mirrored listing x402 eip155:8453eip155:137eip155:42161

Ethereum mainnet JSON-RPC from an independently operated full node

Ethereum mainnet JSON-RPC from an independently operated full node. One call per payment, no account or API key. Serves eth_, net_ and web3_ methods. Blocks, transactions, receipts and logs from the Merge (block 15537394) onward. Current state only, not an archive node: historical state calls are refused, not charged. eth_getLogs capped at 10000 blocks. Raw transactions go out via public relays. Price scales with method cost.

Do you run 402rpc.com? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
1000 (raw units)
price
12
calls / 30d
4
unique payers
2026-09-17
updated

Provider

402rpc.com · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0x295AA6c5a3460A0f8755823C8eE7bBC7CAf79fb1",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "1000",
    "maxTimeoutSeconds": 30
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "payTo": "0x295AA6c5a3460A0f8755823C8eE7bBC7CAf79fb1",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "1000",
    "maxTimeoutSeconds": 30
  },
  {
    "scheme": "exact",
    "network": "eip155:42161",
    "payTo": "0x295AA6c5a3460A0f8755823C8eE7bBC7CAf79fb1",
    "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "amount": "1000",
    "maxTimeoutSeconds": 30
  }
]

Output schema

{
  "bazaar": {
    "info": {
      "input": {
        "body": {
          "id": 1,
          "jsonrpc": "2.0",
          "method": "eth_blockNumber",
          "params": []
        },
        "bodyType": "json",
        "method": "POST",
        "type": "http"
      },
      "output": {
        "example": {
          "id": 1,
          "jsonrpc": "2.0",
          "result": "0x18a5fc8"
        },
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "body": {
              "properties": {
                "id": {
                  "type": [
                    "string",
                    "number"
                  ]
                },
                "jsonrpc": {
                  "const": "2.0",
                  "type": "string"
                },
                "method": {
                  "description": "JSON-RPC method. eth_, net_ and web3_ only.",
                  "examples": [
                    "eth_blockNumber",
                    "eth_getBalance",
                    "eth_call",
                    "eth_getLogs"
                  ],
                  "type": "string"
                },
                "params": {
                  "description": "Positional parameters for the method.",
                  "type": "array"
                }
              },
              "required": [
                "jsonrpc",
                "method"
              ]
            },
            "bodyType": {
              "enum": [
                "json",
                "form-data",
                "text"
              ],
              "type": "string"
            },
            "method": {
              "enum": [
                "POST"
              ],
              "type": "string"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "description": "A JSON-RPC 2.0 response. HTTP 400 means the request was refused before payment and nothing was charged; 502 means the node was unreachable, also uncharged. Errors inside a 200 response are the node's own answer.",
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}

Use it

curl

curl "https://402rpc.com/rpc"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://402rpc.com/rpc");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://402rpc.com/rpc")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/7148.json, and this resource appears in /discovery/resources and /discovery/search.