Skip to content
Chapters

Infrastructure

Triton and the infrastructure tooling

What sits beyond the RPC — streams, the historical archive, indexes, transaction landing — and when you need each one.

An RPC answers questions one at a time: "how much does this account hold?", "what happened to this signature?". Nearly everything a project needs in its first month is that. But there are four things an RPC does badly or not at all, and it pays to know their names before reinventing them by hand:

You need Not an RPC The tool
To know the moment an account or program changes Polling getAccountInfo every second A stream (gRPC or WebSocket)
To read the past: every transaction of a wallet, everything your program ever did Iterating blocks backwards A historical archive or an indexer
To query by a field that is not the address (every token of an owner, every market with X) getProgramAccounts with filters, which falls over with size An index
Your transaction to land in the next slot when the network is busy sendTransaction to a shared RPC A landing engine with direct-to-leader forwarding

The Triton One stack

Triton One runs bare-metal RPC for Solana (also Sui and Monad) and maintains Project Yellowstone, the open-source toolset half the ecosystem uses for streams. What they document at docs.triton.one:

Product What it is When you use it
RPC (core features) JSON-RPC with GeoDNS routing, failover and per-key rate limits Day one. It is what you configured on the previous page
Dragon's Mouth (gRPC) gRPC subscriptions via Geyser: accounts, transactions, slots, blocks, with server-side filters A live feed, a bot, your own indexer. The de facto standard: nearly every Solana indexer consumes this
Whirligig (WebSockets) The WebSocket *Subscribe methods, served on top of Dragon's Mouth What createSolanaRpcSubscriptions uses from the browser
Fumarole (reliable streams) gRPC with gap-free reconnect: if your consumer dies, it resumes where it left off When a missed event costs money (payments, liquidations)
Old Faithful (historical archive) The complete ledger from genesis, in an open format you can host yourself Reading the past with no age limit. Superbank is the millisecond-queryable version Triton hosts
Cloudbreak (custom indexes) Indexes created automatically from your query patterns When getProgramAccounts starts timing out
Vixen (parsing framework) A Rust framework for parsing Yellowstone streams into typed structs Writing a serious indexer without decoding bytes by hand
Cascade (transaction handling) A transaction-sending engine isolated from RPC traffic, with direct-to-leader forwarding When "the transaction does not land" during congestion
Riptide (docs) · Shred Streaming (docs) · Preconfirmations (gRPC) Data before the block is confirmed: raw shreds, pre-confirmations Latency trading. Not for a project that is starting

For a project that is starting: RPC + Whirligig cover 90%. Dragon's Mouth when you need a live feed on the server side. The rest, when the problem shows up with a name.

Price. Triton is pay-as-you-go with no free tier: a minimum deposit of US$125 (valid 12 months, every product included) and then US$0.08/GB plus US$10 per million calls. Per-key rate limits are at docs.triton.one/…/rate-tiers. Teams in Superteam Argentina's programmes get a key through the mentors — see the previous page.

The same map at other providers

You need Triton Helius QuickNode Others
RPC RPC RPC RPC FluxRPC, the public RPC (for trying things only)
gRPC stream Dragon's Mouth LaserStream (gRPC) Yellowstone gRPC add-on Any node running the Yellowstone plugin
WebSockets Whirligig Enhanced WebSockets WebSockets
History / assets Old Faithful, Superbank DAS API (getAsset, getAssetsByOwner, cNFTs) DAS add-on Metaplex DAS is the standard everyone implements
Events to your backend Fumarole Webhooks Streams / QuickAlerts
Custom indexes Cloudbreak Substreams, your own indexer with Vixen
Transaction landing Cascade Sender / staked connections Jito (bundles, tips), sendTransaction with a priority fee
Parsing program data Vixen Enhanced Transactions API Codama generates decoders from the IDL

Two things worth knowing when choosing:

  • DAS is a Metaplex standard, not one provider's product. If you use compressed NFTs or want "every asset in this wallet" in one call, you need an RPC that implements it. Not every entry plan includes it: ask first.
  • Yellowstone is open source. Dragon's Mouth, Old Faithful, Vixen and Fumarole are at github.com/rpcpool. If one day you need to run your own node with streams, it is the same plugin the providers use.

Everything else that gets called "infrastructure"

For Tool Note
A multisig for the upgrade authority and the treasury Squads Before mainnet, not after
Private state / confidential compute Arcium MPC; still evolving, read the current status
Ephemeral rollups for games and latency MagicBlock State that lives off-chain and settles on it
State compression (ZK compression) Light Protocol Accounts cheaper by orders of magnitude; API via Helius (Photon)
Signing without holding keys Turnkey, Privy See the wallets page
Gasless Kora See the wallets page
Verifiable builds solana-verifiable-build So the deployed binary is the one in the repo