the chicken$CHICKEN
whitepaper · v0.1

$Chicken

a patience memecoin. selling resets you. holding climbs you. the longest-and-largest twenty wallets split the pot.

$Chicken is a single-pool token with a custom Uniswap v4 hook. Every trade through the canonical $Chicken / ETH pool pays a fee into a prize pot. Every wallet that holds tokens accrues a score measured in token-seconds. On a fixed cadence, the pot empties to the top twenty wallets by score, and the round restarts.

Two roles stack on every wallet:

  • patient holder — receives a slice of the pot if their score makes the top twenty when a round closes.
  • swapper — pays a 3% hook fee on every trade, in both directions. Buyers fund half the pot. Sellers fund the other half and forfeit their tenure.

§1 · supply & pool

  • total supply: 1,000,000,000 $Chicken — fixed, no mint, no burn outside the LP NFT.
  • decimals: 18.
  • pool: Uniswap v4 · $Chicken / ETH · fee 1% (10000) · tickSpacing 200 · full-range LP.
  • LP NFT: minted full-range and transferred to 0x…dEaD on launch — liquidity is irrevocable.

§2 · score

Each non-exempt wallet stores a single 64-bit timestamp,holdSince. Score is computed at read-time:

score(wallet) = balance(wallet) × (now − holdSince(wallet))

Units are token-wei × seconds. The leaderboard sorts by raw score — a wallet with 10× the balance and 1× the time ties a wallet with 1× the balance and 10× the time. That is intended.

On a transfer:

  • receiver: if their old balance was zero, theirholdSince is set to block.timestamp. If they were already holding, the stamp is preserved — DCA in without losing tenure.
  • sender: their holdSince is set toblock.timestamp, regardless of how much they sent. Score effectively zeroes.

§3 · the pot

The hook implements beforeSwap. Every swap touching the canonical pool pays a 3% fee on the input side, taken in whatever currency was input (ETH on a buy, $Chicken on a sell). The token-side fee is auto-swapped to ETH inside the hook so the pot stores a single, legible currency — ETH only.

The pot is the hook's ETH balance minus an internalcommittedETH counter that tracks unclaimed prizes from past rounds.

§4 · the round

A round is a fixed window of 7,200 blocks (~24h on mainnet). The first swap landed in or after the next round-close block triggers settlement:

  1. Hook reads its on-chain top-20 leaderboard (kept warm via partial sorts on every transfer).
  2. Pot ETH is split per the schedule below; each share is recorded as pendingETH[round][wallet].
  3. committedETH is incremented by the total split.
  4. roundEndsAt is bumped to block.number + 7200.

Split schedule:

  • rank 1 → 50.0% of pot
  • ranks 2–5 → 30.0% / 4 = 7.5% each
  • ranks 6–20 → 20.0% / 15 ≈ 1.333% each

§5 · claim

Prizes are pull-based. Winners call claim(roundId) on the hook. The hook decrements committedETH and transfers the ETH. Unclaimed prizes never expire and never roll forward.

§6 · exempt addresses

Three addresses do not accumulate score and do not receive payouts:

  • Uniswap v4 PoolManager — pool reserves shouldn't compete on the leaderboard.
  • Uniswap v4 PositionManager — transient holder during liquidity ops.
  • The hook — its own claimed prizes don't re-rank.

The exempt set is frozen at deploy. Ownership of the token is renounced immediately after pool seeding.

§7 · launch

For the first 60 minutes after pool seeding, no non-exempt wallet may exceed 1.5% of supply (15,000,000 $Chicken). After 60 minutes the cap is gone. This is a sniper guard, not an everything-guard: bot armies and sybil farms are accepted as the cost of a permissionless launch.

§8 · stack

  • Solidity 0.8.26 · Cancun · optimizer 1M runs
  • Uniswap v4-core PoolManager + v4-periphery PositionManager (mainnet canonical)
  • Hook address CREATE2-mined so the lower 14 bits encode beforeSwap | beforeSwapReturnDelta | afterSwap
  • OpenZeppelin Ownable (renounceable)
  • Foundry · forked-mainnet integration tests against real PoolManager bytecode

§9 · risks

  • Top-20 cliff — rank 21 gets nothing. Score is a competitive resource.
  • If volume is thin, the pot is thin. There is no backstop.
  • An attacker who sees a round-close coming can sell at the bottom and re-buy after, paying 2% in fees in exchange for whatever the post-payout price discount affords. This is a feature, not a bug — it just costs them.
  • The hook is bespoke — not a fork of an audited template. Read the source.
  • Uniswap v4 is freshly mainnet. The integration is built against the canonical release; deviations should be filed as issues.

tl;dr

1B supply · 3% swap fee in ETH · top-20 patience leaderboard · 50/30/20 split · sells reset · payouts every 7,200 blocks · LP burned · ownership renounced · no governance.