Documentation Index
Fetch the complete documentation index at: https://docs.sudont.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Sudont’s Cage is a dual-engine physics simulator. Every transaction is dropped into a localrevm (EVM) or LiteSVM (SVM) memory sandbox before it hits the chain. Both engines are
first-class citizens.
A single
CanonicalIntent carries a vm_type field that routes it to the correct Cage
implementation. The architecture is unified at the type level — the Judge and the rest of the
pipeline are completely VM-agnostic.The SimulationEngine Trait
Defined insudont-types, SimulationEngine is the contract both Cage implementations fulfill:
SimulationEngine — VM-Agnostic Interface
CanonicalIntent input carries the vm_type discriminant:
VmType Enum
vm_type and dispatches to the correct SimulationEngine implementation
at runtime — no conditional logic needed in the Judge or policy layers.
VM Implementations
- EVM — revm (planned)
- SVM — LiteSVM
Rust crate (planned): State source (planned): Local Base reth node with Flashblocks support. The simulation will
reflect the pending world, not a stale cache.Planned protocol adapters: Uniswap V3 (planned) (
sudont-cage
Dependency (planned): revm = "14.0"The EVM Cage will use revm — a pure-Rust, production-grade
Ethereum Virtual Machine implementation.Exact Semantics
Byte-for-byte compatible with geth/reth execution
Full State Access
Storage slots, emitted logs, and state diffs
Gas Accounting
Precise gas computation and revert reason extraction
EIP Support
EIP-3607 and active EIPs via feature flags
exactInputSingle, exactInput), Aerodrome (planned) router swap flows.SimOutcome
RPC Routing by VM Type
The Sudont RPC proxy reads the VM discriminant directly from the incoming request and dispatches to the correct engine:| Endpoint family | Engine | Crate |
|---|---|---|
eth_*, sudont_* (EVM) | revm | sudont-cage |
solana_*, sudont_* (SVM) | LiteSVM | sudont-cage-svm |
Extending to New VMs
Implement SimulationEngine
Create a new Cage crate implementing the
SimulationEngine trait for your VM.
