latest calls can read different blocks. Fetch one block, then reuse
its hash for every related state read. This standard JSON-RPC pattern works
with Block regression protection Off.
Use your client’s request() helper, which returns result and throws on RPC
errors. Set address to the account you want to read.
at for contract calls and dependent reads too. In a
JSON-RPC batch, put the selector on every item.
Essential limits
- Providers must support block-hash selectors and retain the requested state. Lasso preserves the hash through retries.
- Lasso sends block-hash state reads only to archival providers, because a
hash’s age is unknown before dispatch. In RPC Core, a chain with no provider
declared archival rejects them with
archive_required; on Lasso Cloud, a profile without one fails them instead of reaching a provider that may lack the state. requireCanonical: trueasks the provider to reject a block it knows was removed from the canonical chain. It does not guarantee finality or prove execution correctness.- If a read fails and you choose a new block, repeat all related reads. Do not mix results from different hashes.
"finalized"
instead of "latest" when you need the chain’s finality semantics and your
provider supports it.
Block regression protection separately protects successive
latest-block requests. Routing metadata
is optional.