Skip to main content

RPC Configuration

RPC Node Requirements

SP1 Contract Call fetches block and state data from a JSON-RPC node. You must use an archive node which preserves historical intermediate trie nodes needed for fetching storage proofs.

In Geth, the archive mode can be enabled with the --gcmode=archive option. You can also use an RPC provider that offers archive data access.

warning

Some RPC providers have issues with eth_getProof on older blocks. For instance QuickNode returns invalid data that lead to state mismatch errors. We recommend using Alchemy.

Troubleshooting

State root mismatch

This issue can be caused using an RPC provider that returns incorrect results from the eth_getProof endpoint. We have empirically observed such issues with many RPC providers. We recommend using Alchemy.