Skip to content
@genomedna on X
Lab

Hard limits

The limits written into DNA's contracts. Nobody can change them: not the AI, not the team.

The hook is immutable. No proxy admin, no upgrade key, not even for us. DNA evolves inside these limits and cannot change them. Each rule is enforced by immutable contract code, not by promises; changing one would require a new pool and a voluntary migration.

Written into the code

19 rules · enforced on-chain
RuleValueEnforced by
Supply is fixed. No mint, no owner, no blacklist, no transfer tax.1,000,000,000 DNADNAToken
constructor
Project fee can never exceed the cap, whatever a module returns. Only the launch tax (blocks 0 to 8) is above it.5.00%DNAHook
beforeSwap → clamp
Programmable's launchpad fee is fixed and sits on top of DNA's fee. It is not ours: it goes to Programmable.0.30%DNAHook
afterSwap
Every queued registry op waits at least the floor delay. Only rollback, endCanary, pausing the agent and lowering the level are immediate.1 hourModuleRegistry
queuedAt + MIN_DELAY
Each share stays inside fixed bounds: buyback 20 to 50%, liquidity 20 to 50%, treasury 10 to 40%, games 0 to 20%. Anything else falls back to 35/35/30/0.see /treasuryFeeVault
currentSplit
Initial liquidity is locked forever: two LP NFTs owned by 0xdEaD (the whole supply, and the launch buy's DNA with the rest of the launch ETH).permanentBootstrap
initialize
The hook serves exactly one pool; any other pool reverts.canonical PoolIdDNAHook
beforeInitialize
Blocks 0 to 8 after launch carry a launch tax: 90% in the first block, 10 points less each block, down to 10%. All of it goes to buyback-and-burn. The launch buy itself pays the normal fee.90% → 10% over 9 blocksDNAHook
beforeSwap → LAUNCH_TAX
For 4 minutes after launch, at most 2% of supply can leave the pool per block (net of sells). Each sending wallet can buy at most 1% in all, gross (sells don't count back): counted from block 0, enforced from block 4. DNA's own buybacks are exempt.2% per block · 1% per walletDNAHook
afterSwap → _capNet (LAUNCH_BLOCK_CAP, LAUNCH_WALLET_CAP)
No new liquidity for 4 minutes after launch, except the launch's own. Removing liquidity is never blocked.4 minutesDNAHook
beforeAddLiquidity → LiquidityLocked
After the launch tax (blocks 0 to 8), DNA's fee is 3% for the first hour after launch, sliding to 2.2% (a trade pays 3.3% → 2.5% with Programmable's 0.30%). The clock starts when the pool opens and can never restart.3% → 2.2% over 1 hourDNAHook
beforeInitialize → baselineFee
If a module reverts or misbehaves, the baseline fee applies.2.2% baseline (3% → 2.2% in the first hour)DNAHook
staticcall → BaselineFeePolicy
Removing liquidity can never be blocked by the hook.passthroughDNAHook
beforeRemoveLiquidity
The AI's key can only queue the ops its level's constant bitmap allows. It can never set the agent, anchor key or level, cancel, pause, unpause itself, or approve or revoke code hashes.levels 4–10ModuleRegistry
queue → levelOps
Levels rise only through a Safe-queued SetLevel, never within 5 days of a rollback; the Safe lowers them instantly. ≤3 nothing on-chain · 4 shadow · 5 canary, plate params, rollback, endCanary · 6 active params · 7 bounty allowance · 8 promote · 9 split modules · 10 register approved bytecode.levels 1–10ModuleRegistry
setLevel / lowerLevel
The Safe, or the agent from level 5, can end the fee canary at once. It only removes the canary, never routes anything new, and is not a rollback.immediateModuleRegistry
endCanary
A module displaced from its slot, or ended as canary, returns to Proposed and can rotate again. A rolled-back module needs a fresh Safe register.→ ProposedModuleRegistry
_setStatus
The agent may register only bytecode whose code hash the Safe approved, of the same kind, with bounds inside the approved bounds.level 10ModuleRegistry
register → approveCodehash
The agent never moves Safe-escrowed ETH. From level 7 it spends only the allowance the Safe deposits, on its own allowance-funded bounties.level 7BountyBoard
fund / award → fromAllowance

Fee per trade

capped after the launch tax: 5% ours, 5.3% all-in
2.2%DNA's fee3% in the first hour, after the launch tax (90% → 10%, blocks 0 to 8)+0.30% Programmable launchpad fee (not ours)= 2.5%per trade, all in3.3% in the first hour, sliding to 2.5%

What the limits leave open

Inside these limits, which modules run and their settings go through the public hour: set by the Safe, or by the AI as far as its level allows. See autonomy and modules.