How a Solana transaction lands
A 0-slot Solana relay. Each transaction takes 5 channels at once and lands in the slot you aimed at.
From signature to slot N
Every transaction takes the same route: one region, every channel, one leader.
1Sign and tip
Add a tip of at least 0.001 SOL to a FastRelay tip wallet, then sign. An API key is optional.
2Dispatch
Send over QUIC, HTTPS or WebSocket to the nearest of 4 regions. QUIC dispatch takes about 0.1ms.
3Broadcast
The region checks the tip, then sends on all 5 channels at once. A missing or low tip is turned away.
4Land
The current leader includes it in the slot you aimed at. 99.8% land in the same slot.
The 5 channels
- 01Stake-Weighted QUIC
- Primary channel — priority delivery across multiple global endpoints.
- 02QUIC TPU
- Direct to the current + next 48 Solana leaders via QUIC.
- 03UDP TPU
- Fire-and-forget UDP straight to leaders.
- 04RPC fan-out
- Parallel sendTransaction to multiple RPC endpoints.
- 05Jito / ROC relayers
- Jito Block Engine and custom relayers.
The mempool waits. FastRelay doesn't.
Same transaction, two routes. One circles with everyone else; the other goes straight to the leader.
Through the public mempool
It waits in line for a leader to pick it up, and often lands a slot late.
Through FastRelay
5 channels reach the current leaders directly, never the public mempool, so it lands in slot N.
Bundles land together or not at all
Up to 5 transactions go straight to the Jito Block Engine, in order, with a Jito tip of at least 1,000 lamports.
Endpoints in 4 regions
One host per region for every transport: QUIC on port 4433, WebSocket, and sendTx over HTTPS or plain HTTP.
NYNew York
- QUIC
ny.fastrelay.sh:4433- HTTPS
https://ny.fastrelay.sh/v1/sendTx - HTTP
http://ny.fastrelay.sh/v1/sendTx - WebSocket
wss://ny.fastrelay.sh/v1/stream/tx
AMSAmsterdam
- QUIC
ams.fastrelay.sh:4433- HTTPS
https://ams.fastrelay.sh/v1/sendTx - HTTP
http://ams.fastrelay.sh/v1/sendTx - WebSocket
wss://ams.fastrelay.sh/v1/stream/tx
FRAFrankfurt
- QUIC
fra.fastrelay.sh:4433- HTTPS
https://fra.fastrelay.sh/v1/sendTx - HTTP
http://fra.fastrelay.sh/v1/sendTx - WebSocket
wss://fra.fastrelay.sh/v1/stream/tx
TYOTokyo
- QUIC
tyo.fastrelay.sh:4433- HTTPS
https://tyo.fastrelay.sh/v1/sendTx - HTTP
http://tyo.fastrelay.sh/v1/sendTx - WebSocket
wss://tyo.fastrelay.sh/v1/stream/tx
Three ways to connect
QUICRecommended
- Latency
- ~0.1ms
- Throughput
- 10,000 tx/s per connection
- Endpoint
- {region}.fastrelay.sh:4433
WebSocket
- Latency
- Persistent, id-correlated
- Throughput
- Streamed — pipeline as many frames as your rate limit allows
- Endpoint
- wss://{region}.fastrelay.sh/v1/stream/tx · /v1/stream/bundle
HTTPS
- Latency
- ~15–25ms
- Throughput
- 1,000 tx/s per connection
- Endpoint
- https:// or http://{region}.fastrelay.sh/v1/sendTx · /v1/sendBundle
Send your first transaction
Working examples from the integration docs. Copy one, add your signed transaction, send.
curl -X POST "https://fra.fastrelay.sh/v1/sendBundle?api-key=YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "txs": ["BASE64_TX_1", "BASE64_TX_2"], "id": "bundle-1" }'
Passing an API key is optional
- Header
- x-api-key: YOUR_API_KEY
- Query parameter
- ?api-key=YOUR_API_KEY
- QUIC stream header line
- api-key: YOUR_API_KEY\n
Relay questions
Is an API key required to use FastRelay?
No. API keys are optional — you can submit transactions without one. Providing a key enables rate tracking, transaction history, and the stake-scaled rate limit on top of the same submission paths.
What happens if my tip is too low?
Transactions with a tip below the 1,000,000 lamports minimum are rejected with the error code tip_insufficient. Transactions with no tip to a FastRelay wallet at all are rejected with tip_missing.
Do Jito bundles skip the public mempool?
Yes. Bundles are submitted directly to the Jito Block Engine's atomic sendBundle path — never split across the TPU/UDP/RPC channels and never broadcast to the public mempool before landing, which is what preserves both MEV protection and all-or-nothing atomicity.
How do staking, tips and rate limits fit together?
One stake drives both. Your per-transaction tip falls from 0.001 SOL toward zero as your active stake grows, and your rate limit rises from 5 to 200 requests per second over the same curve. There are no plans or tiers — GET /api/user/{wallet}/rate returns the current figures for any wallet.
Aim your next transaction here
No signup and no key needed. Tip, sign, send to the nearest region.