Solana RPC endpoint — node, Yellowstone gRPC & DAS API
Last updated:
Get API key Read the documentation
Network details
| Network | Solana mainnet-beta |
|---|---|
| Chain ID | None — Solana is not an EVM network; the cluster is identified by its genesis hash |
| Genesis hash | 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d (getGenesisHash) |
| CAIP-2 ID | solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Currency | SOL |
| RPC URL | https://triport.io/sol |
| WebSocket URL | wss://triport.io/ws/sol |
| Firehose (WebSocket) | wss://triport.io/ws/sol-stream (Pro and above; every non-vote transaction, one fixed feed, no filters) |
| gRPC (Yellowstone) | https://grpc.triport.io (Pro and above, key as x-token metadata; native gRPC with server-side filters) |
| Shred stream | wss://triport.io/ws/sol-preexec (Pro and above; transactions from leader shreds before execution) |
| Keyed URL | https://triport.io/r/<API_KEY>/sol |
| Authentication | x-token: $TRIPORT_API_KEY (Authorization: Bearer also accepted), scope solana:rpc |
Solana's public endpoint vs a key
Solana's public mainnet cluster allows 100 requests per 10 seconds per IP and 40 per 10 seconds for one method, with 40 concurrent connections per IP (checked 2026-11-01). That is 10 requests per second on average per address. Triport has no keyless Solana endpoint; the 7-day trial key is the way to try it, at 20 reads, 2 heavy reads and 5 sends per second.
What works today
| Capability | Status | Methods |
|---|---|---|
| JSON-RPC reads | Available | 44 methods |
| Heavy reads | Available | getProgramAccounts, getTransactionsForAddress |
| Beta methods | Available | getPriorityFeeEstimate, getProgramAccountsV2, getTokenAccountsByOwnerV2 |
| Transaction submission | Available | sendTransaction |
| Jito bundles | Available | sendBundle |
| Simulation | Available | simulateBundle, simulateTransaction |
| Solana DAS API | Available | 6 methods |
| WebSocket subscriptions (free+) | Available | accountSubscribe, signatureSubscribe |
| WebSocket subscriptions (basic+) | Available | logsSubscribe, programSubscribe, rootSubscribe, slotSubscribe |
| WebSocket subscriptions (pro+) | Available | blockSubscribe, slotsUpdatesSubscribe, voteSubscribe |
| Yellowstone gRPC | Available | yellowstone-geyser |
| Solana transaction feed (WebSocket) | Available | tx-nonvote |
| Pre-execution stream | Available | pre-execution |
DAS API on the same endpoint
The Digital Asset Standard methods — getAsset, getAssetProof, getAssetsByGroup, getAssetsByOwner, getTokenAccounts, searchAssets — answer on https://triport.io/sol with the same key. They are gated by plan rather than billed at a higher weight: trial keys cannot call DAS, Basic exposes part of the set, and the full set comes with Pro. The DAS reference explains each method and its parameters.
getProgramAccounts has its own budget
getProgramAccounts sits in the heavy read category, so it draws on a separate budget — 2/5/20/80 requests per second on the Free trial, Basic, Pro and Business — instead of the ordinary read budget. Narrow it with filters and dataSlice, and pace program scans against that number rather than the headline read rate.
Streams: WebSocket, Yellowstone gRPC, pre-execution
Standard Solana PubSub runs on wss://triport.io/ws/sol, gated per method: accountSubscribe and signatureSubscribe from the trial; logsSubscribe, programSubscribe, slotSubscribe and rootSubscribe from Basic; blockSubscribe, voteSubscribe and slotsUpdatesSubscribe from Pro — see Solana PubSub.
Yellowstone gRPC is the Geyser-compatible stream for backends that already use a Yellowstone client: 8 concurrent streams on Pro, 20 on Business, billed flat rather than per gigabyte. The Shred stream delivers transactions reassembled from leader shreds before they execute, account-filtered on Pro. All stream products are listed under Streams.
When a history read comes back empty
An empty getSignaturesForAddress or a null from getTransaction is a successful answer, not an error — and it has more than one cause. Before concluding an address has no history, read why getSignaturesForAddress returns an empty array and why getTransaction returns null for an old signature.
Transaction submission
Send signed transactions with sendTransaction (available on every plan) and Jito bundles with sendBundle from Pro. A returned signature means the request was routed; track the signature status for confirmation.
What this page does not sell
Anything that is not in the “What works today” table or linked above is not sold on this page — each method's page in the Solana JSON-RPC reference documents it in full. We also publish no latency figures: the rate limits below are per-category RPS limits, not measured upstream capacity.
What teams run on it
- Pool and address collectors. logsSubscribe by address over WebSocket, with RPC reads to backfill gaps.
- Trading systems. Solana gRPC (Yellowstone) from Pro, covered in the streams section above.
- Wallets and trackers. DAS reads for assets by owner.
Testnet
Solana testnets: Devnet and Testnet. Triport serves mainnet only; switch the URL and chain ID for test work — Solana testnet connection values.
Terms on this page: Commitment level · Priority fee · Shred.
Limits and plans
2× burst buffer, included. Finite request-rate limits show sustained RPS and short burst capacity. A full buffer at 20 RPS can absorb up to 40 requests at once and refills at 20 requests per second. There is no quota on the number of bursts and no extra charge for them. Size ongoing traffic to sustained RPS. Categories with no per-category cap have no numeric burst ceiling. How burst capacity works.
| Capability | Free trial (7 days) | Basic | Pro | Business | Enterprise |
|---|---|---|---|---|---|
| Reads (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 1,200 burst | no per-category cap |
| getProgramAccounts (sol_read_rpc_heavy) | 2 | 5 | 20 | 80 | no per-category cap |
| Submission (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 | no per-category cap |
| Jito bundles (sol_send_bundle) | — | — | 10 RPS sustained · up to 20 burst | 30 RPS sustained · up to 60 burst | no per-category cap |
| DAS API | — | part of the set | all | all | all |
| WebSocket subscriptions | account, signature | + logs, program, slot, root | + block, vote, slotsUpdates | same as Pro | all |
| Yellowstone gRPC streams | — | — | 8 | 20 | negotiated |
Sustained rates carry a 2x burst. Plans: Basic $20, Pro $249, Business $499, Enterprise from $999 per month — a flat monthly price, no credits or overage: only the per-category RPS limits above. Free is a 7-day trial with a single key in the EU region, not a permanent plan. See Solana limits.
Every plan with its limits on every network, and what a plan costs at its cap: RPC pricing.
Quickstart
# JSON-RPC
curl https://triport.io/sol \
-H "x-token: $TRIPORT_API_KEY" -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"getGenesisHash"}'
# -> {"jsonrpc":"2.0","result":"5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d","id":1}
# DAS (Basic and above)
curl https://triport.io/sol \
-H "x-token: $TRIPORT_API_KEY" -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"getAsset","params":{"id":"<ASSET_ID>"}}'
# @solana/web3.js
import { Connection } from "@solana/web3.js";
const connection = new Connection("https://triport.io/r/<API_KEY>/sol", "confirmed");
# Yellowstone gRPC (Pro and above)
endpoint: https://grpc.triport.io metadata: x-token: $TRIPORT_API_KEYFAQ
- What is the Solana RPC URL?
- https://triport.io/sol for JSON-RPC over HTTPS, wss://triport.io/ws/sol for WebSocket subscriptions and https://grpc.triport.io for Yellowstone gRPC. Authenticate with the x-token header, or use the keyed URL https://triport.io/r/<API_KEY>/sol where a header is impossible.
- What is the Solana chain ID?
- Solana has no EVM-style numeric chain ID. A cluster is identified by its genesis hash: mainnet-beta returns 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d from getGenesisHash, which is how a client confirms it is talking to mainnet rather than devnet or testnet. Wallet standards (CAIP-2) use its first 32 characters: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp.
- How is Solana RPC priced on Triport?
- A flat monthly price per plan — Basic $20, Pro $249, Business $499, Enterprise from $999 — with requests-per-second limits per category and nothing else: no credits, no compute units, no overage. A DAS call is not priced higher than any other read; getProgramAccounts is paced by its own RPS budget, not charged extra.
- Is there a free Solana RPC endpoint?
- There is a 7-day free trial with one key in the EU region: 20 read requests per second, getProgramAccounts at 2, and accountSubscribe and signatureSubscribe over WebSocket. DAS and Yellowstone gRPC are not in the trial.
- Which plan includes Yellowstone gRPC?
- Pro, with 8 concurrent streams; Business raises that to 20, and Enterprise is negotiated. Point any Yellowstone-compatible client at https://grpc.triport.io (grpc.triport.io:443 where a client takes host:port) and send the key as x-token metadata.
- Does Triport support the Solana DAS API?
- Yes, on the same endpoint: getAsset, getAssetProof, getAssetsByGroup, getAssetsByOwner, getTokenAccounts and searchAssets. Trial keys cannot call DAS, Basic exposes part of the DAS set, and the full set comes with Pro.
- What is the getProgramAccounts limit?
- getProgramAccounts has its own, lower budget — the heavy read category: 2/5/20/80 requests per second on the Free trial, Basic, Pro and Business, separate from the ordinary read budget of 20/60/200/600.
- Can I send Solana transactions through Triport?
- Yes. Send signed transactions with sendTransaction at https://triport.io/sol: 5/10/50/150 requests per second on the Free trial, Basic, Pro and Business; Jito bundles with sendBundle from Pro. A returned signature means the request was routed — track the signature status for confirmation.
- Is there a free Solana RPC?
- Solana's public cluster is free at 100 requests per 10 seconds per IP. Triport has no keyless Solana URL; a key starts with a 7-day trial.
- Does Triport serve devnet?
- No. Triport serves Solana mainnet only. Devnet and testnet are separate clusters with their own genesis hashes, listed on the chain config page.
Solana JSON-RPC methods
- 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
- getTokenLargestAccounts
- getTokenSupply
- getTransaction
- getTransactionCount
- getVersion
- getVoteAccounts
- isBlockhashValid
- minimumLedgerSlot
- getProgramAccounts
- getTransactionsForAddress
- getAsset
- getAssetProof
- getAssetsByGroup
- getAssetsByOwner
- getTokenAccounts
- searchAssets