Quick start#
- Open the home page and tap Tap to play, or press Space.
- Play today's game. Every game is one button: tap, click or press Space. The line under Tap to play says how today's works.
- When the run ends, pick a leaderboard name. Your best run of the day counts.
- Beat the dev score, then go for the top 3 before 16:00 UTC.
- Won the free pot? A claim banner shows up in the same browser. Paste a Solana address within 24 hours.
Guides#
Play the free pot
Free, with unlimited tries and no wallet. The first time you play, your browser creates a secret player key that owns your name and your prizes. Runs can't be paused: switching tabs or apps mid-run voids that run.
- Run voided: you left the game mid-run. Play again and keep the tab in front.
- That name is taken: names are unique (ignoring capitals). Pick another one.
Enter a paid pot
- Pick a paid pot (0.01, 0.05 and 0.1 SOL) above the leaderboard.
- Connect a Solana wallet and sign the sign-in message. Signing is free and can't move funds.
- Buy a ticket. Your wallet shows one transfer of the exact ticket price to that pot's public address. Approve it.
- You get 5 tries. Your best try counts on that pot's board.
We only ever ask your wallet for the sign-in message and that one exact transfer. Never a token approval, never "sign all". If a page asks for more, it isn't us.
- Payment not found yet: the transfer hasn't confirmed. Wait a few seconds; it's picked up automatically.
- No tries left in this pot: buy another ticket, or switch to the free pot.
Claim a free-pot prize
After the reset and the review, a claim banner shows up in the browser you played on. Paste a Solana address within 24 hours. The payout's transaction is posted on the winners page. Prizes nobody claims roll into the next day's prize pool. Paid-pot prizes need no claim: they go back to the wallet that paid.
Your name and your wallet
Press Connect wallet (top right), pick a name, and your wallet signs a free message to prove it's yours. Your name now belongs to that wallet. On another device, connect the same wallet and press Sign in with this wallet to carry on as the same player, with your name and prizes. Without a wallet, your player lives in the browser you played on.
Check a run's proof
Open any run's share link and scroll to Proof of Play. It lists every check, what each one found, and the run's timing fingerprint. Right after a run, the game-over panel links to it. A seal next to a score on the leaderboard means that run passed every automatic check.
Weekly championship
Every day, your final free-pot rank earns points: 1,000 for first, scaling down to the last place. Your best 5 days of the week count, Monday to Sunday (UTC). At Sunday's reset the top 3 split the weekly pot 60 / 25 / 15. See the weekly page.
Rooms
Make a room on the rooms page and share its link. The room has its own board for its members, on the same daily game.
Vote on future games
On the vote page, suggest an idea for the next game and vote on other people's. The vote closes at 04:00 UTC. The top idea is built over the next 12 hours as a brand-new game, a person tests it, and it goes live at 16:00 UTC. You can suggest one idea and cast one vote in each vote, and taking part needs a run in today's game.
Verify as a $POP holder
Opens when $POP launches. You'll link a wallet on the token page by signing a message, and wallets with at least 100,000 $POP get the holder badge and skins.
Glossary#
| Word | Meaning |
|---|---|
| Game of the day | The one game everyone plays today. Every game after the first is one the players voted for. |
| Run | One play, from the first tap until you're out. |
| Pot | A prize pool with its own leaderboard: the free pot, or a paid pot at 0.01, 0.05 and 0.1 SOL. |
| Ticket | 5 tries in one paid pot, for that day's game. |
| Dev score | What our playtest bot scores on the day's game: the line to beat. |
| Reset | 16:00 UTC, when the day's boards freeze and a new game goes live. |
| Proof of Play | The checks every run goes through, and the public proof each run gets. |
| Timing fingerprint | A chart of how early or late each judged tap in a run was. |
| Sent to a person | A check flagged the run. It stays on the board, and a person looks at it before any payout. |
| Player key | The secret your browser keeps. It owns your name and your prizes. Link a wallet to carry it to other devices. |
| House cut | The 10% of paid-pot tickets that funds buybacks and holder rewards. |
| Room | A private board for a group of friends or a community. |
Fees and limits#
| What | Value |
|---|---|
| Free pot entry | Free, unlimited tries |
| Free pot size | 80% of the prize wallet's unpromised balance, frozen at reset |
| Paid pot tickets | 0.01, 0.05 and 0.1 SOL |
| Tries per ticket | 5 |
| House cut on paid pots | 10% |
| Prize split, every pot | 60 / 25 / 15 |
| Free-pot claim window | 24 hours |
| Weekly pot | 20% of the free prize pool |
| Weekly days that count | Best 5 of 7 |
| Holder badge | At least 100,000 $POP |
| Longest run | 10 minutes |
| Fastest tapping counted | One tap per 3 frames (50 ms) |
| Progress check-ins | Every 5 seconds of play |
| Runs started, per connection | 60 per 10 minutes |
| Runs submitted, per connection | 60 per 10 minutes |
| Rooms created, per connection | 5 per hour |
Wallets and addresses#
These are mainnet addresses. Check them against our official accounts before you send anything.
| What | Address |
|---|---|
| Free pot prize wallet | Published here at launch |
| 0.01 SOL pot | Published here at launch |
| 0.05 SOL pot | Published here at launch |
| 0.1 SOL pot | Published here at launch |
| $POP mint | Not launched yet |
Public data#
These endpoints are public JSON, free to read. Please keep it to a request every few seconds.
Today's game
GET /api/today returns the live game's full config, its dev score, when it closes and the prize split.
GET /api/today
{ "game": { "id": "2026-10-16", "title": "Candle Stack", "template": "stack", ... },
"devScore": 64, "endsAt": "2026-10-17T16:00:00.000Z", "prizeSplit": [60, 25, 15], "cluster": "devnet" }Leaderboard
GET /api/leaderboard?gameId=…&tier=free returns a pot's top 10. proof is true when that run passed every automatic check.
GET /api/leaderboard?gameId=2026-10-16&tier=free
{ "gameId": "2026-10-16", "tier": "free", "devScore": 64, "players": 1, "beatDev": 1,
"top": [{ "rank": 1, "player": "qa_tester", "score": 320, "holder": false, "proof": true }] }Pots
GET /api/pots?gameId=… returns every pot's size after the house cut, its players and its public address.
GET /api/pots?gameId=2026-10-16
{ "cluster": "devnet", "pots": [{ "tier": "bronze", "potLamports": 0, "entriesLamports": 0,
"tickets": 0, "players": 0, "address": "DEhm…WpB", "open": true }, ...] }Live feed
GET /api/feed?gameId=…&after=0 returns the day's events (new leaders, dev score beaten). Pass the last id you saw as after.
GET /api/feed?gameId=2026-10-16
{ "events": [{ "id": 116, "at": "2026-10-16T06:59:52.425Z", "tier": "free", "kind": "beat_dev",
"player": "qa_tester", "data": { "dev": 64, "score": 320 } }] }Holder rewards
GET /api/rewards?address=… lists every SOL reward paid to an address, with transactions.
GET /api/rewards?address=<your address>
{ "address": "…", "payouts": [] }FAQ#
How big is the free pot?
It's paid from the prize wallet, which 50% of $POP creator fees fill. Each day's free pot is 80% of what the wallet hasn't already promised (prizes won but not paid yet, and this week's weekly savings); the other 20% is saved for the weekly pot. The game shows today's amount live, it freezes at reset, and the top 3 split it 60 / 25 / 15. Before $POP launches, it's 0.
Where does my SOL go?
A ticket is one transfer to that pot's public address. At reset, 90% of the pot goes to its top 3 (60 / 25 / 15) and 10% is the house cut for buybacks and holder rewards. You can watch every pot's balance on Solscan.
Can I get it back?
No. Tickets aren't refunded once bought. If an outage stops play, we can give the lost tries back.
Is this a rug?
You shouldn't have to take our word for it, so the money is checkable. Pot wallets are multisigs, every payout has a public transaction, the fee split is locked on-chain at launch, and every run's proof is public. $POP is still a risky token, and its price can go to zero.
What if I'm the only one in a pot?
You place first and win the 60% share of that pot. The unawarded 2nd and 3rd place shares roll into the next day's pot of the same kind. In a pot you're alone in, that means you get back less than you paid.
Does holding $POP help me win?
No. Holding never changes a score, a check or the odds. It gets you SOL rewards, buybacks, a badge and cosmetic skins.
Can a bot win?
Most bots get caught: scripts, automation tools and frame-perfect play all trip the checks, and every top 3 run is watched by a person. A bot built to copy a person can get through the automatic checks. The Proof of Play page shows exactly what we caught when we attacked our own checks.
Why was my run sent to a person?
One of the bot checks flagged it. Your run stays on the board, and a person looks at it before any payout. Very fast or very precise play can trip a check; if it's you, nothing happens to the run.
Troubleshooting#
| Message | What to do |
|---|---|
| Run voided | You left the game mid-run. Keep the tab in front while you play. |
| Run rejected: … | The server couldn't verify the run: its taps didn't replay, or it wasn't played live at real speed. Don't use speed, pause or automation tools, and play again. |
| This run was already submitted. | Each run counts once. Play again. |
| This game has closed. Today's game is live now. | The day reset while you were playing. Refresh to load the new game. |
| Too many runs started. Take a breather and try again in a few minutes. | You hit the limit on runs started. Wait a few minutes. |
| Too many submissions. Try again in a few minutes. | You hit the limit on runs submitted. Wait a few minutes. |
| That name is taken. Pick another one. | Names are unique, ignoring capitals. Try another. |
| No tries left in this pot. Buy a ticket to keep playing. | Buy a ticket, or switch to the free pot. |
| Payment not found yet. | Your transfer hasn't confirmed. Wait a few seconds. |
| Connect and verify your wallet first. | Connect your wallet and sign the sign-in message. |
| This wallet can't sign messages. Try Phantom, Solflare or Backpack. | Use a wallet that supports message signing. |
| That isn't a Solana address. | Copy the address straight from your wallet app (32 to 44 letters and numbers). |
| This wallet is already linked to another player. | Press Sign in with this wallet to switch to that player. |
| Couldn't load today's game. Refresh to try again. | Refresh the page. If it keeps happening, the site may be down for a moment. |
Changelog#
- 16 Oct 2026. The daily reset moved to 16:00 UTC (noon in New York), and votes now close at 04:00 UTC. The launch game runs until the first 16:00 UTC reset. The creator-fee split is now 50% prize pool, 20% SOL to holders, 20% buyback and 10% operations. Whitepaper 1.4.
- 16 Oct 2026. Your name now lives with your wallet: connect it from the top of any page and sign in on any device. The player menu and recovery codes are gone.
- 16 Oct 2026. The vote for the next game now closes at 04:00 UTC, so the winner can be built in time to go live. Whitepaper 1.3.
- 16 Oct 2026. Every game after Candle Stack is one the players voted for, built as a new game rather than a new skin. Proof of Play's timing checks and fingerprints now talk about taps, so they fit any game. Whitepaper 1.2.
- 16 Oct 2026. The free pot's size is now set by a rule: 80% of the prize wallet's unpromised balance each day, 20% saved for the weekly pot. The game shows it live, and winners' SOL amounts are exact. Whitepaper 1.1. The site moved to proofofplay.fun.
- 16 Oct 2026. Proof of Play bot checks. Every run now records how each tap was made, and new checks catch script-made taps, machine-like presses and too-steady timing. Public proof pages, leaderboard seals and the Proof of Play page. Whitepaper 1.0 and these docs.
- 16 Oct 2026. The candlestick scene for Candle Stack days. Daily coins removed.
- 16 Oct 2026. Renamed to POP (Proof of Play). Paid pots at 0.01, 0.05 and 0.1 SOL.