Capitalisation boursière: $2.3371T -0.41%
Volume(24h): $84.6201B 1.26%
Indice de peur et de cupidité:

13 - Peur extrême

  • Capitalisation boursière: $2.3371T -0.41%
  • Volume(24h): $84.6201B 1.26%
  • Indice de peur et de cupidité:
  • Capitalisation boursière: $2.3371T -0.41%
Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos
Top Cryptospedia

Choisir la langue

Choisir la langue

Sélectionnez la devise

Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos

Comment utiliser l'API Coinbase Advanced Trade ? (Développement de robots)

Securely set up Coinbase API keys with trade/view/transfer scopes, sign requests with HMAC-SHA256, manage orders via REST/WebSocket, handle errors with backoff, and respect rate limits.

Feb 18, 2026 at 07:59 am

Authentification et configuration de la clé API

1. Accédez au tableau de bord Coinbase Advanced Trade et sélectionnez Paramètres API dans le menu utilisateur.

2. Cliquez sur Créer une clé API et choisissez soigneusement les autorisations : les étendues d'échange , d'affichage et de transfert sont essentielles à la fonctionnalité du bot.

3. Attribuez un nom descriptif, limitez les adresses IP en cas d'exécution à partir d'un serveur fixe et confirmez la création.

4. Stockez la clé API, le secret et la phrase secrète dans un système de variables d'environnement chiffré. Ne les codez jamais en dur dans les fichiers source.

5. Vérifiez la génération de signature en créant un message horodaté avec la méthode HTTP, le chemin de la requête et le corps, puis en le signant avec HMAC-SHA256 à l'aide du secret.

Gestion du cycle de vie des commandes

1. Soumettez les ordres limités via POST /api/v3/brokerage/orders , en spécifiant product_id (par exemple, BTC-USD), côté (achat/vente), client_order_id et taille.

2. Utilisez les valeurs time_in_force comme GTC ou GTT pour contrôler la durée de la commande ; les robots s'appuient souvent sur GTT avec une expiration de 60 secondes pour éviter les placements obsolètes.

3. Annulez les commandes en attente avec DELETE /api/v3/brokerage/orders/{order_id} ou annulez par lots en utilisant DELETE /api/v3/brokerage/orders avec des filtres.

4. Sondez GET /api/v3/brokerage/orders/historical avec pagination pour rapprocher les remplissages exécutés avec l'état local.

5. Analysez rigoureusement les champs d'état : open , done , rejeté et en attente nécessitent des chemins de traitement distincts dans la logique d'exécution.

Intégration des données de marché en temps réel

1. Connectez-vous au flux WebSocket à l' adresse wss://ws-feed.exchange.coinbase.com pour vous abonner aux canaux de niveau 2 ou de ticker pour des mises à jour des offres/demandes en temps réel.

2. Envoyez un message d'abonnement JSON contenant les product_ids , les canaux et la signature dérivés des mêmes informations d'identification que celles utilisées pour les appels REST.

3. Conservez des numéros de séquence par canal pour détecter les messages manqués : abandonnez et réabonnez-vous si les écarts dépassent les seuils de tolérance.

4. Normalisez les champs de prix et de taille entrants en types décimaux avant de calculer les mesures de spread, de profondeur ou de volatilité.

5. Utilisez des messages de battement de cœur pour valider l'activité de la connexion et déclencher une logique de reconnexion lorsque les intervalles dépassent 30 secondes.

Gestion des erreurs et limitation du débit

1. Inspectez les codes d'état HTTP : 429 signale l'épuisement de la limite de débit : respectez les en-têtes Retry-After et implémentez une interruption exponentielle.

2. Traitez 401 comme une invalidation des informations d'identification ; faites pivoter les clés si elles sont répétées sans modifications locales.

3. Mappez 400 réponses à des échecs de validation spécifiques (champs manquants, product_id non valide ou horodatages mal formés) et enregistrez les codes d'erreur exacts comme invalid_client_order_id .

4. Capturer les erreurs de la série 500 en tant que problèmes d'infrastructure transitoires ; mettre en file d'attente les demandes ayant échoué pour une relecture ultérieure avec des clés d'idempotence.

5. Enregistrez tous les ID de demande renvoyés dans les en-têtes X-Request-ID pour corréler les journaux avec les tickets d'assistance Coinbase lors de la résolution des incidents.

Foire aux questions

Q : Puis-je utiliser la même clé API pour les environnements sandbox et de production ? Non. Le bac à sable et la production nécessitent la création de clés API distinctes, chacune avec sa propre URL de base, ses informations d'identification et sa portée d'autorisation.

Q : Coinbase Advanced Trade prend-il en charge les ordres stop-limit via l'API ? Oui. Utilisez les paramètres stop et stop_price dans la charge utile de la commande avec order_type défini sur stop_limit .

Q : Comment puis-je vérifier que la signature de mon bot correspond aux attentes de Coinbase ? Reproduisez la signature étape par étape : concaténez l'horodatage + la méthode + le chemin_demande + le corps, puis calculez HMAC-SHA256 avec votre secret décodé en base64. Comparez la sortie à la valeur d’en-tête CB-ACCESS-SIGN .

Q : Existe-t-il des restrictions quant à la fréquence à laquelle je peux interroger les points de terminaison des commandes historiques ? Oui. Le point de terminaison /historical applique des limites de débit plus strictes que les points de terminaison de commande standard : généralement 30 requêtes par minute et par clé API.

Clause de non-responsabilité:info@kdj.com

Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!

Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.

Connaissances connexes

Voir tous les articles

User not found or password invalid

Your input is correct