Intégration API

Comment demander une API Binance ? Comment générer généralement les signatures de clés

Processus complet de demande de clé API Binance : de la réussite du KYC à la création de la clé, en passant par la configuration de la liste blanche d'IP et la génération de la signature HMAC-SHA256, accompagné d'exemples de code en Python et Node.js.

Le processus de demande d'API Binance se décompose en plusieurs étapes clés : effectuer la vérification KYC L2, accéder à la page de gestion de l'API sur le Site officiel de Binance, créer la clé, configurer la liste blanche d'IP et utiliser le HMAC-SHA256 pour signer les paramètres lors des appels dans votre code. L'ensemble du processus prend environ 15 minutes. Une fois créée, la clé est immédiatement utilisable, gratuite et sans frais mensuels. Si vous n'avez pas encore installé l'application mobile Binance pour gérer plus facilement la validation 2FA, vous pouvez utiliser l' App officielle de Binance pour installer la version Android ; les utilisateurs d'iPhone peuvent consulter le tutoriel d'installation iOS. Cet article explique en quatre parties la demande, la signature, la gestion des erreurs et la stratégie de limitation de fréquence, avec des exemples de code complets en Python et Node.js.

I. Conditions préalables à la demande de clé API

1. Effectuer la vérification d'identité KYC L2

L'API Binance exige que le compte ait au moins effectué la vérification d'identité intermédiaire L2 (soumission d'une pièce d'identité + reconnaissance faciale). Les comptes disposant d'une vérification de base L1 ne peuvent pas créer de clés API. La vérification L2 est généralement approuvée sous 24 heures.

2. Activer le 2FA (Obligatoire)

La création d'une clé API nécessite une confirmation par code de vérification 2FA. Si vous n'avez pas encore lié de compte, rendez-vous d'abord dans Centre de sécurité → Authentification à deux facteurs → Google Authenticator pour effectuer la liaison.

3. Le dépôt ou la détention de fonds ne sont pas obligatoires

Il est possible de créer une clé API même avec un solde nul, ce qui permet de préparer la clé avant d'effectuer un dépôt.

II. Création de la clé API (5 étapes)

Étape 1 : Accéder à la page de gestion de l'API

Connectez-vous au Site officiel de Binance → Cliquez sur l'icône de profil en haut à droite → Gestion de l'API. L'URL directe est binance.com/fr/my/settings/api-management.

Étape 2 : Choisir le type de clé

Binance propose deux types de clés API :

Type Utilisation Scénario recommandé
System generated Paire de clés générée automatiquement par le système Choix de 90 % des utilisateurs, simple et stable
Self-generated Vous fournissez votre clé publique Ed25519 Utilisateurs avancés, la clé ne quitte jamais la machine locale

Les débutants peuvent opter pour System generated.

Étape 3 : Saisir l'étiquette de la clé

Donnez un nom (étiquette) à votre clé pour faciliter sa gestion ultérieure. Par exemple :

  • python-grid-bot — Robot de trading sur grille
  • nodejs-monitor — Script de surveillance des prix
  • quantitative-strategy-v2 — Stratégie quantitative v2

L'étiquette n'est visible que par vous et n'influence pas le comportement de l'API.

Étape 4 : Passer la vérification 2FA

Saisissez :

  • Le code de vérification à 6 chiffres envoyé par e-mail.
  • Le code de vérification à 6 chiffres reçu par SMS.
  • Le code dynamique à 6 chiffres de Google Authenticator.

Une fois les trois codes corrects, la clé est générée.

Étape 5 : Sauvegarder la Secret Key (Crucial)

La page de la clé affichera :

  • API Key : Toujours visible, vous pouvez revenir la consulter à tout moment.
  • Secret Key : S'affiche uniquement cette fois-ci. Une fois la page fermée, elle ne sera plus visible.

Vous devez immédiatement copier la Secret Key dans un endroit sûr en local (gestionnaire de mots de passe ou notes chiffrées), sinon vous devrez supprimer et recréer la clé.

III. Configuration des permissions de la clé et de la liste blanche d'IP

Après la création, toutes les permissions sont désactivées par défaut. Vous devez les activer manuellement :

Options de permission

