Skip to content

Lotto

Lotto

Lotto is Pachinko's lottery game, a multi-token, multi-winner lottery system where players purchase balls for a chance to win from the prize pool. With 4-hour rounds, up to 5 winners per draw, and support for multiple tokens including partner collaborations, Lotto offers a different pace of gameplay compared to Blockpad's rapid-fire rounds.

Game Overview

Lotto operates as a ball-based lottery where players purchase balls (tickets) during each round. When the 4-hour round ends, ORAO VRF generates cryptographically secure randomness, and a Fisher-Yates shuffle algorithm selects up to 5 winning balls. Winners share the prize pool based on their placement (1st through 5th), with a unique carryover mechanism that grows prize pools over time.

Core Specifications

SpecificationValue
Round Duration4 hours (configurable)
Ball Price0.01 SOL (default, varies by machine)
Maximum BallsNo limit (balance-constrained)
Winners Per RoundUp to 5 unique wallets
Prize Pool90% of ball sales
Platform Fee10% (structure varies by lottery type)
Carryover5% of each prize → next round
One Prize Per WalletMaximum one win per address per round
RandomnessORAO VRF + Fisher-Yates shuffle

Why Lotto?

FeatureBenefit
Multi-winnerUp to 5 prizes per round increases chances
Multi-tokenPlay with SOL, USDC, PACHI, or partner tokens
Longer rounds4 hours to accumulate, strategic buying
CarryoverPrize pools grow over time
Partner lotteriesCommunity-driven token lotteries
Truly fair and verifiableVRF + on-chain verification

How to Play

Lotto Lottery Interface

Step 1: Choose a Machine

Lotto supports multiple lottery machines, each accepting a different token. Choose the machine that matches your preferred cryptocurrency:

Home Lottery Machines (Hosted by Pachinko)

MachineTokenDefault Ball PriceFee Structure
SOL MachineNative SOL0.01 SOL10% to Treasury
USDC MachineUSD Coin0.01 USDC10% to Treasury
PACHI MachinePACHI TokenConfigurable10% to Treasury

Partner Lottery Machines (Co-hosted)

MachineTokenBall PriceFee Structure
Partner MachinePartner TokenConfigurable5% Pachinko + 5% Partner

Step 2: Fund Your Wallet

Deposit the appropriate token into your Unified Wallet:

Your Solana WalletSOL, USDC, or TokenDEPOSITUNIFIED WALLETSOLBalanceUSDCBalancePACHIBalance

Step 3: Buy Lottery Balls

Purchase balls from your chosen machine:

ActionDescription
Select machineChoose token type
Enter quantityNumber of balls to buy
Review costQuantity × ball price
Confirm purchaseBalls added to round pool

Each ball you purchase:

  • Receives a unique ball ID (sequential)
  • Acts as a lottery ticket for the current round
  • Contributes to the prize pool
  • Earns you points toward referral tiers
Ball Purchase Example:
─────────────────────
Machine: SOL
Ball Price: 0.01 SOL
Quantity: 50 balls
Total Cost: 0.5 SOL
Your Ball IDs: #4201 - #4250

Step 4: Wait for Round End

The round runs for 4 hours (configurable). During this time:

  • More players buy balls
  • Prize pool grows
  • Carryover from previous round is included
Lotto Round Timeline (4 Hours)0:001:002:003:004:00Ball Purchases Open & Prize Pool AccumulatesRound EndsVRF TriggeredPayoutsActive RoundEnd ProcessComplete

Step 5: Winner Selection

When the timer expires:

ROUND ENDSNo more purchasesVRF REQUESTRequest from ORAOORAO RESPONSE32-byte seed on-chainFISHER-YATESSHUFFLEDeterministic shuffleWINNERSELECTIONFirst 5 balls winPRIZEDISTRIBUTIONPrizes1st: 50%2nd: 25%3rd: 15%4th: 7.5%5th: 2.5%

Step 6: Collect Winnings

Winnings are automatically credited to your Unified Wallet in the same token used for the lottery.

Prize Distribution

Pool Breakdown

Total Ball Sales (100%)90% → Prize Pool├── 1st Place: 50%├── 2nd Place: 25%├── 3rd Place: 15%├── 4th Place: 7.5%└── 5th Place: 2.5%10% → Platform Fee(see structure below)

Prize Tiers

