Passer au contenu principal
Swap et Bridge
En résumé
L’API Swap de Blockradar vous permet d’échanger des actifs sur la même chaîne (swap) ou de transférer des actifs entre différentes chaînes (bridge) via un endpoint unifié unique.

Prérequis

Avant d’utiliser l’API Swap, assurez-vous de disposer des éléments suivants :
1

Clé d'API

Obtenez votre clé d’API depuis le Dashboard Blockradar. Rendez-vous dans Developers pour en générer une.
2

Wallet créée

Créez une wallet depuis le dashboard (voir Créer un Portefeuille Principal). Vous aurez besoin du walletId pour les opérations de swap.
3

IDs des actifs

Récupérez l’assetId de vos actifs source et destination depuis Assets dans le dashboard ou via l’API Get Assets.
4

Solde suffisant

Vérifiez que votre wallet dispose d’un solde suffisant de l’actif source pour couvrir le montant du swap ainsi que les frais de réseau.

Fonctionnement

Blockradar détermine automatiquement si votre transaction est un swap ou un bridge en fonction de votre sélection d’actifs :

Swap

Échangez différents actifs sur la même blockchain.Exemple : USDC → USDT sur Base

Bridge

Déplacez des actifs entre blockchains différentes.Exemple : USDC sur BSC → USDC sur Optimism
Vous n’avez pas besoin de préciser s’il s’agit d’un swap ou d’un bridge — l’API gère cela automatiquement à partir des fromAssetId et toAssetId que vous fournissez.

Actifs et chaînes pris en charge

L’API Swap prend en charge les principales stablecoins sur les chaînes compatibles avec Blockradar :
La disponibilité des actifs varie selon la chaîne. Utilisez toujours l’API Get Assets pour récupérer la liste actualisée des actifs pris en charge et leurs valeurs assetId pour vos chaînes cibles.
Consultez la rubrique Intégrations pour la liste complète des réseaux et stablecoins pris en charge.

Master Wallet vs Child Address

L’API Swap est disponible à deux niveaux :

Master Wallet

Exécutez des swaps directement depuis votre master wallet. Idéal pour les opérations de trésorerie.

Child Address

Exécutez des swaps depuis des child addresses individuelles. Parfait pour les opérations spécifiques à un utilisateur.

Endpoints

Étape 1 : Obtenir un devis

Demandez toujours un devis avant d’exécuter un swap afin de présenter aux utilisateurs le résultat attendu.

Paramètres de la requête

Utilisez amountSide: "source" lorsque l’utilisateur saisit le montant à dépenser. Utilisez amountSide: "target" lorsque l’utilisateur saisit le montant à recevoir et que Blockradar doit résoudre le montant source requis.

Routage du destinataire Stellar

recipientRouting est pris en charge uniquement lorsque la chaîne de destination est Stellar. Il s’agit d’un contrat de routage générique partagé par tous les endpoints de devis et d’exécution de ce guide. Les requêtes EVM, Solana et Tron existantes ne sont pas affectées et restent inchangées : elles ne doivent pas envoyer recipientRouting ; les requêtes qui l’incluent sont rejetées. recipientAddress reste une chaîne facultative ; ne l’envoyez pas sous forme d’objet. N’envoyez pas de champ de mémo de destinataire distinct.

Règles de destination Stellar

  1. Destinataire muxed M... : omettez recipientRouting. L’identifiant de routage est intégré dans l’adresse muxed, et fournir des données de routage est rejeté.
  2. Destinataire de base G... avec identifiant de routage : envoyez { type: "memo_id", value: "123" }. value doit être une chaîne numérique non vide comprise entre 0 et 18446744073709551615. Blockradar normalise l’adresse en M... avant de demander le devis ou l’exécution.
  3. Destinataire de base G... sans identifiant de routage : envoyez { type: "none" } sans inclure value. Un destinataire G... sans recipientRouting est rejeté. Le compte de base de destination doit avoir une trustline Stellar USDC avant le devis ou l’exécution.
  4. Portefeuille Stellar Blockradar par défaut : envoyez explicitement { type: "none" } dans recipientRouting.

Exemples de requêtes

Tous les exemples utilisent la même structure de corps sur chacun de ces endpoints :
  • POST /v1/wallets/{walletId}/swaps/quote
  • POST /v1/wallets/{walletId}/swaps/execute
  • POST /v1/wallets/{walletId}/addresses/{addressId}/swaps/quote
  • POST /v1/wallets/{walletId}/addresses/{addressId}/swaps/execute
Non-Stellar destination — no routing field
Stellar G... without a routing ID
Stellar G... with a routing ID
Stellar M... recipient — no routing field
Default Blockradar Stellar wallet

Migration depuis les champs spécifiques à Stellar

Exemple de devis

Réponse du devis

Pour une destination muxed, data.recipientRouting peut au contraire indiquer que l’identifiant de routage est intégré dans l’adresse de destination normalisée :
data.recipientRouting est facultatif et n’est renvoyé que par les réponses de devis. Ne vous attendez pas à le trouver dans les réponses d’exécution.

Comprendre les champs du devis

Affichez toujours au minimum : montant à recevoir, temps d’arrivée estimé et frais avant que l’utilisateur ne confirme le swap.

Étape 2 : Exécuter le Swap

Une fois que l’utilisateur a confirmé le devis, exécutez le swap.

Paramètres de la requête

Exemple d’exécution

Réponse de l’exécution

Les opérations de swap sont asynchrones. La réponse initiale indique le statut PENDING. Écoutez le webhook swap.success ou swap.failed pour confirmer la finalisation.

Types d’ordres

Choisissez le type d’ordre adapté à votre cas d’usage :

Événements Webhook

Suivez la finalisation des swaps via les webhooks :

Charge utile du Webhook

Exemple de flux complet

Voici une implémentation complète illustrant le flux devis → confirmation → exécution :

Réponses d’erreur

Bonnes pratiques

Expérience utilisateur

  • Affichez toujours les devis : montrez le montant, les frais et le temps estimé avant l’exécution
  • Gérez le slippage : informez les utilisateurs des variations possibles de prix
  • Affichez la progression : utilisez les webhooks pour informer les utilisateurs du statut du swap

Sécurité

  • Validez les montants : assurez-vous que les montants de swap se situent dans des plages acceptables
  • Utilisez des références : suivez les swaps avec des identifiants de référence uniques
  • Surveillez les webhooks : vérifiez toujours la finalisation du swap via les webhooks

Performance

  • Mettez en cache les asset IDs : stockez les asset IDs localement pour éviter des requêtes répétées
  • Utilisez les types d’ordres appropriés : choisissez FASTEST pour les opérations sensibles au temps et CHEAPEST pour celles sensibles au coût
  • Implémentez des nouvelles tentatives : gérez les défaillances transitoires avec un backoff exponentiel

Référence de l’API

Support

L’API Swap fournit une interface unifiée pour les swaps sur la même chaîne et les bridges entre chaînes. Commencez par de petits montants de test sur les testnets avant de passer en production.