> For the complete documentation index, see [llms.txt](https://docs.triton.one/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.triton.one/solana/decision-tree.md).

# Choose a Solana product

Choose a Solana product by workload: sendTransaction (Jet), Dragon's Mouth gRPC, WebSocket, Fumarole, Cloudbreak, Superbank, Titan Swap API, and DAS.

## Transaction submission

| I need…                                                                                           | Use                                                                                             | Page                                                                       |
| ------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| To send from any Solana SDK with the standard JSON-RPC method                                     | **`sendTransaction`** on your Triton endpoint, routed through the Jet sending engine on mainnet | [Sending transactions](/solana/sending-transactions.md)                    |
| Lower send latency without an RPC client library, for example from a browser or an HFT backend    | **`/sendtx`**, a direct HTTP POST that skips the JSON-RPC envelope and always skips preflight   | [Sending transactions](/solana/sending-transactions.md)                    |
| Full client-side control and lower latency, for bots or custom routers                            | The open-source **Jet TPU client**, a Rust crate you self-host                                  | [Sending transactions](/solana/sending-transactions.md)                    |
| A priority fee based on the market rate instead of the minimum                                    | **`getRecentPrioritizationFees`** with Triton's `percentile` parameter                          | [Priority fees API](/solana/sending-transactions/priority-fees-api.md)     |
| To keep your transactions away from validators you don't trust, such as those running harmful MEV | **Shield**: attach an on-chain allowlist or blocklist policy to your send                       | [Shield Protection](/solana/sending-transactions/shield-mev-protection.md) |

## Streaming

| I need…                                                                                      | Use                                                                                                                                                  | Page                                                                                   |
| -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| Live account, transaction, slot, and block updates in a backend, at `processed` commitment   | **Dragon's Mouth gRPC** (Yellowstone gRPC)                                                                                                           | [Dragon's Mouth gRPC](/solana/real-time-streaming/dragon-s-mouth-grpc.md)              |
| A lower-latency path for Dragon's Mouth on shared mainnet subscriptions                      | **Riptide** at `riptide.rpcpool.com`: same streams, protocol, and SDK support                                                                        | [Riptide](/solana/real-time-streaming/riptide.md)                                      |
| Transactions before the node executes them                                                   | **Deshred Transactions gRPC**. It carries no execution results or confirmation                                                                       | [Deshred Transactions gRPC](/solana/real-time-streaming/deshred-transactions.md)       |
| Raw shreds before a block is assembled, decoded by your own software                         | **Shred Streaming**, available on request                                                                                                            | [Shred Streaming](/solana/real-time-streaming/shred-streaming.md)                      |
| Transactions the moment the block producer executes or commits them, before any shred exists | **Preconfirmations gRPC**, from the Harmonic and BAM block production systems, for slots led by validators running those clients. Enabled on request | [Preconfirmations gRPC](/solana/real-time-streaming/preconfirmations-grpc.md)          |
| Live updates in a browser, or through a Solana WebSocket client                              | **WebSocket**, including `transactionSubscribe`                                                                                                      | [WebSocket](/solana/real-time-streaming/whirligig-websockets.md)                       |
| A pipeline that resumes where it left off after a disconnect                                 | **Fumarole Persistent gRPC**, with 4 days of rolling retention                                                                                       | [Fumarole Persistent gRPC](/solana/real-time-streaming/fumarole-persistent-streams.md) |

## Account state

| I need…                                                                                                        | Use                                                                                                                                                                      | Page                                                                                |
| -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------- |
| To read accounts with standard Solana JSON-RPC                                                                 | **`getAccountInfo`**, **`getMultipleAccounts`**, and the other standard account methods (except `getLargestAccounts`, which isn't served on Triton's mainnet endpoints)  | [Reading account state](/solana/reading-account-state.md)                           |
| Every account a program owns, or token accounts by owner or delegate                                           | **Cloudbreak**, which serves `getProgramAccounts`, `getTokenAccountsByOwner`, and `getTokenAccountsByDelegate` from indexes, with nothing to enable                      | [Cloudbreak Accounts](/solana/reading-account-state/cloudbreak-indexed-accounts.md) |
| Faster repeated account reads, such as polling `getAccountInfo`, in `@solana/web3.js` or Rust `RpcClient` code | **Yellowstone Account Sync**, used through the Triton SDKs. It serves supported account reads from an in-memory copy of the accounts it tracks, updated by a live stream | [Yellowstone Account Sync](/solana/reading-account-state/account-sync.md)           |
| A live stream of account changes instead of polling                                                            | **Dragon's Mouth gRPC**                                                                                                                                                  | [Dragon's Mouth gRPC](/solana/real-time-streaming/dragon-s-mouth-grpc.md)           |

