RPS Pad markRPS Pad
X pump.fun

Docs

Everything below is enforced by the program. The keeper only presses buttons anyone can press.

How it works

  1. A dev launches a coin here. It is a normal pump.fun coin whose creator is the coin's own account in the pad's program, so every creator fee is split by the program.
  2. Right after the launch the coin is dealt a sign: rock, paper or scissors.
  3. Half of every creator fee goes to the coin's war fund for the day.
  4. Once a day (18:00 UTC) the round closes and one random pair of signs fights. The third sign rests.
  5. Losers hand over up to half of their war fund to the winners. The smaller side sets the size.
  6. After the fight every stake, won or not, buys back its own coin over the next hour. Every token bought is burned.

Devs only launch. Traders only trade. Fights and payouts are pushed by the keeper; nobody has to claim a win.

The sign

The launch records a slot twelve slots ahead. Once those slots exist, anyone can call reveal_sign: the sign is sha256(three slot hashes, mint, "rps-sign-v1") mod 3. The dev cannot re-roll it without paying for a new launch, and nobody knows the slot hashes in advance.

The keeper reveals every sign; this site also sends the reveal itself from the launch page if the keeper has not done it a few slots after it became possible. A beacon nobody reveals within 512 slots re-arms on new slots, so waiting does not help a dev who dislikes his sign.

A day

Freeze

When the round ends, anyone calls freeze. The sums per sign are final and the draw beacon is set twelve slots ahead.

Draw

From those slot hashes the program picks one of three pairs: rock vs paper (paper wins), paper vs scissors (scissors win), scissors vs rock (rock wins). The fight size is T = loot share x min(winners' sum, losers' sum), with the loot share at 50%.

Loot

Every losing coin pays stake x T / losers' sum into the round. Then every winning coin receives stake x loot / winners' sum. No stake can lose more than 50% of itself. Resting coins and stakes below 0.001 SOL sit out.

Settle

The keeper settles losers first, then resters, then winners, then closes the round; dust goes to the house, the round's rent back to whoever opened it.

Fees collected after the bell belong to the next round. A coin with a pending sign rests until its sign is out.

The house

If one side of the drawn pair has no stakes, the house plays it with 20% of its balance (at least 0.001 SOL, else there is no fight). A losing house pays at the draw, so winners never wait; a winning house takes the loot after every loser has paid. The house is funded by 5% of every creator fee and by round dust.

House balance now: 0.000 SOL.

Buyback and burn

After the fight a coin's stake opens a buyback window of 1 hour in 6 chunks. Each chunk buys the coin on its curve or on PumpSwap and burns every token. Chunks are guarded by a median of recent price checks: a buy waits if the price was pushed up in front of it, if prices disagree, or if someone else traded the coin in the same transaction. Anything unspent when the window ends goes back into the coin's war fund for today.

Fee split

Dev40%waits on the coin, claimed from Mine (or by the keeper for the dev)
War fund50%the coin's stake in today's fight
House5%plays empty sides
Treasury5%the pad

The split is a program constant. A launch costs 0.02 SOL; the dev's optional first buy is capped at 2 SOL and 10% of the supply.

Parameters

Read live from the program's config. Changes wait 24 hours and only touch future coins and future rounds; the round clock is fixed forever at init.

Reading the config

Trust points

  • No oracle and no attestor. Randomness is the hash of future slots: the sign is fixed by slots after the launch, the pair by slots after the freeze, when every sum is already final. A single slot leader can bias a beacon only by skipping its own slot.
  • The admin can pause new launches and donations, propose parameters (24 h timelock) and hand over roles (3 days). The admin cannot touch stakes, the house or any coin's books.
  • The keeper has no power on chain. If nobody cranks, nothing is lost: fees stay in pump's vault and stakes wait in their coins and rounds.
  • Program rpsx...Nvv5.

Known risks

  • A coin can hold two unsettled rounds; a third booking waits until the oldest is settled (anyone can settle).
  • A transaction built in one round and landing in the next fails with a clear error; this site rebuilds and resends it.
  • Donations into a war fund change fight sizes, but every donated lamport burns the donor's own coin, so it is not a farm.
  • Platform: pump.fun can change its programs and fee tiers.