> ## Documentation Index
> Fetch the complete documentation index at: https://docs.herodotus.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Satellite Contracts

> Herodotus Satellite Contracts provide trust-minimized on-chain data access — consume verified storage proofs and coprocessor outputs directly in your smart contracts.

<img src="https://mintcdn.com/herodotuscloudservices/S302XnSN--WAs0sk/images/banners/satellite-contracts.png?fit=max&auto=format&n=S302XnSN--WAs0sk&q=85&s=9ddf703ae31c85066901fc5d94cc0ce2" alt="Herodotus Satellite Banner" width="3980" height="960" data-path="images/banners/satellite-contracts.png" />

<Note>
  Have a look at the [Satellite Contracts AI Skill](/skills/satellite-contracts) to
  give your LLM a head start on Satellite workflows.
</Note>

Herodotus Satellite Contracts are the on-chain trustlessness-providing layer behind Herodotus historical data services.

They maintain append-only block commitments (MMRs), verify block/account/storage proofs, and expose verified data through contract read functions that applications can consume directly.

If a value is stored in Satellite, downstream contracts can use it without trusting a centralized indexer, API operator or oracle.

## What this section covers

This section explains Satellite from two angles:

* End-user usage (what to call, what to expect).
* Internal architecture (MMRs, growth, messaging, and module design).

It also connects Satellite to the broader Herodotus stack:

* [Storage Proof API](/storage-proofs-api/introduction) prepares and submits proofs so data is saved in Satellite.
* [Data Structure Indexer API](/data-structure-indexer-api/introduction) provides off-chain access to accumulators, peaks, and proof-related metadata used around Satellite workflows.
* [HDP](/data-processor/introduction) relies on these committed blocks and proofs for sound historical computation.

## Why this contract layer exists

On-chain applications cannot query arbitrary historical chain state by default. Satellite solves this by:

1. Anchoring historical block headers in on-chain MMRs.
2. Verifying storage-proof components against those anchored headers.
3. Saving selected verified facts for cheap on-chain reuse.

This is the core mechanism that makes Herodotus data products verifiable rather than trust-based.

## Where to go next

* [For End Users](/satellite-contracts/for-end-users)
* [Architecture](/satellite-contracts/architecture)
* [Module Map](/satellite-contracts/module-map)
* [How Satellite Powers Herodotus Services](/satellite-contracts/herodotus-stack)
* [Deployments and Integration](/satellite-contracts/deployments-and-integration)
