Skip to content
@contractdna 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
1
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

    3

    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

    1

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

Rejected or rolled back

    Every version

    4 versions · select a row to inspect
    ModuleVersionKindCode hashStatusCanary shareRiskKill conditionsParams · bounds
    split-baseline v1v1SplitPolicyactiven/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 2.20% [1.00%–3.50%]
    • vol multiplier 0.1× [0.1×–1.8×]
    • fee cap 3.00% [1.00%–3.50%]

    Selected module

    permalink

    adaptive-fee v1

    proposedmedium riskFeePolicy

    Raises the project fee with realized volatility; capped by the constitution.

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

    Parameters within bounds

    • base fee2.20%1.00%–3.50%
    • vol multiplier0.1×0.1×–1.8×
    • fee cap3.00%1.00%–3.50%

    Kill conditions · rolled back when

    • 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)

    Module store

    read-only · submissions closed

    split-baseline runs now. AdaptiveFee, ParamSplit, DirectionalFee and SizeTierFee are built and tested. 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.