disconnected
docs/smart-contracts/parameters

Parameters

Every parameter below is hardcoded in the deployed bytecode. None are admin-settable, none are governance-controlled, none have a setter function.

Curve

ParameterConstantValue
Asymptotic supply capK21,000,000 (× 10¹⁸)
Curve steepnessS100 (× 10¹⁸)
Initial spot pricep(0) = S/K≈ 4.76 × 10⁻⁶ ETH/token
Trading feeFEE_BPS / FEE_DENOM30 / 10,000 = 0.30%
Pool fee tierPOOL_FEE3000 (Uniswap V4 0.30% tier)

Lifecycle Thresholds

ParameterConstantValueEffect
Self-deprecation triggerSELF_DEPRECATE_PCT99% of K (circulating)Buys revert with SelfDeprecatedNoBuys once circulating crosses 20,790,000
Reactivation triggerREACTIVATE_PCT95% of K (circulating)After deprecation, the next sell that drops circulating below 19,950,000 clears the flag and re-enables buys

Both thresholds operate on circulating supply (totalSupply − DEAD balance), not total supply.

Trade Limits

ParameterConstantValue
Per-buy capMAX_BUY_WEI5 ETH
Minimum trade sizeMIN_TX_AMOUNT1 gwei (applies to both buys and sells)

Anti-MEV

ParameterConstantValue
Same-block anti-flip cooldownCOOLDOWN_BLOCKS1 — sell in the same block as your last buy reverts with CooldownActive. Indexed by tx.origin so an attacker can't lock a victim's cooldown via gift-call griefing.
Entropy window lengthRANDOM_BLOCKS100 — for blocks [GENESIS_BLOCK, GENESIS_BLOCK + 100], the user's mint amount is multiplied by a uniformly random factor in [0.9, 1.1] derived from block.prevrandao + msg.sender + GENESIS_HASH. After block 100, multiplier is fixed at 1.0.
Genesis blockGENESIS_BLOCKblock.number at deployment, used as base for the entropy seed and for relative-block math in indexers

Pool Configuration

ParameterValue
currency0address(0) (native ETH)
currency1naka ERC-20
fee3000 (0.30% pool fee tier)
tickSpacing60
Required initial sqrtPrice2^96 (1:1) — enforced by beforeInitialize
Liquidity additionsforbiddenbeforeAddLiquidity reverts unconditionally; the hook is the only liquidity provider

Reading Live Values

The frontend at naka.exchange reads all of the above directly from the hook contract on every render. Anything you see in the stats panels is derived from on-chain state. There is no off-chain config that overrides contract values.

Immutability Guarantee

There is no function on any NAKA contract that can:

  • Change K, S, the fee, the per-buy cap, or any other parameter above
  • Drain or seize reserves
  • Transfer mint authority away from the hook
  • Pause buys or sells outside of the on-chain selfDeprecated cycle
  • Upgrade the implementation

If any of these capabilities ever appear on the contract surface, that contract is not NAKA.