Architecture
Fenryx is a single fenryxd binary that runs four interleaved engines:
┌─────────────────────────────────────────────────────────┐
│ fenryxd (Rust) │
├──────────────┬───────────────┬──────────────┬───────────┤
│ Consensus │ State (Rocks)│ EVM (revm) │ RPC/SSE │
│ Omnia/PoU │ + Merkle root│ Chain 7373 │ axum │
└──────────────┴───────────────┴──────────────┴───────────┘
│ │ │ │
▼ ▼ ▼ ▼
block_tx StateStore eth_* /status
tx_tx broadcast (get_meta/ JSON-RPC /blocks
channels set_meta) /txs/*
/pools/*
/apex/*
/omnia/*
The Omnia stack
- APEX — adaptive parameter exchange. Per-block consensus updates of TPS targets, fee curves, and validator rotation.
- PoU (Proof of Utility) — file-storage proofs earn rewards alongside block production.
- PC (Performance Capping) — anti-MEV: validators that exceed a soft TPS cap forfeit a fraction of rewards.
- Insurance / Guardian — emergency-pause multisig + slashing-insurance pool funded by 1% of block rewards.
Modules
Every module ships as chain/src/<name>/{types,keeper,rpc,mod}.rs:
omnia, apex, pou, pc, insurance, guardian, staking_v2, gov_v2,
did, dex, file, lightning, wasm, x1, franchise, keychain,
token, btc_relay, upgrade.
See Modules for the per-module references.
EVM bridge
The EVM runs as a tab inside the same process. Native Fenryx accounts and EVM
accounts share storage through the X1-Contracts layer — call native modules
from Solidity via the Fenryx precompile at 0x0000…7373.