Submission methods
Three ways to submit transactions through Sender: JSON-RPC, HTTP Plaintext, HTTP Binary.
// updated 2026-06-04
Three ways to submit transactions, picked by latency requirement.
Tradeoff: JSON-RPC is the easiest drop-in (existing Solana clients work unchanged). Plaintext and Binary trim parsing overhead for microsecond-sensitive paths. Pick by how much you care about latency vs simplicity.
| Method | Latency | Body format | Max size |
|---|---|---|---|
| JSON-RPC | Low | JSON | - |
| HTTP Plaintext | Lower | Base64 string | 2,048 bytes |
| HTTP Binary | Lowest | Raw bincode | 1,232 bytes |
All methods require a valid tip in the transaction. Preflight is never run regardless of skipPreflight value.
JSON-RPC
Standard Solana JSON-RPC sendTransaction format. Drop-in replacement for https://api.mainnet-beta.solana.com.
Endpoint: http://YOUR_REGION.landing.fast
curl -sS 'http://fra.landing.fast' \
-H 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"id": 1,
"method": "sendTransaction",
"params": [
"YOUR_BASE64_ENCODED_TX",
{
"encoding": "base64",
"skipPreflight": true
}
]
}'
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "5VBwR4LmgHpVvjqjNqKyL...SIGNATURE"
}
Required params:
encoding: "base64"- required for reliable transmission.skipPreflight: true- documented for compatibility.
HTTP Plaintext
Lower-overhead than JSON-RPC. Body is a single base64 string. Response is a plain bs58-encoded signature.
Endpoint: http://YOUR_REGION.landing.fast/plaintext
curl -sS 'http://fra.landing.fast/plaintext' \
-X POST \
-H 'Content-Type: text/plain' \
--data 'YOUR_BASE64_ENCODED_TX'
- Body: base64-encoded transaction.
- Max size: 2,048 bytes.
- Response: plain-text bs58-encoded signature.
HTTP Binary
Lowest overhead. Body is raw bincode-serialized transaction bytes.
Endpoint: http://YOUR_REGION.landing.fast/binary
curl -sS 'http://fra.landing.fast/binary' \
-X POST \
-H 'Content-Type: application/octet-stream' \
--data-binary @transaction.bin
- Body: raw transaction bytes (bincode serialized, same wire format as Solana SDK).
- Max size: 1,232 bytes.
- Response: plain-text bs58-encoded signature.
Response codes
| Code | Meaning |
|---|---|
200 | Transaction accepted and forwarded |
429 | Rate limited - back off and retry |
500 | Server error - retry with backoff |
A 200 response means forwarded, not landed on-chain. Always verify with RPC getSignatureStatuses.
Constraints
- No preflight - validate locally first.
- No deduplication - submitting the same transaction twice forwards it twice.
- One transaction per request.
See also
First request in 5 minutes.
Minimum tip and tip addresses.
Regional endpoints.