> For the complete documentation index, see [llms.txt](https://docs.herodotus.dev/herodotus-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.herodotus.dev/herodotus-docs/protocol-design/architecture.md).

# Architecture

Herodotus is composed of both on-chain and off-chain components. The key components are:

#### Smart Contracts

These contracts relay block hashes across Ethereum layers and verify storage proofs, among other tasks. Learn more [here](/herodotus-docs/protocol-design/architecture/smart-contracts.md).

#### Cairo Programs: Proven off-chain.

We use off-chain Cairo for intensive tasks, like expanding our accumulators with many proven block headers.

#### Circuits: Proven off-chain.

We utilize circuits to efficiently verify state proofs from specific zk-rollups. Currently, we haven't implemented these in production, but they'll be available in the future.
