API alojada
Gratis. Llama a
raptor.solanatracker.io sin instalar ni ejecutar nada. Empieza con el inicio rápido de más abajo.Binario autoalojado
Gratis. Descarga Raptor desde GitHub y ejecuta la misma API en tus propios servidores, sin límites.
JIT routing
Una ruta normal elige sus pools al cotizar. Con el routing just-in-time (JIT), la transacción lleva varios pools candidatos y elige los mejores al ejecutarse, con precios en vivo. Ayuda sobre todo en órdenes grandes y en pools que se mueven rápido.
Las cotizaciones que usan JIT incluyen
"jitRouting": true. A tener en cuenta:
minAmountOutse sigue aplicando. Si los precios en vivo no lo alcanzan, la transacción falla en lugar de ejecutarse a peor precio.- JIT funciona con transacciones
V0yV1. Las transaccionesLEGACYno tienen tablas de búsqueda y su límite es de 1,232 bytes, así que las rutas JIT rara vez caben; cotiza conjitRouting=falsesi necesitasLEGACY. - Los swaps JIT no se pueden llamar desde otro programa.
/swap-instructionsdevuelve un swap normal salvo que envíesjitRouting: true. Cuando devuelvetopLevelOnly: true, ponswapInstructional final de la transacción y llámala directamente, no por CPI. Si no, falla conInvalidJitPlan(6026). - JIT está disponible en todos los DEX soportados excepto Heaven, SolFi V1, BisonFi y Quantum.
Inicio rápido
Todos los swaps siguen los mismos cinco pasos. Raptor se encarga del routing; la wallet del usuario solo firma.1
Obtén una cotización
Pide el precio de vender 0.1 SOL (
100000000 lamports) por USDC. No necesitas wallet.amountOut es la cantidad esperada de USDC (6 decimales). minAmountOut es lo mínimo que aceptará el swap.2
Construye la transacción
Envía la cotización sin cambios con la dirección de la wallet del usuario. Hazlo enseguida, porque las cotizaciones caducan a los pocos segundos.La respuesta contiene
swapTransaction, una transacción en base64 sin firmar.3
Firma y envía
Firma
swapTransaction con la wallet y envía la transacción firmada en base64. Raptor la reenvía hasta que se ejecuta o expira.4
Comprueba el resultado
Consulta hasta que
status sea confirmed, failed o expired.Ejemplo completo
Este script cambia 0.1 SOL por USDC desde un keypair local. En una app de navegador, sustituye el paso de firma porsignTransaction de tu wallet adapter.
Endpoints
En una instancia autoalojada, el streaming,
/send-transaction, /transaction/{signature} y /quote-and-swap están desactivados hasta que los actives.
Parámetros más usados
Cantidades
Las cantidades son enteros en la unidad más pequeña del token:amount = tokens × 10^decimals. SOL tiene 9 decimales, así que 1000000000 es 1 SOL. USDC tiene 6, así que 1000000 es 1 USDC. Usa el mint So11111111111111111111111111111111111111112 para SOL; Raptor lo envuelve y desenvuelve por ti.
Slippage
slippageBps define cuánto puede moverse el precio en tu contra como máximo, en puntos básicos: 50 es 0.5%. Pasa dynamic para que Raptor elija un valor según el token y la ruta. Si el precio se mueve más, la transacción falla en lugar de ejecutarse a peor precio. Solo se gasta la comisión de red.
Priority fee
DefinepriorityFee en /swap con un nivel (min, low, medium, auto, high, veryHigh, turbo, unsafeMax) o con una comisión total en lamports como cadena, por ejemplo "50000". El valor por defecto es auto. maxPriorityFee limita el precio de la compute unit en micro-lamports. El campo de respuesta prioritizationFeeLamports indica lo que se incluyó.
Platform fees
Cobra tu propia comisión en los swaps añadiendofeeAccount (una dirección de wallet normal) y feeBps (hasta 1000, es decir, 10%) a /quote. La comisión se mantiene en /swap. Se toma del token de salida salvo que definas feeFromInput=true. minAmountOut ya tiene en cuenta tu comisión. chargeBps cobra una parte adicional solo cuando el usuario recibe más de lo cotizado.
Tips
Añade un tip en SOL a la transacción, por ejemplo a una cuenta de tips de Jito, contipAccount y tipLamports en /swap.
Limita la ruta
En/quote, dexes limita el routing a los DEX que indiques (separados por comas, sin distinguir mayúsculas de minúsculas). raydium coincide con todos los tipos de pool de Raydium y raydium-clmm solo con uno. pools limita el routing a direcciones de pool concretas, maxHops limita la longitud de la ruta (de 1 a 4) y onlyDirectRoutes=true solo permite rutas de un salto.
/quote. /swap construye la ruta que contenga la cotización.
Profundidad de búsqueda
searchMode=deep en /quote busca en más pools y rutas antes de responder. Tarda más y nunca devuelve menos que la búsqueda fast por defecto. Úsalo cuando el mejor precio importe más que la velocidad, por ejemplo en órdenes grandes.
Opciones de transacción
Estas opciones van en/swap, /swap-instructions y /quote-and-swap.
/quote no necesita wallet ni comprueba saldos. Puedes pasar userPublicKey para cotizar para la wallet que hará el swap, pero /swap lo sigue necesitando.
Arbitraje
Cotiza con el mismo mint de entrada y salida, por ejemplo SOL a SOL, y Raptor busca un ciclo a través de varios pools que devuelva más de lo que pusiste.- Si
routePlanno está vacío, Raptor encontró un ciclo.amountOutmenosamountes la ganancia esperada, antes de las comisiones de red y de prioridad. Constrúyelo y envíalo como cualquier otro swap. - Si ningún ciclo es rentable, la respuesta trae
routePlanvacío yamountOutigual aamount. No hay nada que construir.
--enable-arbitrage.
Comisiones de transferencia de Token-2022
Si el token de entrada o de salida cobra una comisión de transferencia de Token-2022, la cotización incluyetokenTransfers. netOutput es lo que llega realmente a la wallet después de las platform fees y las comisiones de transferencia.
WebSocket
Recibe cotizaciones en vivo en lugar de hacer polling. Cada actualización llega cuando cambia la mejor ruta./streamenvía cotizaciones. Úsalo para mostrar precios./stream/swapenvía cotizaciones y una transacción nueva, lista para firmar, parauserPublicKey. Firma la más reciente y envíala conPOST /send-transaction.
{ "type": "unsubscribe", "id": "<id from subscribed>" }. Una conexión admite hasta 50 suscripciones. Todos los mensajes y campos están en la referencia de WebSocket de la barra lateral.
Errores
La mayoría de los errores son JSON,
{ "error": "...", "code": 400 }. Los errores al analizar la solicitud (algunos 400 y 422) son texto plano, así que lee el cuerpo como texto antes de analizarlo.
DEX soportados
Raptor enruta a través de 71 DEX.API alojada o autoalojada
Ambos usan el mismo motor de routing y construyen transacciones para el mismo programa. Consulta Autoalojamiento para instalar el binario.
La antigua Swap API de Solana Tracker en
swap-v2.solanatracker.io es un producto independiente. Sigue activa y cobra una comisión de plataforma en cada swap.
Siguientes pasos
Guía de swaps
Wallets de navegador, construcción solo de instrucciones y swaps por streaming.
Enviar transacciones
Envía transacciones firmadas y lee los resultados del swap.
Autoalojamiento
Descarga el binario desde GitHub y ejecuta Raptor en tus propios servidores.