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.