πPrize pool
How does on-chain randomness work in Gacha Card?
1. Generating a Cryptographically Secure Seed
When a user opens a Gacha Card:
A request is sent to Proof of Play, a decentralized oracle, to generate a cryptographically secure random seed.
This seed (a unique, verifiable string of data) serves as the foundation for all subsequent randomness in the process.
The seed is processed through a deterministic algorithm to derive three distinct random values, each governing a critical component of the outcome:
Value 1: Pool Selection
Output: A binary result (1 or 2).
Function:
1
: Prize is allocated from the ETH Pool (primary rewards) with 70% chance2
: Prize is allocated from the Meme Coin Pool (eg. $PENGU) with 30% chance
On each Gacha Card, you have the winning symbol on top of the scratch area. That indicates which prize pool you are winning from

Value 2: Tier Assignment
Output: An integer between 1 and 6 mapped to a predefined probability distribution.
Tier Structure for Community Card (~$6.5):
Tier# of symbol on the cardPrizes as % of the poolWin Rate1
10.13%
35.4%
2
20.14%
37.2%
3
30.5%
33.93%
4
40.6%
36.35%
5
60.7%
36.351%
6
815.0%
0.06%
Tier Structure for Gacha mini ($1.5):
Tier# of symbol on the cardPrizes as % of the poolWin Rate1
10.03%
35.4%
2
20.04%
37.2%
3
30.12%
33.93%
4
40.14%
36.35%
5
60.17%
36.351%
6
83.65%
0.06%
Value 3: Win Validation
Output: A float between 0.00 and 100.00 (2 decimal places)
Validation Logic: The float is compared to the win rate of the assigned tier
Win Condition: Float β€ Tier win rate β Prize awarded
Example with $10 card:
Tier 6 (0.5% threshold): A float of 0.50 β Win. 0.51 β Loss
Tier 1 (35.4% threshold): A float of 10.00 β Win; 35.5β Loss
Last updated