Agentic Portal

Celo Mainnet JSON-RPC

blockchain
Serving

Read-only JSON-RPC access to Celo mainnet, now an OP-Stack L2, 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/celo
Price per call
$0.005 USD
Networks payable on
Base (eip155:8453), Tempo (eip155:4217)
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

A real, working call — the request the service card verifies against.

curl -X POST https://agent.pocket.network/v1/celo \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":4,"method":"eth_blockNumber","params":[]}'
Example response

The response this call returned, captured 2026-09-21 23:46:42 UTC.

{
  "portal": {
    "provenance": "third-party-supplier",
    "serviceId": "celo",
    "schemaCheck": "passed"
  },
  "data": {
    "jsonrpc": "2.0",
    "id": 4,
    "result": "0x4a8398b"
  }
}

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 Celo Mainnet JSON-RPC accepts, and whether each reads or writes.
MethodEffect
debug_getBadBlocksread
debug_getRawBlockread
debug_getRawHeaderread
debug_getRawReceiptsread
debug_getRawTransactionread
eth_accountsread
eth_blobBaseFeeread
eth_blockNumberread
eth_callread
eth_chainIdread
eth_coinbaseread
eth_configread
eth_createAccessListread
eth_estimateGasread
eth_feeHistoryread
eth_gasPriceread
eth_getBalanceread
eth_getBlockAccessListread
eth_getBlockByHashread
eth_getBlockByNumberread
eth_getBlockReceiptsread
eth_getBlockTransactionCountByHashread
eth_getBlockTransactionCountByNumberread
eth_getCoderead
eth_getFilterChangesread
eth_getFilterLogsread
eth_getLogsread
eth_getProofread
eth_getStorageAtread
eth_getStorageValuesread
eth_getTransactionByBlockHashAndIndexread
eth_getTransactionByBlockNumberAndIndexread
eth_getTransactionByHashread
eth_getTransactionCountread
eth_getTransactionReceiptread
eth_getUncleByBlockHashAndIndexread
eth_getUncleByBlockNumberAndIndexread
eth_getUncleCountByBlockHashread
eth_getUncleCountByBlockNumberread
eth_maxPriorityFeePerGasread
eth_newBlockFilterread
eth_newFilterread
eth_newPendingTransactionFilterread
eth_simulateV1read
eth_syncingread
eth_uninstallFilterread
net_listeningread
net_peerCountread
net_versionread
txpool_statusread
web3_clientVersionread
web3_sha3read

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. eth_getBalance",
      "examples": [
        "debug_getBadBlocks",
        "debug_getRawBlock",
        "debug_getRawHeader",
        "debug_getRawReceipts",
        "debug_getRawTransaction",
        "eth_accounts",
        "eth_blobBaseFee",
        "eth_blockNumber",
        "eth_call",
        "eth_chainId",
        "eth_coinbase",
        "eth_config",
        "eth_createAccessList",
        "eth_estimateGas",
        "eth_feeHistory",
        "eth_gasPrice",
        "eth_getBalance",
        "eth_getBlockAccessList",
        "eth_getBlockByHash",
        "eth_getBlockByNumber",
        "eth_getBlockReceipts",
        "eth_getBlockTransactionCountByHash",
        "eth_getBlockTransactionCountByNumber",
        "eth_getCode",
        "eth_getFilterChanges",
        "eth_getFilterLogs",
        "eth_getLogs",
        "eth_getProof",
        "eth_getStorageAt",
        "eth_getStorageValues",
        "eth_getTransactionByBlockHashAndIndex",
        "eth_getTransactionByBlockNumberAndIndex",
        "eth_getTransactionByHash",
        "eth_getTransactionCount",
        "eth_getTransactionReceipt",
        "eth_getUncleByBlockHashAndIndex",
        "eth_getUncleByBlockNumberAndIndex",
        "eth_getUncleCountByBlockHash",
        "eth_getUncleCountByBlockNumber",
        "eth_maxPriorityFeePerGas",
        "eth_newBlockFilter",
        "eth_newFilter",
        "eth_newPendingTransactionFilter",
        "eth_simulateV1",
        "eth_syncing",
        "eth_uninstallFilter",
        "net_listening",
        "net_peerCount",
        "net_version",
        "txpool_status",
        "web3_clientVersion",
        "web3_sha3"
      ]
    },
    "params": {
      "description": "Parameters per the Ethereum 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: hex-encoded quantities and byte strings per the Ethereum JSON-RPC specification, an object for block and receipt reads.",
  "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": false
    }
  ]
}