Network guides

EVM: blocks, txs, and tips

All EVM networks on RpcNode share the eth_* JSON-RPC surface. Change only the host network slug (ethereum, base, arbitrum, optimism, polygon, bsc, hyperliquid, …).

EVMethereumbasearbitrum

← All guides

Steps

  1. Create an endpoint for the target EVM network + mainnet (or testnet if offered).
  2. Read tip with eth_blockNumber.
  3. Fetch headers with eth_getBlockByNumber(tag, false); expand txs only when needed.
  4. Resolve tx + receipt with eth_getTransactionByHash and eth_getTransactionReceipt.
  5. For contract reads use eth_call; for events use eth_getLogs with a tight block window.

Tip on Base (curl)

curl

curl https://holy-burned-sky-base-mainnet.rpcnode.dev/7c9e6679-7425-40de-944b-e07fc1f90ae7 \
  -X POST \
  -H 'content-type: application/json' \
  -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_blockNumber",
  "params": []
}'

Tip on Base (JavaScript)

fetch

const response = await fetch('https://holy-burned-sky-base-mainnet.rpcnode.dev/7c9e6679-7425-40de-944b-e07fc1f90ae7', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: 1,
    method: 'eth_blockNumber',
    params: [],
  }),
});

const data = await response.json();
console.log(data);

Block on Arbitrum (curl)

curl

curl https://holy-burned-sky-arbitrum-mainnet.rpcnode.dev/7c9e6679-7425-40de-944b-e07fc1f90ae7 \
  -X POST \
  -H 'content-type: application/json' \
  -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_getBlockByNumber",
  "params": [
    "latest",
    false
  ]
}'

Block on Arbitrum (JavaScript)

fetch

const response = await fetch('https://holy-burned-sky-arbitrum-mainnet.rpcnode.dev/7c9e6679-7425-40de-944b-e07fc1f90ae7', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: 1,
    method: 'eth_getBlockByNumber',
    params: [
      "latest",
      false
    ],
  }),
});

const data = await response.json();
console.log(data);

eth_call (empty) (curl)

curl

curl https://holy-burned-sky-ethereum-mainnet.rpcnode.dev/7c9e6679-7425-40de-944b-e07fc1f90ae7 \
  -X POST \
  -H 'content-type: application/json' \
  -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_call",
  "params": [
    {
      "to": "0x0000000000000000000000000000000000000000",
      "data": "0x"
    },
    "latest"
  ]
}'

eth_call (empty) (JavaScript)

fetch

const response = await fetch('https://holy-burned-sky-ethereum-mainnet.rpcnode.dev/7c9e6679-7425-40de-944b-e07fc1f90ae7', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: 1,
    method: 'eth_call',
    params: [
      {
        "to": "0x0000000000000000000000000000000000000000",
        "data": "0x"
      },
      "latest"
    ],
  }),
});

const data = await response.json();
console.log(data);

Tips

  • Hex quantities everywhere (block numbers, gas, value).
  • L2 sequencers may delay “safe”/“finalized” tags — prefer latest for demos, finalized for settlement logic when available.
  • Hyperliquid uses the EVM JSON-RPC style in our docs catalog — treat it like other eth_* networks.

Network slug cheat sheet

ethereum · base · arbitrum · optimism · polygon · bsc · hyperliquid (and other EVM slugs in your dashboard).

URL pattern: https://{prefix}-{slug}-mainnet.rpcnode.dev/{uuid}

Example

curl https://holy-burned-sky-base-mainnet.rpcnode.dev/7c9e6679-7425-40de-944b-e07fc1f90ae7 \
  -X POST \
  -H 'content-type: application/json' \
  -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_blockNumber",
  "params": []
}'

Related