# [Draft] PRD A Dagon
## Motivation
We believe that Anoma Dagon will be the entry point for building the financial coordination layer for the multi-planetary future of humanity, artificial intelligence, and other intelligent forms of life. As such we believe continued work on the anoma/anoma codebase *should* continue in earnest.
## Product Overview
Below you will find a draft of minimal viable product requirements describing at a high level what is necessary to develop the Anoma Heliax Controller. In particular, the essential ingredients are;
- Execution Environment
- Local Domain
- Ethereum requirements
- Replicated State Machine
Note that engineering has reviewed and provided initial feedback. Please read this document on [product requirements](https://research.anoma.net/t/product-requirement-document-process/1292) for a refresher :smile:.
## High Level Components
### Execution Environment
- Resource Machine
- Cairo RM or something that does not require "shielding" (fewer proofs)
### Local Domain
- Standard Local Domain Suite
- data storage
- data querying
- encompass everything non-RSM (replicated state machine)
- Controller Scrying
- subscription to envio
- Solver/Prover (GPU cluster)
- Event Broker
- external calls
- Identity management
- Intent Pool
### Ethereum facing requirements
- Forwarder contract for deposits/withdraws
- Emergency override condition (EOC)
- EVM <-> Controller Interop
- Rollup proof verifier
- Migration Protocol for bugs/upgrades
- Variable size merkle tree
### Replicated State Machine
- The trifecta
- Mempool for total transaction candidates
- Execution Engine
- Ordering Engine
- Data Storage (archive data) / Data availability
- Fee market (resource pricing - e.g., compute, bandwidth, storage)
- gas market
- Post ordering execution
- High throughput (250ms blocktimes or less)
- Sharding
## High-level Diagrams

