contracts/staking
A signed delegate debits EQU and raises bondedStake inside the next successor. A signed unbond releases that delegation into Ω.unbonding and pays the same address when matureAt is reached. The WASM contract's undelegate is not this path.
- 0registergenesis validators already registered
- 1delegatea:D:V:X:PK:SIG or the successor refuses
- 2unbondu:D:V:X:PK:SIG, pays after unbondingPeriod, not a local queue
- 4claim_rewardsaccumulatedRewards → balance
- 6slashdouble-sign 5%, downtime 1% (lib/coinomics)
Governance
operationallive
contracts/governance
Token-weighted proposals. Votes do not rewrite residual. Passed messages can change couplings — that is an experiment, not a proof.
- 0submit_proposaldeposit from bonded or liquid
- 1voteyes / no / abstain
- 2end_votingquorum + pass threshold
- 3execute_proposalmay set a λ
Model registry
operationallive
contracts/model_registry
A model claim enters Ω only when the successor recomputes its commitment. A later challenge with a different support hash marks it slashed. Neither step is a Groth16 proof of the model.
- 0proposecommit support-set hash + residualFp
- 1verify_modelfinalize after window
- 2challengeopen — no Groth16 of the model
contracts/arbitrage
The compiled arbitrage.wasm runs inside this process. init, pause, and unpause are calls in the next block. Replay executes those calls. A WASM swap cannot move the pools; the signed EQU transfer does that.
- 0initexecuted wasm, stores owner
- 2pauseexecuted wasm, owner only
- 4executehost dex_multi_swap refuses; pools stay on the signed path
Cross-chain relay
operationallive
contracts/cross_chain_relay
Outbound commitments are attestations until proven. Source publishOutbound still accepted caller-supplied hashes — this runtime will not.
- 0publish_outboundrecords an attestation, not a proof
- 1ingest_inboundrejected unless evidence verifies
contracts/btc_spv_bridge
Proof of work, then prev-hash continuity. The header bytes ride in the block that commits the new Bitcoin leaf. No EQU is minted. A signed withdrawal settles only when an output inside that merkle root matches the locked destination and amount. Inclusion alone does not.
- 0submit_headerPoW + continuity, no credit
- 1verify_transfermerkle + 6 confirmations, still no credit
contracts/eth_sync_bridge
BLS12-381 verification of the keys a participation bitset selects. Quorum is 342 of 512. The committee rides in the block; the aggregate is derived from it. The secrets do not. No EQU is minted. A committee this process generates is not Ethereum's sync committee. A withdrawal settles only from a receipt proven against an admitted execution header. This committee does not authenticate that header.
- 0bootstrapinstall 512 keys; the aggregate is derived
- 1rotatethe current committee authorizes the next 512 keys
- 2submit_headersubset aggregate + quorum + continuity, no credit
contracts/EquilibriumZkmlVerifier.sol
Every block records the stationarity relation against its own header hash: residual, threshold, and the hash that already binds the state root. A Groth16 proof of the solver executing inside the circuit is still not attached.
- 0bindrelation on the committed header, not a Groth16 of Ωt → Ωt+1