The grail vault — sealed packs ripping into the prize pool, every pull VRF-provable.
THE BIGGEST GRAILS EVER PULLED — RANKED BY INSURED VALUE.
⛓ Every grail is a real PSA-graded Pokémon card, vaulted & insured by Collector Crypt. Hold the NFT, or redeem it to ship the physical slab to your door. Values shown are insured USD at win time.
Pick any past draw below — the tool loads that draw's recorded ticket pool, then replays the exact math (FNV-1a hash → Mulberry32 RNG → weighted ticket pick) from its blockhash seed and checks whether it reproduces the winner on record. If the recomputed winner doesn't match, it fails.
Every draw, with its Solana blockhash seed and the resulting NFT transfer tx. Click any blockhash (or ▶ VERIFY) to replay the draw from that seed and confirm it reproduces the recorded winner — a result that follows deterministically from a public blockhash nobody could predict.
| TIME (UTC) | WINNER | TICKETS | BLOCKHASH SEED | CARD TX | |
|---|---|---|---|---|---|
| Loading audit data... | |||||
Two parts, multiplied. Part one is your badge bonus (a flat add for your tier) plus the square root of your bag (counted in 50K units). Part two is your hold-time multiplier (1×–4×). The formula the draw engine actually runs:
tickets = max(1, round( ( badge bonus + ⌊√(bag ÷ unit)⌋ ) × hold mult ))
The unit is 50,000 (it shrinks as market cap grows — see the next card), and the √ term is hard-capped at +50. Watch it compute on three real bags (fresh, 1× hold):
See it? A 250× bigger bag (100K → 25M) earns 62× the tickets, not 250×. The √ does that — and capped at 50, even a 125M+ monster bag tops out around ~90 tickets. Whales pay up; they can't buy the pool. 🐳
Every badge tier, and the tickets you start with at exactly that threshold:
Then hold-time multiplies the whole thing — climbing smoothly up to 4× at one year (see below). A 💧 Cascade held 6 months (~3.1×) turns 4 tickets into 12, beating a fresh ⚡ Thunder who bought 4× the bag. And nothing's guaranteed: each hour, P(win) = your tickets ÷ total pool, rolled fresh — so across N draws your shot at one win is 1 − (1 − p)N, and a lone 🪨 Boulder can still snipe an 🌍 Earth on any single hour. ⏳ Minimum to earn a ticket: 50,000 $GRAIL (and that minimum drops with the market-cap divisor, just like the thresholds). To win, your wallet also has to be 7+ days old. And when you add to a bag you already hold, those new tokens count toward your badge and tickets gradually, over a few hours — see Buy-In Vesting below. ⏳
As $GRAIL climbs, each token gets pricier — so the badge thresholds drop to keep the same dollar buy-in earning roughly the same badge. A divisor (set by market cap) divides both the badge thresholds and the 50K unit. New buyers always have a path in. 🚪
Worked example — the same 50,000 bag, zero extra tokens bought. At launch (÷1): unit 50K, Cascade needs 250K, so 50K only clears Boulder → 0 + ⌊√1⌋ = 1 ticket 🪨. At $25M+ MC (÷10): unit drops to 5,000 and Cascade now needs just 25,000 — your 50K clears it → 2 + ⌊√(50K÷5K)⌋ = 2 + ⌊√10⌋ = 2 + 3 = 5 tickets 💧. Same bag, Boulder → Cascade, just by HODLing through the run. 📈
Sticky, not stuck. The bracket auto-tracks market cap both ways (key: grail:mc-bracket), but with a ~10% deadband at each tier line — so a wick won't bounce you between brackets. Your badge only steps back down if MC falls and stays clearly below the tier you climbed into. 🎢
Your badge sets your tickets — and how long you hold multiplies them, on a smooth curve with no cliffs. Diamond hands get rewarded:
No tiers, no cliffs — your multiplier climbs every tick you keep holding, and buying more never resets it. Tenure is tracked per wallet, so once you've earned it, stacking a bigger bag only adds — it can't knock you back to 1×.
A 💧 Cascade Badge holder who holds for 6 months (~3.1×)? Their 4 tickets become 12 — beating a fresh ⚡ Thunder Badge holder who bought 4× the tokens (and gets 8). You don't need to outspend whales; you need to outlast them.
Adding to your bag counts in gradually. Your badge and ticket size are gated on your sustained holdings, not a momentary balance — so when you top up a position you already hold, the new tokens phase into your ticket count over a few hours instead of all at once. That's what stops anyone from flash-depositing a giant bag right before an hourly draw, winning, then yanking it back out. 🛡️
The size anchor (a moving average of how much you hold) closes ~10% of the gap every ~23 minutes, so a fresh top-up vests on this curve:
Brand-new wallets are different. A wallet's first buy counts at full size right away — there's nothing to average against yet — though it still needs 7 days on-chain before it can win and starts at the 1× hold multiplier. Vesting only applies to adding to a bag you already hold. Your trainer card shows a live 🔓 vesting readout: what % of your bag counts right now, and roughly how long until full weight.
Trimming is instant, though. Sell below your sustained size and the anchor re-anchors straight down on the very next tick — so you can never sit on tickets for tokens you no longer hold. Slow to earn, quick to lose. This is the same size anchor your hold-time multiplier rides on, so cutting your bag costs tenure too. ⚖️
Today, every draw is a steady 60 minutes ⏱ — but the clock is built to speed up when the market does. The hotter $GRAIL runs, the faster the grails fly. Here's the math that sets the timer.
The engine runs at one of four speeds, and it can never go faster than the rung the market has actually earned:
Two dials, and it obeys the slower one. Each draw reads the market cap and the last hour's volume, scores each on its own 0–3 ladder, and takes the lower of the two — so volume can confirm a speed-up but never fake one. (Volume is the cheapest signal to spoof, so it's never allowed to drive the clock alone.)
next draw = min( market-cap tier, volume tier ) ⏱
Momentum can nudge it ±1. On top of the raw thresholds, the engine smooths the rate of change of cap and volume (an EMA — so one green candle can't fool it). A sustained climb of roughly +18%/hr that's still rising earns one extra rung; the instant momentum rolls negative, that rung is handed straight back.
Climb slow, drop fast. ⚖️ A faster rung has to hold for two draws in a row before it kicks in — acceleration is earned, never granted on a single blip. Slowing is instant: one cold draw and the timer eases right off. So the clock can't outrun a pump that's already reversing, and never lags a market that's cooling.
Safety always wins — the gates can only slow it. If the prize vault runs low (≤2 grails pins it to 60 min; under 6 caps it at 45) or the auto-buy that restocks prizes goes quiet, acceleration is cut to zero. The draws never speed up into a shelf that isn't being refilled. 🛡️
Where it stands today. The engine is live in shadow mode — every draw it computes its would-be speed and logs it, while the visible timer holds a steady 60 minutes. Once the vault and auto-buy are funded to sustain a quicker pace, the master switch flips to auto and the clock starts breathing with the market. 🌗
No. This site is 100% view-only. We never ask you to connect, sign, or approve anything. Your wallet just needs to hold $GRAIL.
Real Pokémon cards are pulled from packs, graded/insured by Collector Crypt, and minted as NFTs on Solana. 100% of trading fees fund the prize pool.
Yes — every grail is a real-world asset (RWA). The NFT is a 1:1 claim on a genuine PSA-graded Pokémon card held in Collector Crypt's insured vault. You can hold the NFT, trade/sell it, or redeem it to have the physical PSA slab shipped to your door. The card is real whether you keep it digital or in hand.
Each draw uses a finalized Solana blockhash as its random seed — unbiasable and publicly verifiable. Check the Verify tab to replay any past draw yourself.
50,000 $GRAIL tokens earns you a Boulder Badge — 1 ticket per draw. Earn higher badges for more tickets, up to 62 at Earth Badge (25M+).
To keep sniping bots and throwaway sybil wallets out, your wallet's first on-chain activity must be at least 7 days old to be eligible to win. You can still hold and accrue tickets the moment you buy — the age check only applies to winning, not to holding.
Topping up a position you already hold vests in gradually — the new tokens count toward your badge and tickets over a few hours (about 10% of the gap every ~23 min, ~full weight in ~12h), so nobody can flash-deposit a giant bag right before a draw and snipe it. Your trainer card shows a 🔓 vesting readout with the live percentage and an ETA. A brand-new wallet's first buy counts at full size right away; trimming below your sustained size, by contrast, drops instantly. See Buy-In Vesting above for the full curve.
Yes. Everything — the draw logic, the site, the API — is public and open source. Nothing hidden.
Hold 50,000 $GRAIL — your 🪨 Boulder Badge — and you're in. The chat is token-gated by Moby: open the bot, then either buy $GRAIL through it or import your existing wallet to verify your bag. It's the same 50K that already puts you in every hourly draw, so most holders are one tap away. 💬