JSON-RPC
Supported Solana methods, commitment, subscriptions and errors.
Standard Solana JSON-RPC over https://rpc-testnet.kyvro.si and wss://rpc-testnet.kyvro.si.
Methods#
| Method | Available | Notes |
|---|---|---|
getGenesisHash | Yes | Returns A8qzbNkAdT1GsqmyKTifWnTgS7PuqqmniwdsGeaPc5Jo — the way to confirm you are on Kyvro |
getSlot, getBlockHeight, getEpochInfo, getVersion | Yes | Chain progress and node version |
getBlock, getTransaction | Yes | Full slot and signature lookups; pruned history is unavailable |
getAccountInfo, getBalance | Yes | Account data (jsonParsed available) and lamport balances |
getSignaturesForAddress | Yes | History, paged with limit / before |
getTokenSupply, getTokenLargestAccounts | Yes | SPL mint supply and holders |
getLatestBlockhash, sendTransaction | Yes | Sign locally; the node holds no keys |
simulateTransaction | Yes | Preview execution and logs without sending |
getSupply, getVoteAccounts, getClusterNodes | Yes | Supply and validator set (one validator) |
requestAirdrop | No | Disabled — the faucet is the only source of test tokens |
The node holds no keys: sign locally and use sendTransaction. There are no debug_* or trace_* methods — replay with simulateTransaction instead.
Commitment levels#
Reads accept processed, confirmed or finalized. getSlot defaults to finalized: with a single validator, a finalized slot will not move. Default application reads to confirmed and reserve finalized for values that must be stable. See slots and commitment.
curl -s -X POST https://rpc-testnet.kyvro.si \
-H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"getSlot","params":[{"commitment":"confirmed"}]}'Subscriptions#
The WebSocket endpoint speaks standard Solana subscriptions: slotSubscribe, logsSubscribe and signatureSubscribe. See live subscriptions for a client example.
Limits#
Method availability above was checked on 2026-10-15. The public RPC is rate-limited; the exact limits have not been published.
Errors#
Queries for skipped or pruned slots fail — the explorer API reports these as “block not available (skipped or pruned)”. Treat a missing old transaction the same way: absence from the ledger is not proof it never happened. Failed simulations in simulateTransaction return the program logs with the error, which is where debugging starts.
Something wrong or missing on this page? Send developer feedback.