Agentic Portal

Solana JSON-RPC

blockchain
Serving

Read-only JSON-RPC access to Solana mainnet-beta, served by the Pocket Network decentralised supplier set. Pay per request in USDC; no account, no API key.

Endpoint
POST https://agent.pocket.network/v1/solana
Price per call
$0.005 USD
Networks payable on
Base (eip155:8453)
Protocol
jsonrpc

Calling it

The first call returns 402 Payment Required with the terms. Sign for those terms and retry the same request with the payment attached.

Example request

Derived from the published request schema.

curl -X POST https://agent.pocket.network/v1/solana \
  -H 'content-type: application/json' \
  -d '{"method":"getAccountInfo","params":null}'
Example response

Derived from the published response schema.

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "ok"
}

Try it

Make one real paid call from your own wallet — about $0.005 on Base (eip155:8453). The wallet signs; nothing here holds a key. You'll see exactly what the service answers.

No browser wallet found. Install MetaMask, Rabby, or Coinbase Wallet to try a call here.

Supported methods

Methods the registry lists for this service. The portal forwards any call as sent; the supplier decides what it answers, and a delivered answer is settled.

Methods Solana JSON-RPC accepts, and whether each reads or writes.
MethodEffect
getAccountInforead
getBalanceread
getBlockread
getBlockCommitmentread
getBlockHeightread
getBlockProductionread
getBlockTimeread
getBlocksread
getBlocksWithLimitread
getClusterNodesread
getEpochInforead
getEpochScheduleread
getFeeForMessageread
getFirstAvailableBlockread
getGenesisHashread
getHealthread
getHighestSnapshotSlotread
getIdentityread
getInflationGovernorread
getInflationRateread
getInflationRewardread
getLatestBlockhashread
getLeaderScheduleread
getMaxRetransmitSlotread
getMaxShredInsertSlotread
getMinimumBalanceForRentExemptionread
getMultipleAccountsread
getProgramAccountsread
getRecentPerformanceSamplesread
getRecentPrioritizationFeesread
getSignatureStatusesread
getSignaturesForAddressread
getSlotread
getSlotLeaderread
getSlotLeadersread
getStakeMinimumDelegationread
getTokenAccountBalanceread
getTokenAccountsByDelegateread
getTokenAccountsByOwnerread
getTokenLargestAccountsread
getTokenSupplyread
getTransactionread
getTransactionCountread
getVersionread
getVoteAccountsread
isBlockhashValidread
minimumLedgerSlotread
simulateTransactionread

Schemas

Published by the service itself. The example above is generated from these.

Request schema
{
  "type": "object",
  "properties": {
    "method": {
      "type": "string",
      "description": "JSON-RPC read method, e.g. getAccountInfo",
      "examples": [
        "getAccountInfo",
        "getBalance",
        "getBlock",
        "getBlockCommitment",
        "getBlockHeight",
        "getBlockProduction",
        "getBlockTime",
        "getBlocks",
        "getBlocksWithLimit",
        "getClusterNodes",
        "getEpochInfo",
        "getEpochSchedule",
        "getFeeForMessage",
        "getFirstAvailableBlock",
        "getGenesisHash",
        "getHealth",
        "getHighestSnapshotSlot",
        "getIdentity",
        "getInflationGovernor",
        "getInflationRate",
        "getInflationReward",
        "getLatestBlockhash",
        "getLeaderSchedule",
        "getMaxRetransmitSlot",
        "getMaxShredInsertSlot",
        "getMinimumBalanceForRentExemption",
        "getMultipleAccounts",
        "getProgramAccounts",
        "getRecentPerformanceSamples",
        "getRecentPrioritizationFees",
        "getSignatureStatuses",
        "getSignaturesForAddress",
        "getSlot",
        "getSlotLeader",
        "getSlotLeaders",
        "getStakeMinimumDelegation",
        "getTokenAccountBalance",
        "getTokenAccountsByDelegate",
        "getTokenAccountsByOwner",
        "getTokenLargestAccounts",
        "getTokenSupply",
        "getTransaction",
        "getTransactionCount",
        "getVersion",
        "getVoteAccounts",
        "isBlockhashValid",
        "minimumLedgerSlot",
        "simulateTransaction"
      ]
    },
    "params": {
      "description": "Parameters per the Solana JSON-RPC spec"
    }
  },
  "required": [
    "method"
  ]
}
Response schema
{
  "type": "object",
  "description": "JSON-RPC 2.0 response envelope. Exactly one of `result` or `error` is present. `result` takes the shape the called method defines per the Solana JSON-RPC specification; most account and block reads return an object with `context` (the slot) and `value`.",
  "properties": {
    "jsonrpc": {
      "type": "string",
      "description": "The protocol version, always \"2.0\""
    },
    "id": {
      "type": [
        "string",
        "number",
        "null"
      ],
      "description": "The request id, echoed back"
    },
    "result": {
      "description": "The method's result, in the shape the called method defines. Present when the call succeeded; absent when `error` is."
    },
    "error": {
      "type": "object",
      "description": "Present instead of `result` when the call failed",
      "properties": {
        "code": {
          "type": "integer",
          "description": "A JSON-RPC 2.0 error code"
        },
        "message": {
          "type": "string"
        },
        "data": {
          "description": "Method-specific detail, when the node supplies it"
        }
      }
    }
  },
  "examples": [
    {
      "jsonrpc": "2.0",
      "id": 1,
      "result": "ok"
    }
  ]
}

Request body used in the example: { "method": "getAccountInfo", "params": null }