Skip to content
@genomedna on X
Lab

Modules

The swappable contracts that set DNA's fee, how far each one has got in testing, and what would stop it.

The permanent DNA hook (the contract attached to the Uniswap v4 pool) asks FeePolicy modules what fee to charge and SplitPolicy modules where the fees go. Modules can be swapped; the hook and its hard limits cannot. Every version is listed here, including the ones that failed.

At a glance

last registration · block 26,170,647
Active modules
0
registry snapshot
Current epoch
00
epoch record · block 26,165,041
Registry versions
4
registered on-chain
Rollbacks
0
epoch record

How far each one got

promotions wait the 1 h timelock · rollback + endCanary are immediate
  1. Proposed

    4

    Registered, code hash (its fingerprint) pinned. Displaced or ended plates (copies of a module with their own settings) return here and rotate again.

  2. Shadow

    0

    Called on ~1 in 10 swaps. Would-be fee logged, never charged.

    none

  3. Canary

    0

    Charged for real, but only in pre-committed block windows and within a bounded change. EndCanary stops it at once.

    none

  4. Active

    0

    Promoted after the 1 h timelock: by the Safe, or the agent from level 8.

    none

Rejected or rolled back

    Every version

    4 versions · select a row to inspect
    ModuleVersionKindCode hashStatusCanary shareRiskKill conditionsParams · bounds
    split-baseline v1v1SplitPolicyproposedn/alow
    • any destination outside its bounds
    none
    adaptive-fee v1v1FeePolicyproposedn/amedium
    • any ModuleFailed from this plate while it is the canary
    • in-window swaps charged at the canary ceiling > 30% (≥ 10 in-window swaps); ceiling = the plate's cap, or the active fee + 1 point when the hook's canary clamp binds first
    • in-window swap rate < 70% of the out-of-window rate over the last 1 h or the last full canary window, whichever is longer (≥ 10 out-of-window swaps, a full window of in-window blocks, and ≥ 10 in-window swaps expected at the out-of-window rate)
    • base fee 2.50% [1.00%–3.50%]
    • vol multiplier 1.8× [0.1×–1.8×]
    • fee cap 3.50% [1.00%–3.50%]
    adaptive-fee v1v1FeePolicyproposedn/amedium
    • any ModuleFailed from this plate while it is the canary
    • in-window swaps charged at the canary ceiling > 30% (≥ 10 in-window swaps); ceiling = the plate's cap, or the active fee + 1 point when the hook's canary clamp binds first
    • in-window swap rate < 70% of the out-of-window rate over the last 1 h or the last full canary window, whichever is longer (≥ 10 out-of-window swaps, a full window of in-window blocks, and ≥ 10 in-window swaps expected at the out-of-window rate)
    • base fee 2.00% [1.00%–3.50%]
    • vol multiplier 1.0× [0.1×–1.8×]
    • fee cap 3.50% [1.00%–3.50%]
    adaptive-fee v1v1FeePolicyproposedn/amedium
    • any ModuleFailed from this plate while it is the canary
    • in-window swaps charged at the canary ceiling > 30% (≥ 10 in-window swaps); ceiling = the plate's cap, or the active fee + 1 point when the hook's canary clamp binds first
    • in-window swap rate < 70% of the out-of-window rate over the last 1 h or the last full canary window, whichever is longer (≥ 10 out-of-window swaps, a full window of in-window blocks, and ≥ 10 in-window swaps expected at the out-of-window rate)
    • base fee 1.50% [1.00%–3.50%]
    • vol multiplier 0.3× [0.1×–1.8×]
    • fee cap 3.50% [1.00%–3.50%]

    Selected module

    permalink

    split-baseline v1

    proposedlow riskSplitPolicy

    Routes project fees 35% buyback-burn, 30% auto-liquidity, 25% treasury, 10% games (GamePot). A rollback falls back to FeeVault's immutable 35/35/30/0: games off.

    Address
    Code hash
    Author
    DNA · review internal
    Registered
    block 26,170,647

    Parameters within bounds

    No parameters on record.

    Kill conditions · rolled back when

    • any destination outside its bounds

    Module store

    read-only · submissions closed

    AdaptiveFee runs at launch. ParamSplit, DirectionalFee and SizeTierFee are built and tested, and the Safe registers them after launch. New modules come from the Sequencer and need the Safe's signature on their code.

    Outside modules aren't accepted yet; module work is paid through bounties.

    ModuleKindVersionsLatest
    split-baselineSplitPolicyv1Routes project fees 35% buyback-burn, 30% auto-liquidity, 25% treasury, 10% games (GamePot). A rollback falls back to FeeVault's immutable 35/35/30/0: games off.
    adaptive-feeFeePolicyv1 · v1 · v1Raises the project fee with realized volatility; capped by the constitution.