## Ledger and historical data

| I need…                                                                                                                                                                                            | Use                                                                                                                                                                         | Page                                                                                                              |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Blocks and transactions from anywhere in the ledger, back to genesis, with standard methods                                                                                                        | On mainnet endpoints, standard JSON-RPC methods such as `getBlock`, `getTransaction`, and `getSignaturesForAddress`, served automatically from Triton's historical backends | [Historical data](/solana/historical-data.md)                                                                     |
| An address's transaction history (signatures or full transactions) in one query instead of `getSignaturesForAddress` plus one `getTransaction` per result, with server-side filters and pagination | **`getTransactionsForAddress`**, Triton's extension method                                                                                                                  | [Historical data](/solana/historical-data.md#gettransactionsforaddress)                                           |
| To backfill months or years of history                                                                                                                                                             | **Jetstreamer** with the public Old Faithful archive. It reads Old Faithful, not a Triton endpoint                                                                          | [Historical data best practices](/solana/historical-data/best-practices.md#backfill-large-history-with-streaming) |
| To run the historical backend yourself                                                                                                                                                             | **Superbank**, open source under AGPL                                                                                                                                       | [Historical data](/solana/historical-data.md#self-hosting)                                                        |

## Trading

| I need…                                                                                           | Use                                                                                                                                                                                                                                   | Page                                                                                  |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| Live swap quotes with routes you can execute, as swap instructions or a ready-to-sign transaction | **Titan Swap API** on the `/titan` path of your endpoint, enabled by default on Triton's Solana mainnet endpoints                                                                                                                     | [Titan Swap API](/solana/sending-transactions/3rd-party-apis/titan-swap-api.md)       |
| To simulate a Jito bundle before you submit it                                                    | **`simulateBundle`** on Triton's Jito-enabled RPC                                                                                                                                                                                     | [Jito Bundle Simulation](/solana/sending-transactions/3rd-party-apis/jito-bundles.md) |
| To submit a Jito bundle for inclusion                                                             | **`sendBundle`**, sent directly to the Jito Block Engine. Triton simulates bundles but doesn't forward them                                                                                                                           | [Jito Bundle Simulation](/solana/sending-transactions/3rd-party-apis/jito-bundles.md) |
| Early market data for trading and MEV                                                             | **Dragon's Mouth gRPC** for `processed` data and **Deshred** for pre-execution transactions. For slots led by Harmonic or BAM validators, **Preconfirmations gRPC** (enabled on request) reports transactions before any shred exists | [Real-time streaming](/solana/real-time-streaming.md)                                 |

## Digital assets

| I need…                                                               | Use                                                                          | Page                                                                  |
| --------------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| Metadata and ownership for NFTs, compressed NFTs, and fungible tokens | **Metaplex DAS API**: `getAsset`, or `getAssets` for several IDs             | [Metaplex DAS API](/solana/reading-account-state/metaplex-das-api.md) |
| Assets owned by a wallet, or created or controlled by an address      | **`getAssetsByOwner`**, **`getAssetsByCreator`**, **`getAssetsByAuthority`** | [Metaplex DAS API](/solana/reading-account-state/metaplex-das-api.md) |
| A Merkle proof for a compressed asset                                 | **`getAssetProof`**                                                          | [Metaplex DAS API](/solana/reading-account-state/metaplex-das-api.md) |
| The transaction signatures for a compressed asset                     | **`getSignaturesForAsset`**                                                  | [Metaplex DAS API](/solana/reading-account-state/metaplex-das-api.md) |
| Token accounts by owner or by mint                                    | **`getTokenAccounts`**                                                       | [Metaplex DAS API](/solana/reading-account-state/metaplex-das-api.md) |

***

<i class="fa-life-ring">:life-ring:</i> Contact support by clicking the chat icon in your [customer dashboard](https://customers.triton.one)\ <i class="fa-briefcase">:briefcase:</i> Sales questions? [Contact us](https://triton.one/contact)\ <i class="fa-sparkles">:sparkles:</i> AI agent? Read [llms.txt](https://docs.triton.one/llms.txt)\ <i class="fa-rss">:rss:</i> Follow updates: [Blog](https://blog.triton.one) · [X](https://x.com/triton_one) · [YouTube](https://www.youtube.com/@triton_one_ltd) · [Telegram](https://t.me/tritonone) · [GitHub](https://github.com/rpcpool)
