Skip to content

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.

Five-channel approach onto slot NAn approach plate for one signed transaction. It leaves on 5 broadcast paths at once (Stake-Weighted QUIC, QUIC TPU, UDP TPU, RPC fan-out, Jito / ROC relayers) and all of them converge on the same runway, slot N. The profile view below shows the descent from dispatch to touchdown.FASTRELAY5 CHANNELS0102030405SIGNED TXNSLOT NLANDED01STAKE-WEIGHTED QUIC02QUIC TPU03UDP TPU04RPC FAN-OUT05JITO / ROC RELAYERS
One transaction, 5 paths, one slot. Stake-Weighted QUIC leads; the other four arrive with it.

From signature to slot N

Every transaction takes the same route: one region, every channel, one leader.

The broadcast pipelineA signed transaction carrying a tip of at least 0.001 SOL reaches the nearest FastRelay region over QUIC. A transaction without a valid tip is turned away there. The rest is broadcast on 5 channels at once and lands with the leader for slot N.1234SIGNED TXTIP 0.001 SOL MINQUIC ~0.1MSTURNED AWAY0102030405REGIONNSLOT NLEADER
A signed transaction carrying a tip of at least 0.001 SOL reaches the nearest FastRelay region over QUIC. A transaction without a valid tip is turned away there. The rest is broadcast on 5 channels at once and lands with the leader for slot N.
  1. 1Sign and tip

    Add a tip of at least 0.001 SOL to a FastRelay tip wallet, then sign. An API key is optional.

  2. 2Dispatch

    Send over QUIC, HTTPS or WebSocket to the nearest of 4 regions. QUIC dispatch takes about 0.1ms.

  3. 3Broadcast

    The region checks the tip, then sends on all 5 channels at once. A missing or low tip is turned away.

  4. 4Land

    The current leader includes it in the slot you aimed at. 99.8% land in the same slot.

The 5 channels

Stake-Weighted QUIC
Primary channel — priority delivery across multiple global endpoints.
QUIC TPU
Direct to the current + next 48 Solana leaders via QUIC.
UDP TPU
Fire-and-forget UDP straight to leaders.
RPC fan-out
Parallel sendTransaction to multiple RPC endpoints.
Jito / 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 mempoolA transaction sent through the public mempool enters a holding pattern with other traffic, waits for a leader to pick it up, and lands one slot late on N+1.PUBLIC MEMPOOLwaiting for a leaderN+1SLOT N+1ONE SLOT LATE

Through the public mempool

It waits in line for a leader to pick it up, and often lands a slot late.

Through FastRelayA transaction sent through FastRelay takes 5 direct paths to the current leaders at once, never enters the public mempool, and lands on slot N.SIGNED TXNSLOT NLANDED

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.

Read the bundles guide

A bundle that landsA bundle of 5 transactions flies as one formation and touches down on slot N together, in order.5 TRANSACTIONSone bundleNSLOT NALL 5 LANDED
A bundle that doesn'tIf any one of the 5 transactions in a bundle would fail, none of them land: the whole formation goes around and nothing reaches slot N.GO AROUNDONE FAILSnone of them landNSLOT NNOTHING LANDS

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 · sendBundle
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.