Permission Utilisation Niveau de risque
Activer la lecture Consulter le solde, les ordres, le marché Faible
Activer le trading Spot et sur marge Passer des ordres au comptant / sur marge Moyen
Activer les contrats à terme Passer des ordres sur les Futures Élevé
Activer les retraits Retirer des fonds (nécessite obligatoirement la liste blanche d'IP) Très élevé
Permettre les transferts universels Transferts entre différents comptes de fonds Moyen

Conseil de sécurité : Activez uniquement les permissions dont vous avez besoin. Pour consulter les données du marché, cochez uniquement Activer la lecture ; pour le trading au comptant algorithmique, cochez Activer la lecture + Activer le trading Spot et sur marge. N'activez jamais la permission de retrait sans nécessité absolue.

Liste blanche d'IP (Fortement recommandée)

Sur la page de configuration de la clé, saisissez les adresses IP des serveurs autorisés à utiliser cette clé (jusqu'à 30). Une fois configurée, seules les requêtes provenant de ces IP pourront utiliser cette clé pour opérer sur le compte.

Si votre serveur a une IP dynamique (connexion résidentielle), vous pouvez choisir Sans restriction (moins sécurisé), mais les permissions seront automatiquement dégradées — l'option « Activer les retraits » ne peut pas être activée sur une clé sans restriction d'IP, c'est une règle de sécurité impérative de Binance.

IV. Générer la signature et appeler l'API

Dans l'API REST de Binance, toutes les requêtes impliquant des opérations sur le compte doivent être signées. L'algorithme de signature utilisé est le HMAC-SHA256.

Règles de signature

Contenu de la signature = Tous les paramètres de la requête concaténés avec & après encodage URL.

Par exemple, pour l'interface de consultation du solde du compte :

GET /api/v3/account
Paramètre : timestamp=1712876400000

Contenu de la signature : timestamp=1712876400000
Signature : HMAC_SHA256(secret_key, "timestamp=1712876400000")

Requête finale :

GET /api/v3/account?timestamp=1712876400000&signature=<signature calculée>
Header : X-MBX-APIKEY : <votre API Key>

Exemple complet en Python

import hmac, hashlib, time, requests

API_KEY = "Votre API Key"
SECRET_KEY = "Votre Secret Key"
BASE_URL = "https://api.binance.com"

def sign(params: dict) -> str:
    query = "&".join([f"{k}={v}" for k, v in params.items()])
    return hmac.new(SECRET_KEY.encode(), query.encode(), hashlib.sha256).hexdigest()

def get_account():
    params = {"timestamp": int(time.time() * 1000)}
    params["signature"] = sign(params)
    headers = {"X-MBX-APIKEY": API_KEY}
    r = requests.get(f"{BASE_URL}/api/v3/account", params=params, headers=headers)
    return r.json()

print(get_account())

Exemple complet en Node.js

const crypto = require('crypto');
const axios = require('axios');

const API_KEY = 'Votre API Key';
const SECRET_KEY = 'Votre Secret Key';
const BASE_URL = 'https://api.binance.com';

function sign(params) {
  const query = Object.keys(params).map(k => `${k}=${params[k]}`).join('&');
  return crypto.createHmac('sha256', SECRET_KEY).update(query).digest('hex');
}

async function getAccount() {
  const params = { timestamp: Date.now() };
  params.signature = sign(params);
  const r = await axios.get(`${BASE_URL}/api/v3/account`, {
    params,
    headers: { 'X-MBX-APIKEY': API_KEY }
  });
  return r.data;
}

getAccount().then(console.log);

V. Limitation de fréquence et poids

L'API Binance utilise le poids (Weight) pour contrôler la fréquence des appels :

Élément de limitation Valeur par défaut
Limite de poids par minute 6000
Limite d'ordres par 10 secondes 100 ordres
Limite d'ordres par jour 200 000 ordres
Max abonnements par connexion WebSocket 1024
Max connexions WebSocket par IP 300

Poids des interfaces courantes :

  • GET /api/v3/ticker/price — Poids 1
  • GET /api/v3/depth — Poids 1-50 (selon le paramètre limit)
  • GET /api/v3/account — Poids 10
  • POST /api/v3/order — Poids 1 (mais occupe la fréquence de passage d'ordre)

Les en-têtes de réponse renvoient le poids actuel :

  • X-MBX-USED-WEIGHT-1m : Poids utilisé dans la minute en cours.
  • X-MBX-ORDER-COUNT-10s : Nombre d'ordres passés dans les 10 secondes en cours.

Le dépassement du poids renvoie une erreur 429 Too Many Requests. Les infractions graves renvoient une erreur 418 et entraînent un bannissement temporaire de l'IP (de 2 minutes à 3 jours).

VI. Erreurs courantes et gestion

Erreur : -1022 Signature for this request is not valid

Cause : Erreur de signature. La cause la plus fréquente est une incohérence dans l'ordre des paramètres ou une mauvaise méthode d'encodage URL. Gestion :

  • Assurez-vous que la chaîne utilisée pour la signature est strictement identique à la chaîne de requête envoyée.
  • Ne mettez pas de guillemets pour les paramètres numériques (ex: timestamp=1712876400000 et non timestamp="1712876400000").
  • Effectuez un encodage URL correct pour les caractères spéciaux.

Erreur : -1021 Timestamp for this request was 1000ms ahead of the server's time

Cause : Écart de plus d'une seconde entre l'heure locale et l'heure du serveur Binance. Gestion :

  • Synchronisez l'heure de votre système local (NTP).
  • Ou ajoutez le paramètre recvWindow=10000 à la requête pour augmenter la tolérance à 10 secondes.

Erreur : -2014 API-key format invalid

Cause : Chaîne de clé incorrecte. Gestion : Vérifiez s'il y a des espaces ou des retours à la ligne lors de la copie ; la clé doit comporter 64 caractères alphanumériques.

Erreur : -1003 Too many requests; current limit is X requests per minute

Cause : Dépassement de la limite de poids. Gestion :

  • Réduisez la fréquence d'appel ou regroupez les requêtes (ex: utilisez /api/v3/ticker/24hr pour obtenir toutes les paires en une fois).
  • Passez aux WebSockets pour recevoir les données en temps réel et réduire les appels REST.
  • Attendez une minute avant de réessayer.

VII. Bonnes pratiques de sécurité de l'API

  1. N'exposez jamais la Secret Key dans le code front-end — Le front-end peut appeler votre propre back-end, qui appelle ensuite l'API Binance.
  2. Excluez les fichiers de clés dans votre .gitignore — Évitez que des robots ne les volent après un déploiement sur GitHub.
  3. Utilisez la liste blanche d'IP en environnement de production — Autorisez uniquement l'IP de votre serveur.
  4. Effectuez une rotation régulière des clés — Supprimez manuellement les anciennes clés et recréez-en de nouvelles tous les 6 mois.
  5. Surveillez les appels anormaux — Consultez quotidiennement les statistiques d'appel sur la page de gestion de l'API et désactivez immédiatement toute clé suspecte.

Questions fréquemment posées (FAQ)

Q1 : La clé API est-elle gratuite ?

R : Totalement gratuite. Binance ne facture pas les appels API (seuls les frais de transaction s'appliquent lors de l'exécution réelle des ordres), et la création d'une clé ne nécessite aucun dépôt. Toutefois, chaque compte est limité à 30 clés API ; pour en créer une nouvelle au-delà, il faut en supprimer une ancienne.

Q2 : Les frais de transaction sont-ils moins élevés via API ?

R : Pas automatiquement. Les frais dépendent uniquement de votre niveau VIP et de la quantité de BNB détenus, que l'ordre soit passé manuellement ou via API. Cependant, l'API est idéale pour le trading à haute fréquence, permettant de bénéficier de prix d'exécution plus précis.

Q3 : Est-il possible de simuler des transactions dans un environnement de test ?

R : Oui. Binance propose le Spot Testnet et le Futures Testnet, où vous pouvez obtenir gratuitement des jetons de test pour vous entraîner aux appels API sans affecter votre compte réel.

Q4 : Est-il préférable d'utiliser une bibliothèque tierce comme ccxt ou d'appeler directement l'API ?

R : Cela dépend du contexte. ccxt convient aux projets devant supporter plusieurs plateformes d'échange, car elle gère déjà la signature et la conversion des paramètres. L'appel direct de l'API est préférable pour les projets n'utilisant que Binance et sensibles à la performance (une couche d'abstraction en moins, débogage plus direct). Il est recommandé aux débutants de commencer par ccxt, puis de décider s'ils souhaitent passer à l'appel natif.

Q5 : Que faire si ma clé API est volée ?

R : Supprimez immédiatement cette clé dans la section Gestion de l'API sur le Site officiel de Binance (l'action est effective en quelques secondes). Vérifiez ensuite vos dernières transactions et retraits, et contactez le service client en cas d'anomalie. Si la permission de retrait n'était pas activée, l'attaquant ne pourra que passer des ordres sans pouvoir retirer les fonds, limitant ainsi la perte potentielle d'actifs. Pour plus de détails sur la gestion des risques liés au compte, consultez la catégorie [Contrôle des Risques](/fr/vault/Contrôle des Risques/).

Besoin de savoir comment gérer le contrôle des risques sur votre compte ? Revenez à la Navigation par catégorie et choisissez la catégorie « Contrôle des Risques » pour consulter la procédure complète.

Continuer la navigation

Vous avez encore des questions sur l'utilisation de Binance ? Retournez à la page de catégorie pour trouver d'autres tutoriels sur le même sujet.

Navigation par catégorie

Tutoriels connexes

Comment utiliser l'API Binance Spot ? Code prêt à l'emploi de zéro à votre premier ordre 2026-04-14 Quelles sont les différences entre l'API Binance Futures et l'API Spot ? Comparaison des endpoints, paramètres et poids 2026-04-14 L'API Binance peut-elle bloquer mon IP ? Explication détaillée de la stratégie de limitation de débit et du calcul du poids 2026-04-14 Comment s'abonner aux flux de marché via WebSocket Binance ? Code de niveau production 2026-04-14