Saltar al contenido principal
Swap y Bridge
En resumen
La API Swap de Blockradar le permite intercambiar activos en la misma cadena (swap) o transferir activos entre cadenas distintas (bridge) mediante un único endpoint unificado.

Requisitos previos

Antes de utilizar la API Swap, asegúrese de contar con:
1

Clave de API

Obtenga su clave de API desde el Dashboard de Blockradar. Vaya a Developers para generar una.
2

Wallet creada

Cree una wallet desde el dashboard (consulte Crear una Billetera Principal). Necesitará el walletId para las operaciones de swap.
3

IDs de activos

Obtenga el assetId de sus activos de origen y destino desde Assets en el dashboard o mediante la API Get Assets.
4

Saldo suficiente

Asegúrese de que su wallet tenga saldo suficiente del activo de origen para cubrir el monto del swap más las comisiones de red.

Cómo funciona

Blockradar determina automáticamente si su transacción es un swap o un bridge según los activos seleccionados:

Swap

Intercambie distintos activos en la misma blockchain.Ejemplo: USDC → USDT en Base

Bridge

Mueva activos entre blockchains diferentes.Ejemplo: USDC en BSC → USDC en Optimism
No necesita especificar si se trata de un swap o un bridge: la API lo gestiona automáticamente según el fromAssetId y el toAssetId que proporcione.

Activos y cadenas compatibles

La API Swap admite las principales stablecoins en las cadenas compatibles con Blockradar:
La disponibilidad de activos varía según la cadena. Utilice siempre la API Get Assets para obtener la lista actualizada de activos compatibles y sus valores de assetId en las cadenas de destino.
Consulte Integraciones para ver la lista completa de redes y stablecoins compatibles.

Master Wallet vs Child Address

La API Swap está disponible en dos niveles:

Master Wallet

Ejecute swaps directamente desde su master wallet. Ideal para operaciones de tesorería.

Child Address

Ejecute swaps desde child addresses individuales. Perfecto para operaciones específicas de cada usuario.

Endpoints

Paso 1: Obtener una cotización

Solicite siempre una cotización antes de ejecutar un swap para mostrar al usuario el resultado esperado.

Parámetros de la solicitud

Usa amountSide: "source" cuando el usuario ingresa cuánto quiere gastar. Usa amountSide: "target" cuando el usuario ingresa cuánto quiere recibir y necesitas que Blockradar resuelva el monto de origen requerido.

Enrutamiento de destinatarios Stellar

recipientRouting solo se admite cuando la cadena de destino es Stellar. Es un contrato de enrutamiento genérico compartido por todos los endpoints de cotización y ejecución de esta guía. Las solicitudes existentes para EVM, Solana y Tron no se ven afectadas y no cambian: no deben enviar recipientRouting; las solicitudes que lo incluyen se rechazan. recipientAddress sigue siendo una cadena opcional; no la envíe como objeto. No envíe un campo de memo de destinatario separado.

Reglas para destinos Stellar

  1. Destinatario muxed M...: omita recipientRouting. El ID de enrutamiento está incorporado en la dirección muxed, y enviar datos de enrutamiento se rechaza.
  2. Destinatario base G... con ID de enrutamiento: envíe { type: "memo_id", value: "123" }. value debe ser una cadena numérica no vacía entre 0 y 18446744073709551615. Blockradar normaliza la dirección a M... antes de solicitar la cotización o la ejecución.
  3. Destinatario base G... sin ID de enrutamiento: envíe { type: "none" } y no incluya value. Un destinatario G... sin recipientRouting se rechaza. La cuenta base de destino debe tener una trustline de Stellar USDC antes de la cotización o la ejecución.
  4. Wallet Stellar predeterminada de Blockradar: envíe explícitamente { type: "none" } en recipientRouting.

Ejemplos de solicitud

Todos los ejemplos usan la misma estructura de cuerpo en cada uno de estos 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

Migración desde campos específicos de Stellar

Ejemplo de cotización

Respuesta de la cotización

Para un destino muxed, data.recipientRouting puede indicar en su lugar que el ID de enrutamiento está incorporado en la dirección de destino normalizada:
data.recipientRouting es opcional y solo se devuelve en las respuestas de cotización. No espere encontrarlo en las respuestas de ejecución.

Cómo interpretar los campos de la cotización

Muestre siempre como mínimo: monto a recibir, tiempo estimado de llegada y comisiones antes de que el usuario confirme el swap.

Paso 2: Ejecutar el Swap

Una vez que el usuario confirme la cotización, ejecute el swap.

Parámetros de la solicitud

Ejemplo de ejecución

Respuesta de la ejecución

Las operaciones de swap son asíncronas. La respuesta inicial muestra el estado PENDING. Escuche el webhook swap.success o swap.failed para confirmar la finalización.

Tipos de orden

Elija el tipo de orden adecuado según su caso de uso:

Eventos de Webhook

Monitoree la finalización del swap mediante webhooks:

Carga útil del Webhook

Ejemplo de flujo completo

A continuación se muestra una implementación completa con el flujo cotización → confirmación → ejecución:

Respuestas de error

Buenas prácticas

Experiencia de usuario

  • Muestre siempre las cotizaciones: presente monto, comisiones y tiempo estimado antes de ejecutar
  • Gestione el slippage: informe a los usuarios sobre posibles variaciones de precio
  • Muestre el progreso: utilice webhooks para mantener informados a los usuarios sobre el estado del swap

Seguridad

  • Valide los montos: asegúrese de que los montos del swap se encuentren dentro de rangos aceptables
  • Use referencias: rastree los swaps con IDs de referencia únicos
  • Monitoree los webhooks: verifique siempre la finalización del swap mediante webhooks

Rendimiento

  • Cachee los asset IDs: almacene los asset IDs localmente para evitar consultas repetidas
  • Use los tipos de orden adecuados: elija FASTEST para transacciones sensibles al tiempo y CHEAPEST para las sensibles al costo
  • Implemente reintentos: maneje fallos transitorios con retroceso exponencial

Referencia de API

Soporte

La API Swap proporciona una interfaz unificada para swaps en la misma cadena y bridges entre cadenas. Comience con pequeños montos de prueba en testnets antes de pasar a producción.