2.8 KiB
2.8 KiB
Architecture diagrams (Mermaid)
Last Updated: 2026-04-13
Document Version: 1.0
Status: Reference
Diagrams are illustrative: production systems differ by chain, relay, custody, and team policy (including exclusion of harmful MEV). For implementation-level naming, use MEV_Bot/specs/SERVICE_ARCHITECTURE_AND_MESSAGE_CONTRACTS.md in the proxmox parent submodule.
1. Online pipeline (steady state)
flowchart TB
subgraph dataLayer [Data_layer]
Rpc[Rpc_nodes_archive_plus_head]
Mempool[Mempool_or_private_flow]
Indexers[Pool_indexers_and_logs]
end
subgraph core [Core_compute]
Graph[Liquidity_graph_hot_state]
Sim[Deterministic_EVM_simulation]
Strat[Strategy_and_risk_limits]
end
subgraph exec [Execution]
Bundle[Bundle_builder_signed_txs]
Relay[Relay_or_builder_auction]
Chain[Chain_settlement]
end
subgraph capital [Capital_and_ops]
Inv[Inventory_and_treasury]
Obs[Observability_and_safety]
end
Rpc --> Indexers
Mempool --> Sim
Indexers --> Graph
Graph --> Sim
Sim --> Strat
Strat --> Bundle
Bundle --> Relay
Relay --> Chain
Chain --> Inv
Strat --> Obs
Relay --> Obs
Inv --> Strat
Reading order: Data feeds refresh graph and triggers; simulation consumes graph plus pending hints; strategy gates bundles; execution competes for inclusion; settlement updates inventory; observability closes the loop.
2. Pending transaction to candidate bundle (simplified)
flowchart LR
Pending[Pending_tx_or_signal]
Local[Local_pre_state_S]
Post[Post_state_S_prime]
Cand[Candidate_searcher_txs]
Profit[Profit_and_gas_check]
Bundle[Bundle_payload]
Pending --> Local
Local --> Post
Post --> Cand
Cand --> Profit
Profit --> Bundle
This is the backrun-shaped view: model how someone else’s transaction moves state, then evaluate whether your bundle is profitable after that transition (and under your ordering assumptions).
3. Typical technology map (non-prescriptive)
| Concern | Examples (illustrative only) |
|---|---|
| RPC / chain access | Self-hosted execution client, archive node, websocket subscriptions |
| Hot state | Redis, in-memory graph, columnar snapshots for replay |
| Messaging | NATS, Kafka, or in-process channels (see MEV_Bot MVP: NATS) |
| Simulation | revm, Foundry-style forks, custom EVM + state DB |
| Storage | PostgreSQL for pools, runs, PnL |
| Signing | HSM, remote signer, segregated keys per role |
| Submission | Relay HTTP APIs, builder gRPC, public eth_sendRawTransaction |
Related
- PRODUCTION_PIPELINE.md — narrative and
MEV_Botmapping - OPPORTUNITY_TAXONOMY.md — opportunity classes
- SCALING_AND_REALITY.md — constraints