ISatellite interface.
Core read functions
The three most common reads are:accountField(chainId, blockNumber, account, field) -> bytes32storageSlot(chainId, blockNumber, account, slot) -> bytes32timestamp(chainId, timestamp) -> uint256
Safe vs reverting reads
Most Satellite read functions come in two versions:...Safe(...)returns(exists, value)and does not revert on missing data.- Non-
Safevariant returns the value directly and reverts when data is not present.
Data lifecycle for a read
Your contract reads only facts already saved in Satellite. The typical lifecycle is:- A proof workflow verifies block/account/storage data against Satellite MMR commitments.
- Verified fields are written into Satellite storage.
- Your contract reads the saved values by chain ID and block number.
Example integration path
To consume the interface in Solidity:lib/satellite/....
Practical usage patterns
- Historical token balance checks for voting and governance snapshots.
- Storage-slot based eligibility logic (airdrops, allowlists, retroactive rewards).
- Time-based historical reads using
timestamp(...)first, then account/storage lookups.

