Skip to main content
Solana RPC routes proxy standard JSON-RPC methods to Alchemy or Helius and are gated with x402 exact payment on Solana mainnet.

Conventions

All Solana RPC routes share the same shape:
  • Path template: POST /v1/x402/solana/{cluster}/{provider}/rpc/{method}
    • clustermainnet, devnet
    • provideralchemy, helius
  • Access mode: exact (paid per call)
  • Alternate methods accepted on the path: GET, HEAD (used for the 402 discovery probe)
  • Content-Type: application/json
  • Request body: { "params": [...] } — positional JSON-RPC params forwarded directly to the upstream provider
  • Success body: { ok: true, provider, cluster, surface: "rpc", method, priceUsd, result }
  • Payment network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp (mainnet)
  • Payment asset: USDC mainnet mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v (6 decimals)
  • Rate limit: 50 rps per provider:cluster:rpc scope
All six RPC methods are supported on every cluster × provider cell. Prices come from the upstream PAYG schedules:
  • Alchemy$0.45 / 1 000 000 CU
  • Helius$5 / 1 000 000 credits
Both are rounded up to the nearest micro-USDC. Authoritative values are always reported by GET /v1/catalog and by the 402 challenge envelope.

getBalance

Fetch the lamport balance for an account.
PathProviderClusterPrice (USD)Cost unit
POST /v1/x402/solana/mainnet/alchemy/rpc/getBalancealchemymainnet$0.00000510 CU
POST /v1/x402/solana/devnet/alchemy/rpc/getBalancealchemydevnet$0.00000510 CU
POST /v1/x402/solana/mainnet/helius/rpc/getBalanceheliusmainnet$0.0000051 credit
POST /v1/x402/solana/devnet/helius/rpc/getBalanceheliusdevnet$0.0000051 credit
Params
IndexTypeRequiredNotes
params[0]stringyesAccount public key (base58).
params[1]objectnoStandard JSON-RPC config object.
Example
curl -X POST https://gateway.agonx402.com/v1/x402/solana/mainnet/helius/rpc/getBalance \
  -H "Content-Type: application/json" \
  -H "PAYMENT-SIGNATURE: <base64 x402 exact payment>" \
  -d '{"params":["86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY"]}'

getAccountInfo

Fetch account metadata and raw account data.
PathProviderClusterPrice (USD)Cost unit
POST /v1/x402/solana/mainnet/alchemy/rpc/getAccountInfoalchemymainnet$0.00000510 CU
POST /v1/x402/solana/devnet/alchemy/rpc/getAccountInfoalchemydevnet$0.00000510 CU
POST /v1/x402/solana/mainnet/helius/rpc/getAccountInfoheliusmainnet$0.0000051 credit
POST /v1/x402/solana/devnet/helius/rpc/getAccountInfoheliusdevnet$0.0000051 credit
Params
IndexTypeRequiredNotes
params[0]stringyesAccount public key (base58).
params[1]objectnoConfig object. If dataSlice is provided, length <= 1024.
Example
curl -X POST https://gateway.agonx402.com/v1/x402/solana/mainnet/alchemy/rpc/getAccountInfo \
  -H "Content-Type: application/json" \
  -H "PAYMENT-SIGNATURE: <base64 x402 exact payment>" \
  -d '{"params":["86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",{"encoding":"base64"}]}'

getTransaction

Fetch a confirmed transaction by signature.
PathProviderClusterPrice (USD)Cost unit
POST /v1/x402/solana/mainnet/alchemy/rpc/getTransactionalchemymainnet$0.00001840 CU
POST /v1/x402/solana/devnet/alchemy/rpc/getTransactionalchemydevnet$0.00001840 CU
POST /v1/x402/solana/mainnet/helius/rpc/getTransactionheliusmainnet$0.0000051 credit
POST /v1/x402/solana/devnet/helius/rpc/getTransactionheliusdevnet$0.0000051 credit
Params
IndexTypeRequiredNotes
params[0]stringyesTransaction signature (base58).
params[1]objectnoStandard JSON-RPC config object.
Example
curl -X POST https://gateway.agonx402.com/v1/x402/solana/mainnet/helius/rpc/getTransaction \
  -H "Content-Type: application/json" \
  -H "PAYMENT-SIGNATURE: <base64 x402 exact payment>" \
  -d '{"params":["<signature>",{"maxSupportedTransactionVersion":0}]}'

