documentation
everything you need to know about the uniluck protocol
UniLuck is a lucky holder lottery token built on Ethereum using Uniswap v4 hooks. Every 15 minutes, one eligible holder wins the entire accumulated swap tax from that period.
The protocol uses Chainlink VRF for provably fair randomness and Chainlink Automation for trustless draw triggers.
Hold at least 1,000,000 LUCK tokens in your wallet to be eligible for draws.
Every swap on the LUCK/ETH pool incurs a 3% tax. This tax accumulates in the prize pool.
Every 15 minutes, Chainlink Automation triggers a new draw. Chainlink VRF generates a provably random number.
The random number selects a winner from all eligible holders. Winners are weighted by a square-root formula based on holdings.
Winners have 24 hours to claim their ETH prize. Unclaimed prizes roll over to the next round.
To participate in draws, you must hold at least 1,000,000 LUCK (0.1% of total supply).
Your number of entries is calculated using a square-root formula:
entries = floor(sqrt(balance / minThreshold))
This means holding more tokens gives you more entries, but with diminishing returns. A holder with 4x the minimum gets 2 entries, not 4.
| total supply | 1,000,000,000 LUCK |
| swap tax | 3% (buy & sell) |
| tax distribution | 100% to prize pool |
| draw interval | 15 minutes |
| min holding | 1,000,000 LUCK |
| claim window | 24 hours |
| network | ethereum mainnet |
The protocol consists of three core contracts:
The protocol uses several security measures:
- Chainlink VRF v2.5 for tamper-proof randomness
- Merkle proofs for gas-efficient holder verification
- ReentrancyGuard on all external calls
- 24-hour claim window with automatic rollover
- Owner-configurable parameters with safety bounds
- No proxy pattern — immutable token contract