Prerequisites
You need:- An Apex API key from the OrbitFlare dashboard under Dashboard > Apex.
- A funded Solana keypair file (the JSON array format written by
solana-keygen), with at least 0.002 SOL to cover the 0.001 SOL tip and network fees. - Any Solana RPC URL for fetching a blockhash and confirming, for example your OrbitFlare RPC endpoint.
Send Your First Transaction
1
Check that the Apex endpoint is reachable
GET /ping needs no key and returns pong:2
Fetch the tip accounts
3
Build, sign, send, and confirm
Each tab is a complete program. It builds a memo transaction with a compute budget and a tip, sends it with JSON-RPC
sendTransaction, and waits for confirmation.cURL cannot sign a transaction, so the cURL tab uses a small Node.js script to build and sign one and print it as base64. Everything after that is plain cURL.sendTransaction returns the transaction’s signature:
Accepted does not mean landed. The signature comes back as soon as the Apex endpoint holds the transaction and starts racing it. Always confirm with
getSignatureStatuses on a Solana RPC, as each example does.Rust Dependencies
The Rust tab uses the QUIC client, which is the fastest path. Add the crate from crates.io:orbitflare_apex::prelude, pinned to the versions the endpoint sends with, so you do not add or version-match any solana-* crate yourself. If you build transactions against your own Solana crates instead, hand the client the serialized bytes with send_transaction_bytes.
See Rust client for the full API.
Go Dependencies
The Go tab uses the QUIC client fromorbitflare-apex-go and builds the transaction with solana-go:
Already Calling sendTransaction?
Apex speaks the standard SolanasendTransaction shape, so moving existing code over is a URL swap plus two changes:
- Point your send calls at
http://<code>.apex.orbitflare.comand add thex-api-keyheader (or?api-key=). - Add the tip instruction to every transaction.
What’s Next?
Sending transactions
Binary HTTP, batches, and QUIC streams.
Tips
The tip rule in full and how the tip is used.
Errors and rate limits
Every rejection code and what to do about it.
Best practices
Warm connections, tip sizing, confirming, and retries.