Nests · hosted
Ethereum address history partitions
nestsss / address-history/v1/1/ · ethereum
A nest that serves an account's history to portfolio apps such as rotki needs every block header and every withdrawal on the chain, whichever accounts it watches. That part is the same for everyone and says nothing about anyone, so we build it once and publish it. Your nest reads it, checks it against your own RPC, and keeps the accounts to itself.
What it is
Verified block partitions for Ethereum mainnet: full headers and withdrawals, 10,000 blocks to a file. A nest that tracks an account’s history reads them instead of fetching every header from its own RPC. Each partition holds the full headers and the withdrawals of its blocks, and
manifest.json beside them lists every partition the mirror holds. It is published under
nestsss / address-history/v1/1/.
https://nestsss.nestsss-worker.workers.dev How a nest uses it
Add the mirror to the nest's nuthatch.toml, beside its [address_history] table. The
nest derives each partition's name from its block range and fetches only those, never the manifest, and keeps what it has
fetched within the cache budget.
[address_history.mirror]
url = "https://nestsss.nestsss-worker.workers.dev" # the mirror root; the nest adds address-history/v1/<chain>/
chain_id = 1
from_block = 17030000 # read from here, as far as the mirror has published
cache_mb = 2048 # local disk the fetched partitions may use How it is verified
You do not have to trust us. Your nest checks every partition against your own RPC before it answers a single query from it:
- Every header in a partition is hashed locally and must equal the hash the next header names as its parent, so a partition is one unbroken chain.
- Each block’s withdrawals are checked against the withdrawalsRoot its header commits to.
- The chain of headers is anchored to a finalized block your own RPC reports. A partition that does not link to it is refused, never served.
The mirror sees what any file server sees: your IP address and which block ranges you asked for. It never sees an address. The accounts you watch stay in your nest, on your machine.
What it answers
These are the Etherscan-shaped actions a nest serves at GET /api from the partitions:
block/getblocknobytime: the block closest before or after a timestamp, from the headers.account/txsBeaconWithdrawal: validator withdrawals to an address, from the block bodies (EIP-4895).account/getminedblocks: the blocks an address produced as fee recipient, from the headers.
Tell your agent this
Paste it into Claude Code, Cursor or any coding agent setting up the nest.
Ethereum address history partitions is a hosted, address-free dataset from nuthatch:
Ethereum mainnet from the Shanghai upgrade (block 17,034,870) to the newest finalized 10,000-block span, extended hourly, 10,000 blocks per file, listed in manifest.json.
It is published at https://nestsss.nestsss-worker.workers.dev
To use it, add this table to the address-history nest's nuthatch.toml:
[address_history.mirror]
url = "https://nestsss.nestsss-worker.workers.dev" # the mirror root; the nest adds address-history/v1/<chain>/
chain_id = 1
from_block = 17030000 # read from here, as far as the mirror has published
cache_mb = 2048 # local disk the fetched partitions may use
The nest verifies every partition against its own RPC before using it: header hashes and parent
links, each block's withdrawalsRoot, and a link to a finalized block. The mirror never sees an address.
It feeds these Etherscan-shaped actions on the nest's GET /api: block/getblocknobytime, account/txsBeaconWithdrawal, account/getminedblocks. Limits
- Ethereum mainnet only, and only from the Shanghai upgrade: blocks before it carry no withdrawals.
- No uptime promise, no account and no key. A partition is only ever an input your nest checks; nothing in it is served unverified.
- It holds headers and withdrawals only. An account’s transactions, transfers and traces are found by your nest, against your RPC, and are never hosted.
The design and the record are in nuthatch-org/nuthatch/blob/main/docs/rfcs/0063-address-history.md.