How Fairplay Pools Work
FairplayVault runs commit–reveal USDC pools on Base. Everyone pays the same entry price. The pool draws a winner after a short reveal phase using secrets (salts) committed ahead of time—so the outcome is provably fair without VRF.
- No VRF dependencyFairness comes from the creator’s pre-committed salt (and an optional sentinel).
- Instant, on-chain payoutWinner is paid directly from the pool when finalized.
Create a Pool — Quick Start
~2 minutes
- Choose basics: entry price, optional entry caps, and timing (entry window & reveal window).
- Salt is auto-generated: keep it safe. You’ll reveal it later. You can optionally encrypt and download a local backup.
- (Optional) Add a sentinel: a second, independent salt/commit that reveals after you for extra “you didn’t bias it” assurances. You can paste a commit or fetch from your sentinel service.
- Approve & Create: approve the bond(s), then submit. The pool opens until the entry deadline.
- Reveal on time: after entries close, reveal your salt (and the sentinel reveals theirs if configured), then finalize.
Join a Pool
For participants
- Pick a pool from the list and review the entry price, close time, and any min/max entry limits.
- Approve USDC (one-time per token/contract), then choose a quantity and click Enter.
- Wait for reveal/finalize: once the reveal phase is complete, the contract draws a winner and pays out instantly.
Timeline at a Glance
Salts, Commits & Fairness
When a pool is created, the creator’s salt is committed (hashed) on-chain. Later, during the reveal window, the creator reveals the raw salt. The contract checks it matches the prior commit, then uses it—plus other pool state—to derive the random outcome. If a sentinel is used, their commit & reveal happens too, making it even harder to bias.
- Keep your salt safe. Losing it means you can’t reveal (and you may lose your bond).
- Don’t share the raw salt early. Only reveal during the reveal phase.
- Sentinel is optional. It’s an extra proof against creator bias for higher-stakes pools.
Fees & Bonds
- Entry price: what each participant pays to enter. Total prize is entries minus fees.
- Protocol / Builder fees: set by this app and/or contract configuration. On this hosted app, they’re fixed for consistency.
- Bonds: refundable deposits from creator (and sentinel if used). Missing reveals or certain failure conditions can slash bonds.
Best Practices
- Back up your salt (the app offers a local JSON backup). Consider encrypting it with a passphrase.
- Pick sensible windows: short enough to keep momentum, long enough that you can reveal on time.
- Use a sentinel for larger pools to strengthen fairness guarantees.
- Communicate clearly to participants: entry close time, reveal time, and when to expect finalization.
FAQ
What happens if the creator forgets to reveal?▾
Do I need a sentinel?▾
How is the winner chosen?▾
Can I change fees?▾
Which network does this run on?▾
Need Help?
Check the About page for technical notes and SDK pointers, or reach out via the footer links. You can also inspect transactions on the configured explorer for your network.