RPC method

eth_getProof on Ink

Supported on SwiftNodes

Measured 2026-10-11 by our weekly probe, which calls eth_getProof through the same Ink endpoint customers use.

What eth_getProof does

Returns an EIP-1186 Merkle proof for an account and selected storage slots, which a client can verify against the block's state root without trusting the RPC provider.

eth_getProof on Ink: what we measured

  • Default Ink routing keeps state for roughly the last 1,000,000 blocks (about 11.6 days of Ink history). A proof for a block older than that needs historical state. Add &archive=1 to send the request to archive upstreams (paid plans).

Example request

curl -s https://rpc.swiftnodes.io/rpc/ink?key=YOUR_API_KEY \
  -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_getProof","params":["0x0000000000000000000000000000000000000000",[],"latest"]}'
import { createPublicClient, http } from "viem";

const client = createPublicClient({ transport: http("https://rpc.swiftnodes.io/rpc/ink?key=YOUR_API_KEY") });

// Any JSON-RPC method, typed loosely: eth_getProof on Ink
const result = await client.request({
  method: "eth_getProof",
  params: ["0x0000000000000000000000000000000000000000",[],"latest"],
});

Other methods on Ink

eth_getProof on other chains

Support differs by chain; the full measured table is on the eth_getProof reference.

Frequently asked questions

Does Ink support eth_getProof?

Yes. eth_getProof answered correctly on the SwiftNodes Ink endpoint in our weekly method probe (2026-10-11), which sends real requests through the customer path.

Are there limits on eth_getProof on Ink?

Default Ink routing keeps state for roughly the last 1,000,000 blocks (about 11.6 days of Ink history). A proof for a block older than that needs historical state. Add &archive=1 to send the request to archive upstreams (paid plans).

Ink endpoints, live block height and WebSocket status are on the Ink RPC page.

One key covers every chain we serve, and SwiftNodes has a free tier.