Pre-launch. The protocol is not publicly live yet. This documentation describes the contracts as implemented; deployed addresses are published at launch.

Constants & Parameters

Every protocol constant, across all 5 chains. All values are compiled in and immutable — readable from verified bytecode, changeable by nobody.

Token

ConstantValueContract
decimals9TokenTemplate
INITIAL_MINT_AMOUNT60,000,000 × 10⁹ (60M)TokenTemplate
MAX_SUPPLY1,200,000,000 × 10⁹ (1.2B)TokenTemplate

Bonding Curve — shared

ConstantValue
LOT_SIZE1,000 × 10⁹ (1,000 tokens)
INITIAL_SUPPLY_LOTS60,000
MAX_SUPPLY_LOTS800,000
MIN_LOTS1
MAX_USER_LOTS36,000
BONDING_PERIOD259,200 s (3 days)
REFUND_CLAIM_PERIOD604,800 s (7 days)
T_START_BP1,200 (12%)
T_END_BP120 (1.2%)
TAX_DECREASE_BP1,080
ADDITIONAL_CAP_TOKENS_BASE740,000,000
TWO_TIMES_CAP1,480,000,000
BP_DENOMINATOR10,000

Bonding Curve — per chain

ConstantBaseBSCPolygonRobinhoodGnosis
P_START1_200_000_0003_600_000_00028_800_000_000_0001_200_000_0002_880_000_000_000
PRICE_SLOPE8_410_810_80025_232_432_400201_859_459_200_0008_410_810_80020_185_945_920_000
DEPLOYER_INITIAL_PAYMENT0.06 ETH0.18 BNB1,440 POL0.06 ETH144 xDAI
FIXED_LIQUIDITY_NATIVE4 ETH12 BNB96,000 POL4 ETH9,600 xDAI

Factory

ConstantBaseBSCPolygonRobinhoodGnosis
VANITY_PREFIX36 (0x24)
MAX_DEPLOYER_TOKENS1,024
deployment_fee0.06 ETH0.18 BNB1,440 POL0.06 ETH144 xDAI
INCLUSION_WINDOW10 blocks44 blocks12 blocks200 blocks5 blocks

Graduation

ConstantBaseBSCPolygonRobinhoodGnosis
GRADUATION_TOKENS400,000,000 × 10⁹ (400M)
PRIMARY_TOKEN_RAW360,000,000 × 10⁹ (360M)
SECONDARY_TOKEN_RAW40,000,000 × 10⁹ (40M)
GRADUATION_NATIVE4 ETH12 BNB96,000 POL4 ETH9,600 xDAI
PRIMARY_NATIVE_RAW3.6 ETH10.8 BNB86,400 POL3.6 ETH9,600 xDAI (no split)
SECONDARY_NATIVE_RAW0.4 ETH1.2 BNB9,600 POL0.4 ETH
GRADUATION_LIQUIDITY126491106406735173221908902300206644531959591794226542478551264911064067351732computed at mint
PRIMARY_GRADUATION_LIQUIDITY113841995766061655819718012070185980071763632614803888230691138419957660616558
INITIAL_SQRT_PRICE250541448375047931186413801561446501726624926496477173928716172380951520765437783147325054144837504793118641380156511415589947267542714504636

Fees

ConstantBaseBSCPolygonRobinhoodGnosis
FEE_TIER_1_BPS120 bps (1.2%) — V4 family only
FEE_TIER_2_BPS80 bps (0.8%) — V4 family only
FEE_TIER_3_BPS40 bps (0.4%) — V4 family only
FEE_THRESHOLD_TIER_212 ETH36 BNB288,000 POL12 ETH
FEE_THRESHOLD_TIER_324 ETH72 BNB576,000 POL24 ETH
Split (deployer / protocol / reinvest)30 / 10 / 6030 / 10 / 6030 / 10 / 6030 / 10 / 6040 / 20 / 40
SECONDARY_FEE_BPS60 bps (0.6%) — V4 family only
MIN_TOKEN_DUST1,000,000
DISTRIBUTE_THRESHOLD96 xDAI
PROTOCOL_THRESHOLD240 xDAI
POOL_DEPTH_THRESHOLD48,000,000 × 10⁹ (48M tokens) — Gnosis only

MEV Protection

ConstantValueApplies to
CAP_MULT_BPS100 (1.00× the live fee tier)All chains. On Gnosis the fee tier is static, so the cap is a flat 1%.
MAX_REINVEST_SLIPPAGE_BPS480 bps (4.8%)Internal reinvest swaps
SWAP_SLIPPAGE_BPS200 bps (2%)SecondaryHook $LP24 acquisition

CTO Voting

ConstantBaseBSCPolygonRobinhoodGnosis
QUORUM_PERCENTAGE40% YES of circulating
MIN_VOTERS10
VOTE_DURATION259,200 s (3 days)
MIN_EARLY_END_DELAY3,600 s (1 hour)
DEPLOYER_VOTE_MULTIPLIER
Majority ruleYES ≥ 1.1 × NO
INITIATOR_THRESHOLD60,000,000 × 10⁹ (60M, 5% of supply)
CTO_VOTE_FEE0.01 ETH0.03 BNB240 POL0.01 ETH24 xDAI

Pool Parameters

ConstantV4 familyGnosis
TICK_SPACING200200 (from the 1% tier)
POOL_FEE0 — taken by the hook10000 (1%)
MIN_TICK / MAX_TICK−887200 / 887200
SQRT_PRICE_AT_MIN_TICK4295128740
SQRT_PRICE_AT_MAX_TICK1461446703485210103287273052203988822378723970341
DEAD_ADDRESS0x000000000000000000000000000000000000dEaD

Vesting

ConstantValue
CLIFF_WEEKS24 weeks
TOKENS_PER_WEEK240,000 × 10⁹ (240k tokens)
SECONDS_PER_WEEK604,800

Hook Selectors

CallbackUniswap V4PancakeSwap Infinity
beforeInitialize0xdc98354e0xfecd2159
beforeSwap0x575e24b40xe592dc93
afterSwap0xb47b2fb10x6f6657cb
Permissions0x20CC — encoded in the mined hook address0x0CC1 — returned by getHooksRegistrationBitmap()

The selectors differ because the PoolKey struct shape differs, not because the semantics changed. BalanceDelta packing and the callback return shapes are identical across both venues.