Network documentation
Solana RPC API reference
Solana mainnet RPC endpoint: https://triport.io/sol (HTTPS) and wss://triport.io/ws/sol (WebSocket). Requests need a Triport API key in the x-token header; the Free plan is a 7-day trial. Endpoint, plans and limits: Solana RPC endpoint.
https://triport.io/solAll Solana reference pages 87
JSON-RPC · sol read rpc
- getAccountInfo
- getBalance
- getBlock
- getBlockCommitment
- getBlockHeight
- getBlockProduction
- getBlockTime
- getBlocks
- getClusterNodes
- getEpochInfo
- getEpochSchedule
- getFeeForMessage
- getFirstAvailableBlock
- getGenesisHash
- getHealth
- getIdentity
- getInflationGovernor
- getInflationRate
- getInflationReward
- getLatestBlockhash
- getLeaderSchedule
- getMaxRetransmitSlot
- getMaxShredInsertSlot
- getMinimumBalanceForRentExemption
- getMultipleAccounts
- getRecentPerformanceSamples
- getRecentPrioritizationFees
- getSignaturesForAddress
- getSlot
- getSlotLeader
- getSlotLeaders
- getStakeMinimumDelegation
- getSupply
- getTokenAccountBalance
- getTokenAccountsByDelegate
- getTokenAccountsByOwner
- getTokenAccountsByOwnerV2
- getTokenLargestAccounts
- getTokenSupply
- getTransaction
- getTransactionCount
- getVersion
- getVoteAccounts
- isBlockhashValid
- minimumLedgerSlot
JSON-RPC · sol das
JSON-RPC · sol read rpc heavy
JSON-RPC · sol send tx
JSON-RPC · sol send bundle
JSON-RPC · sol sim bundle
JSON-RPC
REST
Streams
Guides & operations
Contracts
Capabilities
- JSON-RPC readsAvailableFree+
- Heavy readsAvailableFree+Heavy category: separate, lower RPS budget.
- Beta methodsAvailableFree+Beta: request/response schema may still change.
- Transaction submissionAvailableFree+
- Jito bundlesAvailablePro+
- SimulationAvailablePro+
- Solana DAS APIAvailableBasic+
- WebSocket accountSubscribe, signatureSubscribeAvailableFree+
- WebSocket logsSubscribe, programSubscribe, rootSubscribe, slotSubscribeAvailableBasic+
- WebSocket blockSubscribe, slotsUpdatesSubscribe, voteSubscribeAvailablePro+
- Yellowstone gRPCAvailablePro+
- Solana transaction feed (WebSocket)AvailablePro+Serves a fixed feed of non-vote transactions as compact frames (slot, signature, fee, error flag) plus stats. Client SubscribeRequest filters are not applied. Pro and above.
- Pre-execution streamAvailablePro+Transactions reassembled from shreds before execution: no status, logs or balances yet. Pro requires an accounts filter (up to 50); Business may stream unfiltered.
Statuses reflect checks up to 2026-10-10. Rate limits are plan policy, not measured capacity.
One key covers the full Solana JSON-RPC surface, DAS and priority-fee extensions, indexed REST wallet history, and real-time streaming.
Connect to Solana. Five connection options, one API key (x-token: $TRIPORT_API_KEY; on gRPC as x-token metadata, on WebSockets also ?api-key=):
| Connection | Address | Tier | Reference |
|---|---|---|---|
| HTTPS (JSON-RPC) | https://triport.io/sol | — | Quickstart |
| HTTPS — sending transactions (direct) | https://fra.triport.io/sol | — | sendTransaction |
| WSS (JSON-RPC Pub/Sub) | wss://triport.io/ws/sol | — | sol-pubsub |
| Firehose (WebSocket) | wss://triport.io/ws/sol-stream | Pro | sol-stream |
| gRPC (Yellowstone) | https://grpc.triport.io | Pro | sol-grpc |
| Shred stream | wss://triport.io/ws/sol-preexec | Pro | sol-preexec |
Subscribe methods per plan are in the Solana WebSocket API reference; gRPC streams per plan and pricing are on the Yellowstone gRPC product page.
The firehose is one fixed WebSocket feed of every non-vote transaction, with no filters. For server-side filters use gRPC (Yellowstone) — a native gRPC endpoint, not a WebSocket; clients that take host:port use grpc.triport.io:443.
https://fra.triport.io/sol is a direct endpoint for sending transactions: it reaches Triport's Frankfurt edge without Cloudflare (same key, same JSON-RPC). It has no automatic failover, so keep https://triport.io/sol as the fallback and for everything else — see Endpoints for sending for measured latency of both.
The shred stream pushes transactions reassembled from the leader's shreds before the cluster executes them; on Pro it needs an account filter, e.g. wss://triport.io/ws/sol-preexec?accounts=TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA.
| Method / Endpoint | Network | Chain ID | Authentication | Required scope | Tier / rate limit |
|---|---|---|---|---|---|
POST https://triport.io/sol | Solana mainnet | — | x-token: $TRIPORT_API_KEY | solana:rpc | Category-specific RPS; see Limits |
Endpoints
| Surface | Endpoint | Reference |
|---|---|---|
| HTTPS | https://triport.io/sol | Backend path /rpc |
| WSS | wss://triport.io/ws/sol | Registry path /ws/sol |
| REST | Product routes | REST catalog |
| Stream contract | sol pubsub | AsyncAPI |
| Stream contract | sol stream | AsyncAPI |
Quickstart
curl https://triport.io/sol \
-H "x-token: $TRIPORT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"getSlot","params":[]}'What's available
60 JSON-RPC methods in the OpenRPC catalog:
sol_read_rpc: 46sol_das: 6sol_read_rpc_heavy: 3sol_send_tx: 2sol_send_bundle: 1sol_sim_bundle: 2
Solana-specific features include DAS asset lookup, routed transaction landing, bundles, indexed wallet history, and streams ranging from Pub/Sub and the Firehose to gRPC (Yellowstone) and the shred stream.
Limits
See network limits and Rate Limits & Tiers.
Finite request-rate budgets include a 2× burst buffer at no extra cost. It refills at sustained RPS; there is no quota on the number of bursts. Interval categories use seconds and have no RPS burst. See Burst capacity.
| Category | Free | Basic | Pro | Business | Enterprise |
|---|---|---|---|---|---|
sol_gpa_snapshot | — | — | — | 100 RPS sustained · up to 200 burst | unlimited |
sol_read_rpc | 20 RPS sustained · up to 40 burst | 60 RPS sustained · up to 120 burst | 200 RPS sustained · up to 400 burst | 600 RPS sustained · up to 1200 burst | unlimited |
sol_read_rpc_heavy | 2 RPS sustained · up to 4 burst | 5 RPS sustained · up to 10 burst | 20 RPS sustained · up to 40 burst | 80 RPS sustained · up to 160 burst | unlimited |
sol_send_bundle | — | — | 10 RPS sustained · up to 20 burst | 30 RPS sustained · up to 60 burst | unlimited |
sol_send_tx | 5 RPS sustained · up to 10 burst | 10 RPS sustained · up to 20 burst | 50 RPS sustained · up to 100 burst | 150 RPS sustained · up to 300 burst | unlimited |
sol_sim_bundle | — | — | 5 RPS sustained · up to 10 burst | 15 RPS sustained · up to 30 burst | unlimited |
Requests use sustained per-category RPS with a 2x burst and no daily quota. Streaming connections have separate tier gates.
Errors
See network-specific errors and the shared error reference.
Methods
sol read rpc (46)
getAccountInfogetBalancegetBlockgetBlockCommitmentgetBlockHeightgetBlockProductiongetBlockTimegetBlocksgetClusterNodesgetEpochInfogetEpochSchedulegetFeeForMessagegetFirstAvailableBlockgetGenesisHashgetHealthgetIdentitygetInflationGovernorgetInflationRategetInflationRewardgetLatestBlockhashgetLeaderSchedulegetMaxRetransmitSlotgetMaxShredInsertSlotgetMinimumBalanceForRentExemptiongetMultipleAccountsgetPriorityFeeEstimategetRecentPerformanceSamplesgetRecentPrioritizationFeesgetSignaturesForAddressgetSlotgetSlotLeadergetSlotLeadersgetStakeMinimumDelegationgetSupplygetTokenAccountBalancegetTokenAccountsByDelegategetTokenAccountsByOwnergetTokenAccountsByOwnerV2getTokenLargestAccountsgetTokenSupplygetTransactiongetTransactionCountgetVersiongetVoteAccountsisBlockhashValidminimumLedgerSlot
sol das (6)
sol read rpc heavy (3)
sol send tx (1)
sol send bundle (1)
sol sim bundle (2)
Streams
JavaScript (fetch)
The same request from JavaScript (Node 18+ or the browser):
const res = await fetch("https://triport.io/sol", {
method: "POST",
headers: {
"x-token": process.env.TRIPORT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({"jsonrpc":"2.0","id":1,"method":"getSlot","params":[]}),
});
const { result } = await res.json();
console.log(result);Related
Tutorials on live Solana routes: watch a wallet over WebSocket, backfill an address history, filter the pre-execution stream by account, and list a wallet's assets and fetch cNFT proofs.