PlaceShare of Prize PoolExample (10 SOL pool)
1st50%4.5 SOL
2nd25%2.25 SOL
3rd15%1.35 SOL
4th7.5%0.675 SOL
5th2.5%0.225 SOL

If fewer than 5 unique players participate, fewer prizes are awarded.

Platform Fee Structure

Lotto operates two lottery types with different fee structures, each taking 10% Platform Fee from ball sales.

Lottery Types

TypeTokensHosted By
Home LotterySOL, USDC, PACHIPachinko
Partner LotteryPartner TokensPachinko + Partner

Home Lottery Fee Structure

Home Lotteries (SOL, USDC, PACHI) are hosted entirely by Pachinko.

Platform Fee (10% of pool)
└── 100% → Treasury
    ├── Referral Rewards: 0.1% - 1% (based on tier)
    └── Platform Revenue: ~9% minimum
AllocationPercentageRecipient
Treasury10%Pachinko

Referral Distribution (Home Lottery)

Referrer TierCommissionTreasury Remainder
No Referrer0%10% to Treasury
Tier 10.1%9.9% to Treasury
Tier 20.25%9.75% to Treasury
Tier 30.69%9.31% to Treasury
Tier 41.0%9.0% to Treasury

Partner Lottery Fee Structure

Partner Lotteries are hosted in collaboration with token projects. Fees are split between Pachinko and the partner.

Platform Fee (10% of pool)
├── 5% → Pachinko Treasury
│   ├── Referral Rewards: 0.1% - 1% (based on tier)
│   └── Platform Revenue: ~4% minimum

└── 5% → Partner Treasury
AllocationPercentageRecipient
Pachinko Treasury5%Pachinko
Partner Treasury5%Partner Project

Referral Distribution (Partner Lottery)

Referrer TierCommissionTreasury Remainder
No Referrer0%5% to Pachinko
Tier 10.1%4.9% to Pachinko
Tier 20.25%4.75% to Pachinko
Tier 30.69%4.31% to Pachinko
Tier 41.0%4.0% to Pachinko

Partner receives their 5% regardless of referral tier.

Token-Specific Rewards

Referral rewards are paid in the same token used for the lottery:

LotteryTokenReferral Reward Token
SOL LotterySOLSOL
USDC LotteryUSDCUSDC
PACHI LotteryPACHIPACHI
Partner LotteryPartner TokenPartner Token

Carryover Mechanism

5% of each winner's gross prize is held back and added to the next round's prize pool.

How It Works

Round 1 Prize Pool: 10 SOL
1st Place Gross:    5 SOL
Carryover (5%):     0.25 SOL → Next Round
1st Place Net:      4.75 SOL

Round 2 Starts:     0.25 SOL carryover added
New Ball Sales:     8 SOL
Round 2 Pool:       8.25 SOL

Prize pools grow over time as carryover accumulates.

Multi-Machine Architecture

Lotto supports multiple machines running simultaneously with different tokens and fee structures.

Home Lottery Machines

MachineTokenBall PriceFee Structure
SOL MachineNative SOL0.01 SOL10% to Treasury
USDC MachineStablecoin0.01 USDC10% to Treasury
PACHI MachinePACHI TokenConfigurable10% to Treasury

Partner Lottery Machines

MachineTokenBall PriceFee Structure
Partner MachinePartner TokenConfigurable5% Pachinko + 5% Partner

Machine Benefits

FeatureBenefit
Token varietyPlay with your preferred crypto
Independent poolsSeparate prize pools per machine
Simultaneous playEnter multiple machines at once
Partner integrationsCommunity-driven lottery pools

Truly Fair and Verifiable

ORAO VRF + Fisher-Yates Shuffle

StepWhat Happens
1Round ends → Request VRF from ORAO
2ORAO returns 32-byte random seed
3Seed initializes random state
4Fisher-Yates shuffle on ball pool
5Select up to 5 winning balls
6Ensure one prize per address
7Calculate prizes using percentages

Winner Selection Algorithm

1. Get VRF seed from ORAO (32 bytes)
2. Initialize random state with seed
3. Fisher-Yates shuffle all balls
4. Select up to 5 winning balls
5. Deduplicate by wallet address
6. Distribute prizes by placement

Verification

Anyone can verify:

  • VRF request transaction on Solana
  • Random seed published on-chain
  • Shuffle algorithm is deterministic
  • Results match seed output