getSignaturesForAddress

List recent transaction signatures for an address.
PathProviderClusterPrice (USD)Cost unit
POST /v1/x402/solana/mainnet/alchemy/rpc/getSignaturesForAddressalchemymainnet$0.00001840 CU
POST /v1/x402/solana/devnet/alchemy/rpc/getSignaturesForAddressalchemydevnet$0.00001840 CU
POST /v1/x402/solana/mainnet/helius/rpc/getSignaturesForAddressheliusmainnet$0.0000051 credit
POST /v1/x402/solana/devnet/helius/rpc/getSignaturesForAddressheliusdevnet$0.0000051 credit
Params
IndexTypeRequiredNotes
params[0]stringyesAddress (base58).
params[1]objectnoIf limit is provided it must be 1..100.
Example
curl -X POST https://gateway.agonx402.com/v1/x402/solana/mainnet/alchemy/rpc/getSignaturesForAddress \
  -H "Content-Type: application/json" \
  -H "PAYMENT-SIGNATURE: <base64 x402 exact payment>" \
  -d '{"params":["86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",{"limit":25}]}'

getTokenAccountsByOwner

List token accounts owned by an address.
PathProviderClusterPrice (USD)Cost unit
POST /v1/x402/solana/mainnet/alchemy/rpc/getTokenAccountsByOwneralchemymainnet$0.00000510 CU
POST /v1/x402/solana/devnet/alchemy/rpc/getTokenAccountsByOwneralchemydevnet$0.00000510 CU
POST /v1/x402/solana/mainnet/helius/rpc/getTokenAccountsByOwnerheliusmainnet$0.0000051 credit
POST /v1/x402/solana/devnet/helius/rpc/getTokenAccountsByOwnerheliusdevnet$0.0000051 credit
Params
IndexTypeRequiredNotes
params[0]stringyesOwner public key (base58).
params[1]objectyesFilter object — must specify exactly one of mint or programId.
params[2]objectnoStandard JSON-RPC config object.
Example
curl -X POST https://gateway.agonx402.com/v1/x402/solana/mainnet/helius/rpc/getTokenAccountsByOwner \
  -H "Content-Type: application/json" \
  -H "PAYMENT-SIGNATURE: <base64 x402 exact payment>" \
  -d '{"params":["86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",{"programId":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"encoding":"jsonParsed"}]}'

getProgramAccounts

Query accounts owned by a program.
PathProviderClusterPrice (USD)Cost unit
POST /v1/x402/solana/mainnet/alchemy/rpc/getProgramAccountsalchemymainnet$0.00000920 CU
POST /v1/x402/solana/devnet/alchemy/rpc/getProgramAccountsalchemydevnet$0.00000920 CU
POST /v1/x402/solana/mainnet/helius/rpc/getProgramAccountsheliusmainnet$0.00005010 credits
POST /v1/x402/solana/devnet/helius/rpc/getProgramAccountsheliusdevnet$0.00005010 credits
Params
IndexTypeRequiredNotes
params[0]stringyesProgram id (base58).
params[1]objectyesConfig object with required filters and dataSlice.
params[1] constraints:
  • filters — 1 to 4 entries, each either { dataSize: number } or { memcmp: { offset, bytes } }.
  • memcmp.bytes — non-empty string, max 128 characters.
  • dataSlice — required. dataSlice.offset >= 0, dataSlice.length <= 256.
Example
curl -X POST https://gateway.agonx402.com/v1/x402/solana/mainnet/helius/rpc/getProgramAccounts \
  -H "Content-Type: application/json" \
  -H "PAYMENT-SIGNATURE: <base64 x402 exact payment>" \
  -d '{
    "params":[
      "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
      {
        "filters":[{"dataSize":165}],
        "dataSlice":{"offset":0,"length":64}
      }
    ]
  }'

See also