PULL THE LEVER_
A casino-style memecoin running entirely on Uniswap v4 hooks.
Every buy of $U777 mints a lottery NFT.
Every 10 minutes, one holder wins 10% of all trading fees.
Every trade pulls the lever.
The whole protocol is a single Uniswap v4 hook. No off-chain bots, no admin keys, no team multisig. Just swaps, mints and a draw.
-
01
Swap ETH → $U777
The v4 pool's
afterSwaphook fires. Your trade is logged in the current epoch. -
02
Lottery NFT minted
The hook automatically mints you a U777 ticket NFT. Bigger swap = bigger weight in the draw.
-
03
Fees pile into the jackpot
10% of every trading fee in the pool is routed into the epoch's prize vault.
-
04
Draw every 10 minutes
An on-chain VRF roll picks one holder. Vault drains to their wallet. New epoch starts. Repeat.
More volume,
bigger pot.
The jackpot is the pool. There is no inflation, no emissions, no treasury take. If trading is dead, the pot is small. If volume rips, the pot rips with it.
- 10% of every swap fee → current epoch vault
- 100% of vault paid to one winner per draw
- Rare ticket NFTs (1-of-77, 1-of-7) get boosted odds
- Unburned tickets stay live across draws — your odds compound
Numbers a degen can read.
Five tiers. One winner.
Every swap mints a ticket. Most are common. Some are rare. The rare ones get exponentially boosted draw weights — and look the part.
~70 lines of Solidity.
That's the whole casino.
The entire protocol fits inside a single Uniswap v4 hook. No off-chain bots,
no admin keys, no API. Every behavior — minting, accounting, the draw —
happens inside afterSwap.
- Verified on Etherscan, ownership renounced
- Audited by Spearbit · Sherlock contest pending
- VRF via Chainlink, weighted by ticket tier
- No custody — pot lives in the hook contract
// the entire casino, distilled
function afterSwap(
address sender,
PoolKey calldata key,
IPoolManager.SwapParams calldata p,
BalanceDelta delta
) external override returns (bytes4) {
// 1. only count buys (eth → u777)
if (p.zeroForOne) {
uint256 fee = _feeOf(delta);
// 2. divert 10% of fee → jackpot vault
jackpot[currentEpoch] += fee / 10;
// 3. mint a weighted lottery ticket
uint256 weight = _rollTier(sender, fee);
tickets.mint(sender, currentEpoch, weight);
}
// 4. is it draw time?
if (block.timestamp >= drawAt) {
address winner = _pickWinner(currentEpoch);
_payout(winner, jackpot[currentEpoch]);
_rollEpoch();
}
return BaseHook.afterSwap.selector;
}
Where the wheel stops.
Four phases. No promises about price — only about what we ship.
-
PHASE 01 · DEPLOYED
The Hook is Live
Pool deployed on Uniswap v4. Hook verified. Ownership renounced. LP locked permanently.
-
PHASE 02 · NOW
Casino Goes Public
Casino UI live. Draws every 10 minutes. Twitter winner cards. First million in volume.
-
PHASE 03 · Q+1
Tier Marketplace
Trade ticket NFTs on a dedicated marketplace. Rare tier OG holders earn fee royalties.
-
PHASE 04 · Q+2
Multi-Pool Casino
Spawn U777 hooks on every major v4 pool. Cross-pool jackpot pyramid. Mega-draws every Sunday.
Yes, but actually how.
Is this a token or a lottery?
Both. $U777 is a vanilla ERC-20 you can hold and trade.
The lottery is a side effect of the v4 pool's afterSwap hook —
every swap mints a ticket NFT to the buyer.
How is the winner picked?
An on-chain VRF roll, weighted by how much $U777 each ticket represents. Rare ticket NFTs (jackpot, gold, lucky-7 series) get boosted weights.
Do I have to claim?
No. The hook pushes ETH straight to the winning wallet inside the same block as the draw.
What if no one trades for an hour?
Empty pots roll over into the next epoch. The longer it's quiet, the bigger the next score.
Is there a team / pre-sale / VC?
No. Liquidity is locked, ownership renounced, hook code verified on Etherscan. The casino runs itself.
The wheel is already spinning.
Next draw in 10:00. Get a ticket.
Open the Casino →