June 25, 2026 · 4 min read
Reading Historical State: eth_call at a Past Block
eth_call defaults to the latest block, but you can point it at any past block to read state as it was then — a balance last Tuesday, an oracle price at a specific block. The catch: historical state reads need an archive node. Here's how to do it in viem, ethers, and web3.py, and why a full node returns 'missing trie node'.
Read →