$Chicken
$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…dEaDon 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, their
holdSinceis set toblock.timestamp. If they were already holding, the stamp is preserved — DCA in without losing tenure. - sender: their
holdSinceis 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:
- Hook reads its on-chain top-20 leaderboard (kept warm via partial sorts on every transfer).
- Pot ETH is split per the schedule below; each share is recorded as
pendingETH[round][wallet]. committedETHis incremented by the total split.roundEndsAtis bumped toblock.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.