Protocol Overview
FairLuck is a decentralized lottery protocol deployed on Base (Ethereum L2). It uses Chainlink VRF (Verifiable Random Function) for provably fair winner selection, ensuring no entity β including the protocol team β can predict or manipulate outcomes.
The protocol operates multiple independent pools with different risk/reward ratios. Users contribute stablecoins (USDT or USDC) to pools, where each $1 contributed equals one ticket. At the end of each cycle, Chainlink VRF randomly selects winning ticket(s), and 100% of the pool funds are distributed to winners.
Key Principle: 100% of contributed funds go to winners. The protocol only earns from the 1% platform fee collected at contribution time.
How It Works
Connect Wallet β Connect via MetaMask, WalletConnect, Google, or Apple sign-in using Reown AppKit.
Choose a Pool β Select from 6 pools with multipliers ranging from 10X to 1,000,000X.
Contribute USDT/USDC β Each $1 = 1 ticket. A 1% platform fee (min $1) is added on top. Integer amounts only.
Wait for Draw β Daily pools end at midnight PT. Weekly pools end Sunday midnight PT. Contributions close 5 min before.
VRF Selects Winner β Chainlink VRF generates a verifiable random number on-chain. The winning ticket index is determined.
Prize Distributed β 100% of pool funds go to the winner. A new cycle starts automatically.
Pool Types & Cycles
FairLuck operates 6 independent pools, each with different multipliers and winning odds:
| Pool | Odds | Cycle | Min Threshold |
|---|---|---|---|
| 10X | 1 in 10 | 24 hours | $10 |
| 100X | 1 in 100 | 24 hours | $100 |
| 1,000X | 1 in 1,000 | 24 hours | $1,000 |
| 10,000X | 1 in 10,000 | 24 hours | $10,000 |
| 100,000X | 1 in 100,000 | 7 days | $100,000 |
| 1,000,000X | 1 in 1,000,000 | 7 days | $1,000,000 |
Minimum Threshold: If a pool does not reach its minimum threshold by the end of the cycle, all contributions are refunded (platform fee is non-refundable). This ensures winners always receive the full multiplier amount.
Withdrawal: Users can withdraw their contribution up to 5 minutes before the cycle ends. The platform fee is non-refundable. After withdrawal, users can re-enter with a new contribution.
Fees & Distribution
Platform Fee: 1% of the contribution amount, with a minimum of $1, always rounded up to an integer.
$50 contribution β $1 fee (1% = $0.50, but min is $1)
$200 contribution β $2 fee
$150 contribution β $2 fee (1% = $1.50, rounded up)
$1000 contribution β $10 fee
Prize Distribution: 100% of the pool funds (all contributions minus any withdrawals) are distributed to the winning ticket holder. The protocol does not take any cut from the prize pool.
Fee Collection: Platform fees are collected by the FeeCollector smart contract, which is governed by the FairLuck DAO through the governance system.
Chainlink VRF & Fairness
FairLuck uses Chainlink VRF v2.5 (Verifiable Random Function) to generate provably fair random numbers for winner selection. This is the gold standard for on-chain randomness in DeFi.
How VRF ensures fairness:
- Random numbers are generated off-chain by Chainlink oracle nodes using a cryptographic proof
- The proof is verified on-chain before the random number is accepted β if the proof is invalid, the transaction reverts
- No one (including miners, the protocol team, or Chainlink nodes) can predict or manipulate the outcome
- Every draw result is verifiable on-chain by anyone
Draw Process:
- Pool cycle ends β Chainlink Automation triggers
requestDraw() - FairLuckVRF contract requests a random number from Chainlink VRF Coordinator
- Chainlink VRF generates a random number with cryptographic proof
- The random number is delivered on-chain via
fulfillRandomWords() - The winning ticket index is calculated:
randomNumber % totalTickets - Prize is distributed to the ticket holder at that index
Verification: Every VRF request and fulfillment is recorded on-chain. You can verify any draw by checking the transaction on BaseScan.
Smart Contract Architecture
The FairLuck protocol consists of 13 smart contracts (8 unique contracts, with 6 pool instances), all deployed and verified on Base:
FairLuckPool.sol
Core pool logic β manages cycles, contributions, withdrawals, ticket assignment, and prize distribution. Each pool is an independent instance with its own multiplier and cycle duration.
FairLuckVRF.sol
Chainlink VRF integration β handles random number requests and fulfillment. Acts as the bridge between pools and Chainlink VRF Coordinator.
FeeCollector.sol
Collects and manages platform fees. Governed by the DAO through the timelock governance system.
FAIRToken.sol
ERC-20 governance token with voting capabilities (ERC20Votes). Used for protocol governance through the FairLuck DAO.
FairLuckGovernor.sol
OpenZeppelin Governor-based DAO contract. FAIR token holders can propose and vote on protocol changes.
FairLuckTimelock.sol
TimelockController that enforces a delay between governance proposal approval and execution, providing security against malicious proposals.
FairLuckAutomation.sol
Chainlink Automation compatible contract that automatically triggers draws when pool cycles end. Monitors all pools and calls requestDraw when needed.
FairLuckTokenClaim.sol
Immutable FAIR token distribution contract. Users register eligibility based on pool contributions and claim governance tokens. Includes monthly caps (10M global, 100K per address), 12-month expiry, and DAO reclaim for expired tokens.
Contract Addresses: All contracts are verified on BaseScan. View them at:
FAIRToken: 0x086a...BBf8
FairLuckTimelock: 0x008B...FD18
FairLuckGovernor: 0xac3E...87b3
FeeCollector: 0x20Fa...899D
FairLuckVRF: 0x20C8...1eA1
Pool 10X: 0x461e...BFB2
Pool 100X: 0x389c...d2C
Pool 1000X: 0x4F32...51C7
Pool 10000X: 0x1953...375C
Pool 100000X: 0xC4e1...2583
Pool 1000000X: 0xfb1C...F04c
FairLuckAutomation: 0xF4C1...ABB6
FairLuckTokenClaim: 0xa138...c9bf
FAIR Token & Governance
FAIR is the governance token of the FairLuck protocol. It is an ERC-20 token with voting capabilities (ERC20Votes + ERC20Permit).
Token Details:
Name: FairLuck
Symbol: FAIR
Total Supply: 1,000,000,000 (1 billion)
Decimals: 18
Contract: 0x086a1599285Be6024CB41DE8c19DD0839603BBf8
Governance:
- FAIR holders can delegate their voting power and participate in governance proposals
- Proposals can modify protocol parameters, manage the fee collector, and upgrade contracts
- All governance actions go through a timelock for security
- The governance system uses OpenZeppelin's Governor framework
Security & Audits
FairLuck prioritizes security through multiple layers:
- Verified Contracts: All smart contracts are verified and open-source on BaseScan
- OpenZeppelin: Built on battle-tested OpenZeppelin contracts (Governor, TimelockController, ERC20Votes)
- Chainlink VRF: Provably fair randomness β no one can predict or manipulate outcomes
- Chainlink Automation: Decentralized draw triggering β no single point of failure
- Timelock Governance: All protocol changes require a time delay, preventing instant malicious changes
- Immutable VRF: The VRF contract ownership is renounced after setup β it cannot be modified
Security Audit
The FairLuck protocol has been reviewed by Grey Zone Security Review Team.
View Full Audit ReportRisks & Disclaimers
Important: Please read carefully
FairLuck is a decentralized protocol. Participation involves financial risk. Only contribute funds you can afford to lose.
- Loss of Funds: In any pool, the majority of participants will not win. Only 1 out of every N tickets wins (where N = the pool multiplier).
- Smart Contract Risk: While contracts are audited and verified, no smart contract is guaranteed to be free of vulnerabilities.
- Platform Fee: The 1% platform fee is non-refundable under all circumstances, including withdrawals and threshold refunds.
- Stablecoin Risk: The protocol treats USDT and USDC as $1 regardless of market price. Depeg events could affect actual value.
- Regulatory Risk: Cryptocurrency regulations vary by jurisdiction. Users are responsible for compliance with local laws.
- No Guarantees: Past results do not guarantee future outcomes. Each draw is independent and random.
FairLuck is not available to residents of the United States or any jurisdiction where participation in decentralized lottery protocols is prohibited by law.