Dynamic Pricing

Ball prices increase over time using a bonding curve mechanism. Early buyers pay the base price, while late buyers pay a premium.

BALL PRICE BONDING CURVEPrice increases over time — Early buyers get better deals1x2x4x6x9xPRICE MULTIPLIER0h2h4h6h8hTIME ELAPSEDBUY ZONESELL ZONEEarly buyers (1x-2x price)Late buyers pay premium (up to 9x)Arbitrage opportunity

Price Schedule

Time ElapsedPrice MultiplierExample (0.01 SOL base)
0 - 30 min1.0x0.01 SOL
30 min - 1h1.5x0.015 SOL
1h - 1.5h2.0x0.02 SOL
1.5h - 2h2.5x0.025 SOL
2h - 3h3.0x0.03 SOL
3h - 4h4.0x0.04 SOL
4h - 5h5.0x0.05 SOL
5h - 6h6.0x0.06 SOL
6h - 7h7.0x0.07 SOL
7h - 7.5h8.0x0.08 SOL
7.5h+9.0x0.09 SOL

Price schedule is configurable per machine.

Ball Marketplace

The Ball Marketplace allows players to trade lottery balls with each other. This creates an opportunity for early buyers to profit by selling to late joiners.

How It Works

BALL MARKETPLACEBuy early, sell later — Trade balls with other players🎱 SELLERBought ball early at 1xCost: 0.01 SOLLIST FOR SALESet price: 0.05 SOL🏪 MARKETPLACEBall #12340.05 SOL🛒 BUYERJoined late (5x price)Would pay: 0.05 SOLBUY FROM MARKETSame price, better odds!SALE BREAKDOWN (0.05 SOL)SELLER RECEIVES0.045 SOL (90%)FROM BUYER0.05 SOLTREASURY FEE0.005 SOL (10%)💰 SELLER PROFIT: 0.045 - 0.01 = 0.035 SOL (350% return!)Buyer saves money vs buying direct at current 5x price

Marketplace Actions

ActionDescriptionFee
List BallPut your ball up for sale at your chosen priceFree
Delist BallRemove listing, keep your ballFree
Buy from MarketPurchase listed ball from another player10% treasury fee

Why Use the Marketplace?

For Sellers:

  • Buy balls early at 1x price
  • List them later when price has increased to 5x-9x
  • Profit from the price difference (minus 10% fee)

For Buyers:

  • Find balls at potentially better prices than current bonding curve
  • More options closer to round end
  • Same winning odds as any other ball

Marketplace Fee Structure

ComponentPercentageRecipient
Seller Receives90%Ball seller
Treasury Fee10%Pachinko Treasury

The 10% marketplace fee goes directly to the treasury, supporting platform operations and referral rewards.

Trading Example

SCENARIO: 4-hour round, ball price at 5x

Early Buyer (Hour 0):
├── Buys ball at 1x = 0.01 SOL
├── Lists for sale at 0.045 SOL

Marketplace Sale:
├── Buyer pays: 0.045 SOL
├── 10% fee: 0.0045 SOL → Treasury
├── Seller receives: 0.0405 SOL

Result:
├── Seller profit: 0.0405 - 0.01 = 0.0305 SOL (305% return)
└── Buyer saves: 0.05 - 0.045 = 0.005 SOL vs direct purchase

Important Notes

RuleDetail
Same round onlyCan only trade balls from the current active round
Listing cutoffCannot list balls in the last 10% of round time
Ownership transferBall ownership updates on-chain immediately
Prize eligibilityBuyer is eligible for prizes if ball wins

Frequently Asked Questions

For common questions about Lotto, see the FAQ → Lotto section.

Technical Specifications

ParameterValue
BlockchainSolana
Program IDs (Devnet)See Smart Contracts
Round Duration4 hours (configurable)
WinnersUp to 5 per round
Prize Pool90% of ball sales
Platform Fee10% (Home: 100% Treasury, Partner: 50/50 split)
Carryover5% of each prize
VRF ProviderORAO Network
Selection AlgorithmFisher-Yates shuffle

Pro Tips

TipWhy It Works
Buy earlyGet base price before multipliers
Diversify machinesSpread across token pools
More balls = better oddsSimple probability
Watch carryoverHigh carryover = bigger prizes
Check player countFewer players = better odds

Built on Solana