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 grillenodejs-monitor— Script de surveillance des prixquantitative-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 1GET /api/v3/depth— Poids 1-50 (selon le paramètre limit)GET /api/v3/account— Poids 10POST /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=1712876400000et nontimestamp="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/24hrpour 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
- 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.
- Excluez les fichiers de clés dans votre .gitignore — Évitez que des robots ne les volent après un déploiement sur GitHub.
- Utilisez la liste blanche d'IP en environnement de production — Autorisez uniquement l'IP de votre serveur.
- 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.
- 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.