Error `eth_getProof` on Erigon v3: `hash sort failed`

Summary

When querying eth_getProof on chains running Erigon v3, you may encounter the following error:

{
  "jsonrpc": "2.0",
  "id": 0,
  "error": {
    "code": -32000,
    "message": "hash sort failed: loadIntoTable : subTrieRoot(...) != cellHash(...)"
  }
} 

This error is caused by limitations in the Erigon v3 client.


Root Cause

The eth_getProof method does not support historical proofs on Ergon v3 for the time being. This change was introduced during the upgrade from Erigon v2 to v3 as part of preparations for the upcoming Ethereum Pectra hard fork.

📘

Note

GitHub Issue #13180: “There is no support for historical proofs at the moment, so only fetching proofs for latest block will work.”