raptor.solanatracker.io.
- Actualmente gratis. No se cobra por el binario ni hace falta API key o clave de licencia. Descárgalo y ejecútalo.
- Sin límites. Ejecuta todas las instancias que quieras y atiende tantas solicitudes como admita tu hardware.
- Puedes revenderlo. Pon tu propia API delante, cobra por el acceso o añade tu propia platform fee.
Descargar desde GitHub
Informar de un problema
Qué hace el binario
De entrada, el binario sirve cotizaciones y construye transacciones de swap. Otras cuatro funciones están desactivadas hasta que las actives.404.
Raptor mantiene al día el estado de los pools con las actualizaciones de cuentas que recibe de Yellowstone gRPC, así que usa muy poco RPC después del arranque.
Requisitos
- Un servidor Linux o macOS.
- Linux: x86-64 con glibc 2.30 o posterior, como Ubuntu 20.04+, Debian 11+ o RHEL 9+.
- macOS: Apple Silicon o Intel.
- Un endpoint RPC de Solana, definido como
RPC_URL. - Un endpoint gRPC de Yellowstone, definido como
YELLOWSTONE_ENDPOINT, másYELLOWSTONE_TOKENsi tu proveedor lo requiere. Raptor no arranca sin él. - Un directorio con permisos de escritura para la caché de pools. Por defecto es
.r_cache, junto al binario. DefineRAPTOR_POOL_DATA_DIRpara usar otro directorio. - HTTPS saliente. Al arrancar, Raptor descarga el índice actual de pools desde Solana Tracker y luego lo mantiene al día con Yellowstone.
Instalación
Elige el archivo para tu servidor
raptor-<version>-<platform>.zip.Descárgalo y verifícalo
checksums.txt publicado.raptor-<version>-<platform>.zip: OK. Si imprime otra cosa, borra el zip y vuelve a descargarlo.Deja raptor.sig en el mismo directorio que raptor. El binario lo usa para comprobar que no se ha modificado.Comprueba que se ejecuta
xattr -d com.apple.quarantine raptor.Ejecución
Define tus endpoints e inicia el servidor.0.0.0.0:8080. Define BIND_ADDR para cambiarlo, por ejemplo BIND_ADDR=127.0.0.1:9000.
Para activar todas las funciones opcionales excepto el arbitraje:
Espera a que esté listo
Raptor indexa los pools antes de poder enrutar. Hasta que termina,/quote devuelve 503 con Server warming up. /ready devuelve 200 cuando Raptor ya puede servir cotizaciones, y 503 antes de eso:
/health devuelve OK en cuanto el servidor arranca, aunque siga indexando. Apunta los health checks del balanceador de carga a /ready para que cada instancia reciba tráfico solo cuando ya pueda cotizar.
Haz tu primera cotización
https://raptor.solanatracker.io por la dirección de tu servidor.
Funciones opcionales
Cada flag también tiene una variable de entorno. En las variables de activación,1, true, yes y on activan la función.
Streaming por WebSocket
ws://your-server:8080/stream para recibir cotizaciones en vivo, o a /stream/swap para recibir cotizaciones con una transacción lista para firmar. Raptor envía una actualización cada vez que cambia la mejor ruta, así que los clientes no necesitan hacer polling. Consulta WebSocket para ver el formato de los mensajes.
Enviar y seguir transacciones
POST /send-transaction y GET /transaction/{signature}. Raptor envía las transacciones firmadas directamente a los próximos líderes de bloque por QUIC mediante Yellowstone Jet y las reenvía hasta que se ejecutan o expiran. Consulta Enviar y seguir transacciones para ver los formatos de solicitud y respuesta.
Cotizar y hacer swap en una sola llamada
POST /quote-and-swap, que cotiza y construye la transacción en una sola solicitud. Ahorra un viaje de ida y vuelta a los bots y backends que no necesitan mostrar antes la cotización. Consulta Cotización y swap en una sola solicitud.
Arbitraje
/quote acepte el mismo mint como entrada y salida, por ejemplo SOL a SOL. Raptor busca entonces un ciclo a través de varios pools que devuelva más de lo que pusiste, como se describe en Arbitraje.
Sin este flag, las cotizaciones con el mismo mint devuelven 400 con Circular arbitrage is disabled.
Limita lo que enruta Raptor
Por defecto, Raptor enruta por todos los DEX y pools soportados. Estos filtros lo limitan para toda la instancia. Los filtros de DEX también reducen lo que Raptor recibe de Yellowstone, lo que ahorra memoria y ancho de banda. Quien llama a la API puede limitar más el routing en cada solicitud condexes y pools.
raydium-clmm, raydium_clmm y "Raydium CLMM" se refieren al mismo DEX. raydium y meteora coinciden con todos los tipos de pool de ese DEX, y orca coincide con Whirlpool. Define una lista de inclusión o una de exclusión, no ambas. Si defines las dos, gana la de inclusión.
# inicia un comentario. Si combinas filtros, un pool debe pasarlos todos.
Ejecuta varias instancias
Cada instancia funciona de forma independiente con su propio stream de Yellowstone, así que puedes poner todas las que necesites detrás de un balanceador de carga. Cada cotización lleva unquoteId firmado. Por defecto, /swap solo acepta cotizaciones creadas por la misma instancia. Si tu balanceador de carga puede enviar el /quote y el /swap de un cliente a instancias distintas, configura el mismo secreto en todas:
openssl rand -hex 32 y mantenlo en privado.
Memoria y rendimiento
--low-memory en servidores pequeños. Launchpads como Pump.fun tienen millones de pools de bonding curve, y el modo de poca memoria los mantiene en disco.
Opciones de arranque
Ejecútalo como servicio
- systemd
- Docker
raptor y raptor.sig en /opt/raptor y luego crea /etc/systemd/system/raptor.service:/opt/raptor/raptor.env, con un NAME=value por línea:Actualización
Descarga la nueva versión de la misma forma, reemplazaraptor y raptor.sig, y reinicia. Conserva el directorio de la caché de pools entre versiones. Las notas de la versión están en GitHub y en Cambios recientes.
Para actualizar varias instancias sin tiempo de inactividad, configura en todas el mismo RAPTOR_QUOTE_SECRET y reinícialas de una en una. Cada instancia vuelve al balanceador de carga en cuanto /ready devuelve 200.
Referencia de configuración
Los flags aceptan su valor de las dos formas:--workers 8 o --workers=8.
Solución de problemas
Raptor se cierra con “RPC_URL environment variable is required”
Raptor se cierra con “RPC_URL environment variable is required”
RPC_URL y YELLOWSTONE_ENDPOINT en el entorno donde se ejecuta Raptor. Con systemd, ponlos en el EnvironmentFile, porque las variables exportadas en tu shell no llegan al servicio./quote devuelve 503 “Server warming up”
/quote devuelve 503 “Server warming up”
/ready devuelva 200. Si nunca lo hace, revisa los logs en busca de errores de conexión con Yellowstone y comprueba que el servidor pueda hacer solicitudes HTTPS salientes./stream, /send-transaction o /quote-and-swap devuelve 404
/stream, /send-transaction o /quote-and-swap devuelve 404
--enable-websocket, --enable-yellowstone-jet o --enable-quote-and-swap./swap rechaza una cotización creada por otra instancia
/swap rechaza una cotización creada por otra instancia
RAPTOR_QUOTE_SECRET en todas las instancias o envía el /quote y el /swap de cada cliente a la misma instancia.Linux indica “GLIBC_2.30 not found”
Linux indica “GLIBC_2.30 not found”
Mi proveedor de RPC limita la tasa de Raptor
Mi proveedor de RPC limita la tasa de Raptor
--rpc-rate-limit por debajo de las solicitudes por segundo de tu plan. Raptor hace la mayoría de sus llamadas RPC al arrancar y luego lee principalmente de Yellowstone.Preguntas frecuentes
¿El binario necesita una API key o una licencia?
¿El binario necesita una API key o una licencia?
¿Puedo revender el acceso a mi instancia?
¿Puedo revender el acceso a mi instancia?
feeAccount y feeBps.¿Es una alternativa al binario de Metis?
¿Es una alternativa al binario de Metis?
¿El código fuente está disponible?
¿El código fuente está disponible?
¿Los swaps de mi instancia usan el mismo programa on-chain?
¿Los swaps de mi instancia usan el mismo programa on-chain?
RaptorD5ojtsqDDtJeRsunPLg6GvLYNnwKJWxYE4m87.