🎁 Multi-Token Jackpot System
Overview
Winners don't just get ONE creator's tokens - they get ALL of them!
When you win the CreatorVault lottery, you receive a diversified portfolio of shares from EVERY active creator vault on the chain. This creates bigger, more exciting prizes and aligns all creators together in one shared lottery economy.
🎰 How It Works
1. One Lottery, All Creators
User buys wsAKITA on Uniswap
↓
6.9% fee → AKITA GaugeController (jackpot pool)
↓
Lottery entry created (based on trade size)
↓
VRF determines winner
↓
Winner gets shares from ALL active vaults! 🎁
2. Multi-Token Prize Breakdown
When someone wins, they receive 69% of the jackpot from EVERY active creator vault:
Winner receives:
├── wsAKITA shares (69% of AKITA vault jackpot)
├── wsDRAGON shares (69% of DRAGON vault jackpot)
├── wsXYZ shares (69% of XYZ vault jackpot)
└── ... (ALL active creator vaults!)
Result: Winner gets a diversified basket of ALL creator tokens! 🏆
💰 Example Payout
Scenario: 3 Active Creators
| Creator | Jackpot Balance | Winner Receives (69%) |
|---|---|---|
| AKITA | 10,000 wsAKITA | 6,900 wsAKITA |
| DRAGON | 5,000 wsDRAGON | 3,450 wsDRAGON |
| XYZ | 2,000 wsXYZ | 1,380 wsXYZ |
Total Prize: A diversified portfolio worth potentially $10K+ USD!
🌟 Benefits
For Users
- Bigger Prizes - Sum of all creator jackpots, not just one
- Diversification - Get exposure to ALL creators at once
- Exciting - One win = instant portfolio
- Fair - Anyone can win regardless of which token they buy
For Creators
- Network Effects - All creators benefit from each other's growth
- Aligned Incentives - Success of one helps all
- Larger Prize Pool - Attracts more traders
- Cross-Promotion - Winners become holders of all creator tokens
🔧 Technical Implementation
Core Function
/**
* @notice Pay jackpot from ALL active creator vaults
* @dev Iterates through registry.getAllCreatorCoins()
* @param triggeringCoin The token that triggered the lottery
* @param winner The lottery winner address
* @param payoutBps Percentage to pay (6900 = 69%)
* @return totalPaidOut Number of vaults that successfully paid
*/
function _payoutLocalJackpot(
address triggeringCoin,
address winner,
uint16 payoutBps
) internal returns (uint256)
Payout Logic
// Get ALL registered creator coins
address[] memory allCreators = registry.getAllCreatorCoins();
// Pay from EVERY active creator vault
for (uint256 i = 0; i < allCreators.length; i++) {
address creatorCoin = allCreators[i];
// Skip inactive
if (!registry.isCreatorCoinActive(creatorCoin)) continue;
// Get vault and gauge
address vault = registry.getVaultForToken(creatorCoin);
address gauge = registry.getGaugeControllerForToken(creatorCoin);
// Calculate 69% payout
uint256 jackpotShares = gaugeController.getJackpotReserve(vault);
uint256 rewardShares = (jackpotShares * 6900) / 10000;
// Transfer shares to winner
gaugeController.payJackpot(vault, winner, rewardShares);
}
Events
// Emitted for each individual vault payout
event CrossChainJackpotPaid(
address indexed creatorCoin,
address indexed winner,
uint256 shares,
uint256 tokenValue
);
// Emitted once for the overall multi-token win
event MultiTokenJackpotWon(
address indexed triggeringCoin, // Which token buy triggered the win
address indexed winner, // Who won
uint256 numVaultsPaid // How many vaults paid out
);
🔄 Cross-Chain Behavior
Same Pattern on Every Chain
Base Chain (Hub):
├── User wins on Base
├── Pays from ALL Base vaults
└── Broadcasts to Optimism, Arbitrum, etc.
Optimism Chain:
├── Receives winner notification
├── Pays from ALL Optimism vaults
└── Winner gets tokens on multiple chains!
Arbitrum Chain:
├── Receives winner notification
├── Pays from ALL Arbitrum vaults
└── More tokens for the winner!
Result: Winner gets creator tokens on EVERY chain! 🌍
📊 Prize Pool Growth
Network Effect
As more creators join, the jackpot grows exponentially:
| # Creators | Avg Jackpot/Creator | Total Prize Pool |
|---|---|---|
| 1 | $1,000 | $1,000 |
| 5 | $1,000 | $5,000 |
| 10 | $1,000 | $10,000 |
| 50 | $1,000 | $50,000 |
| 100 | $1,000 | $100,000 |
More creators = Bigger prizes = More excitement! 🚀
🎯 Use Cases
1. New Creator Discovery
- Win lottery by buying wsAKITA
- Receive wsAKITA + wsDRAGON + wsXYZ + ...
- Discover new creators you didn't know about!
2. Instant Portfolio
- One lottery win = diversified holdings
- No need to research and buy each token
- Get exposure to entire ecosystem
3. Community Building
- All creators rooting for each other
- Shared success benefits everyone
- Natural cross-promotion
🔐 Security & Fairness
Fail-Safe Design
try gaugeController.payJackpot(vault, winner, shares) {
// Success! Emit events
} catch {
// Failure in one vault doesn't stop others
// Continue to next vault
}
- Atomic Failure - One vault failure doesn't block others
- Non-Reverting - Always tries to pay from all vaults
- Event Logging - Track successes and failures
Edge Cases Handled
- Inactive Creator - Skipped automatically
- Empty Jackpot - Skipped (0 shares available)
- Contract Error - Try-catch prevents revert
- Unregistered Vault - Skipped (address(0) check)
📈 Example Scenarios
Scenario 1: Early Days (2 Creators)
AKITA Jackpot: 5,000 wsAKITA ($500)
DRAGON Jackpot: 3,000 wsDRAGON ($300)
---
Winner Prize: $800 in tokens
Scenario 2: Growing Ecosystem (10 Creators)
10 creators × $500 average jackpot = $5,000 total
Winner receives: ~$3,450 in diversified tokens (69%)
Scenario 3: Mature Platform (50 Creators)
50 creators × $1,000 average jackpot = $50,000 total
Winner receives: ~$34,500 in tokens! 🤑
🚀 Launch Impact
For AKITA Launch
When AKITA launches as the first creator:
Day 1: Only AKITA
├── Winner gets: wsAKITA only
└── Prize: 69% of AKITA jackpot
Week 4: AKITA + DRAGON launch
├── Winner gets: wsAKITA + wsDRAGON
└── Prize: 69% of both jackpots
Month 3: 5 creators active
├── Winner gets: Basket of 5 tokens
└── Prize: Growing exponentially!
🎊 Marketing Angle
"Win Once, Get Everything"
- Not just a lottery - a portfolio builder
- Discover creators through winning
- Bigger prizes attract more users
- More users = more fees = bigger jackpots
- Positive flywheel! 🎡
✅ Status
✅ Implemented in CreatorLotteryManager.sol
✅ Uses registry.getAllCreatorCoins()
✅ Pays from every active vault
✅ Emits MultiTokenJackpotWon event
✅ Cross-chain compatible
✅ Fail-safe error handling
✅ Compiles successfully
Status: READY FOR AKITA LAUNCH! 🚀
🔮 Future Enhancements
- Prize Preview - Show estimated prize value in UI
- Token Distribution Charts - Visualize what you could win
- Winner Showcase - Highlight multi-token wins
- Social Sharing - "I won tokens from 10 creators!"
- Leaderboards - Biggest multi-token wins
This is not just a lottery - it's a creator ecosystem accelerator! 🌟