> 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.md).

# Protocol Design

- [Architecture](https://docs.herodotus.dev/herodotus-docs/protocol-design/architecture.md)
- [Smart Contracts](https://docs.herodotus.dev/herodotus-docs/protocol-design/architecture/smart-contracts.md): Herodotus Smart Contract Workflow on L1 and L2
- [OP Stack](https://docs.herodotus.dev/herodotus-docs/protocol-design/architecture/op-stack.md): Storage Proofs on Optimism and OP Stack Blockchains
- [Historical Block Hash Accumulator](https://docs.herodotus.dev/herodotus-docs/protocol-design/historical-block-hash-accumulator.md)
- [Merkle Mountain Ranges](https://docs.herodotus.dev/herodotus-docs/protocol-design/historical-block-hash-accumulator/merkle-mountain-ranges.md)
- [Initial Accumulation Event](https://docs.herodotus.dev/herodotus-docs/protocol-design/historical-block-hash-accumulator/initial-accumulation-event.md)
- [Timestamp to Block Mapper](https://docs.herodotus.dev/herodotus-docs/protocol-design/timestamp-to-block-number-mapper.md): The Timestamp to Block Mapper facilitates the mapping of block numbers to their corresponding timestamps.
- [Edge Cases](https://docs.herodotus.dev/herodotus-docs/protocol-design/timestamp-to-block-number-mapper/edge-cases.md): Handling Edge Cases
