Duel logo
Duel
Whitepaper
← Back to app
v1 · litepaper

Provably-fair, no-house-edge 1v1 Rock Paper Scissors on Solana.

Duel is a real-time player-versus-player game. Two players stake the same amount, play one provably-fair round, and the winner takes the whole pot. The house takes nothing from the round — 100% RTP. This document explains exactly what you stake, what you win, how fairness is guaranteed, and how the $PVP token fits in.

01

Overview

Duel turns Rock Paper Scissors into a fair, head-to-head wager. You create a game and set your stake, or join an open one. Once two players are matched, each secretly picks a move. Both picks are cryptographically locked in before either is revealed, so neither side — and not even the platform — can change a pick after seeing the other.

The defining property is simple: the round itself makes nobody any money. There is no rake, no fee, no edge skimmed from the pot. Every lamport that goes in comes back out to a player. This is what “0% house edge” and “100% RTP” mean here.

02

Two layers, one mantra

The most important thing to understand is that Duel has two completely separate economic layers. Confusing them is the #1 source of questions, so we make it explicit:

① The Duel (the game)

  • Player vs player, pot-based.
  • Both players stake the same amount.
  • Winner takes the whole pot (2× the stake).
  • 0% house edge. The platform takes nothing.
  • Your winnings come 100% from your opponent’s stake.

② The $PVP token

  • Launched on pump.fun.
  • A share of trading fees flows to the Duel Treasury.
  • Treasury funds tournaments, prizes, buybacks, ops.
  • Never touches a 1v1 pot.
  • This is how the project sustains itself (not from rake).
So, what do players win?
In a normal 1v1 duel you win your opponent’s stake — you get your own stake back plus theirs, i.e. 2× your stake. You do not win token fees. Token fees are a separate pool that funds tournaments and prizes.
03

How a duel works

  1. 1
    Create or join
    You set a stake and create a game, or join an open one in the lobby. Both players must have the stake available in their balance.
  2. 2
    Escrow
    When you create/join, your stake is moved from your spendable balance into escrow for that game. Neither side can spend it elsewhere while the round is live.
  3. 3
    Commit
    Each player secretly picks rock, paper or scissors. The client hashes (pick + a secret key) and sends only the hash. Both hashes are locked in before anything is revealed.
  4. 4
    Reveal
    Once both hashes are locked, each side reveals its pick + key. The server checks each reveal against the committed hash — a changed pick is rejected.
  5. 5
    Settle
    The winner is computed (rock>scissors>paper>rock). The whole pot is credited to the winner. A tie refunds both. The full record is published for anyone to verify.
Timeouts & forfeits
Each phase has a countdown. If a player fails to commit or reveal in time, they forfeit and the opponent takes the pot. If neither plays, it’s a no-contest and both stakes are refunded. Honest clients reveal automatically the instant both sides have committed.
04

The money: what you stake, what you win

You play with your balance (see Custody below). In the current demo, balance is play-money from a faucet; with real custody enabled it is SOL you deposited.

Worked example — you stake ◎0.10, opponent stakes ◎0.10 (pot ◎0.20)
You win−0.10 stake, +0.20 pot = net +◎0.10 (you doubled your stake)
You lose−◎0.10 (your stake goes to the winner)
Tieboth stakes refunded → net ◎0.00
House takes◎0.00 — always

The pot is exactly the sum of the two equal stakes. The winner receives all of it. There is no commission, listing fee, or spread. That is the entire money model of a duel.

05

Provable fairness

RPS only works if neither side can see the other’s move first. Duel guarantees this with a commit-reveal scheme. Each player’s commitment is:

sha256("rps-v1|game:<gameId>|pick:<pick>|key:<clientKey>")

The clientKey is a random secret generated in your browser. Before the reveal, the server only ever sees the hash — it cannot derive your pick. After the round, both keys and picks are published, so anyone can recompute both hashes and confirm neither side changed its pick mid-game. Binding the hash to the gameId stops a commitment from being replayed in another game.

Verify it yourself
Every finished round shows a Provable Fairness panel with both commitments, picks and keys, plus a built-in verifier that recomputes the SHA-256 hashes entirely in your browser. You can also paste any published record into the verifier to audit it independently.
06

Custody & balances

Duel is currently custodial: the platform holds balances and settles rounds off-chain for instant, gas-free play. You deposit SOL to your balance, play, and withdraw what you have. Identity is your Solana wallet (or a local guest key); you prove control with a signed message — no one can act on your balance without your signature.

Honest trust note
The outcome of every round is provably fair and independently verifiable. The custody of funds, however, is trust-based — you trust the platform to hold and pay out balances correctly. Fully trustless on-chain escrow is on the roadmap. Today’s build runs in demo mode (play-money) on devnet.
07

The $PVP token

Because duels are 0% rake, Duel doesn’t earn from the rounds. Instead it is funded by $PVP, launched on pump.fun. A share of the token’s trading fees is routed to the Duel Treasury, which is used for:

  • Tournament prize pools (the main use — see below).
  • Community events and rewards.
  • Token buybacks to support the ecosystem.
  • Operating and infrastructure costs.
Key boundary
Token fees never enter a 1v1 pot. A duel is settled purely between the two players. The token economy lives alongside the game, funding prizes and operations — not individual matchups. ($PVP is a placeholder ticker; the final symbol is set at launch.)
08

Tournaments (planned)

Tournaments are how the token economy reaches players. Instead of free giveaways, the Treasury seeds a prize pool (funded by token fees) and players compete in a bracket of RPS duels. The tagline from day one: “double or lose your prize.” Advance to grow your prize, or lose it and you’re out.

Entry can be free (fully fee-funded) or staked, depending on the event. This turns trading- fee revenue into recurring, skill-based prize competitions rather than one-off airdrops.

09

Roadmap & status

Live
Phase 0 — Demo
1v1 duels, commit-reveal, in-app verifier, practice vs bot. Play-money on devnet.
Next
Phase 1 — Real SOL
Enable custodial SOL deposits & withdrawals (devnet → mainnet).
Planned
Phase 2 — $PVP token
pump.fun launch + Treasury fee routing.
Planned
Phase 3 — Tournaments
Fee-funded prize pools, bracket play.
Planned
Phase 4 — SPL betting
Stake with $PVP and other SPL tokens, not just SOL.
Later
Phase 5 — On-chain escrow
Trustless custody: stakes & settlement in a Solana program.
10

Trust & risk

  • Demo / devnet: the current build uses play-money and has no real monetary value. Balances and games reset on backend restarts.
  • Custodial trust: the platform holds balances. Only the game outcome is provably fair; custody is trust-based until on-chain escrow ships.
  • Regulatory: wagering games are restricted in some jurisdictions. You are responsible for compliance with local law and any age requirements. Not available where prohibited.
  • Token risk: $PVP is a volatile asset, not an investment or a security. Prizes and fee revenue depend on trading activity and are not guaranteed.
  • No advice: nothing here is financial, legal, or tax advice.