Skip to main content

🎁 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

CreatorJackpot BalanceWinner Receives (69%)
AKITA10,000 wsAKITA6,900 wsAKITA
DRAGON5,000 wsDRAGON3,450 wsDRAGON
XYZ2,000 wsXYZ1,380 wsXYZ

Total Prize: A diversified portfolio worth potentially $10K+ USD!


🌟 Benefits

For Users

  1. Bigger Prizes - Sum of all creator jackpots, not just one
  2. Diversification - Get exposure to ALL creators at once
  3. Exciting - One win = instant portfolio
  4. Fair - Anyone can win regardless of which token they buy

For Creators

  1. Network Effects - All creators benefit from each other's growth
  2. Aligned Incentives - Success of one helps all
  3. Larger Prize Pool - Attracts more traders
  4. 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:

# CreatorsAvg Jackpot/CreatorTotal 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

  1. Inactive Creator - Skipped automatically
  2. Empty Jackpot - Skipped (0 shares available)
  3. Contract Error - Try-catch prevents revert
  4. 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

  1. Prize Preview - Show estimated prize value in UI
  2. Token Distribution Charts - Visualize what you could win
  3. Winner Showcase - Highlight multi-token wins
  4. Social Sharing - "I won tokens from 10 creators!"
  5. Leaderboards - Biggest multi-token wins

This is not just a lottery - it's a creator ecosystem accelerator! 🌟