How wambo works

Everything here is enforced by one contract, and every number on this page is read back out of it rather than written down. If a figure below disagrees with the chain, the chain is right and this page is a bug.

What this is

A race between five memecoins, every . You bet on one. If it pumps hardest over the race, you and its other backers split every loser's stake.

The mechanism is called parimutuel: the bettors are each other's counterparty. The house never takes a side, never quotes you a price it might regret, and cannot lose on a race. It takes % of the pot and nothing else. That also means the odds you see are not a promise: they move as money lands, and what you actually collect is fixed at settlement.

How a race runs

A round is end to end, in two parts. Betting is open for the first . Then the scored window runs for with betting shut for all of it.

BETTING · FIRST HALF · SECOND HALF · bets lock hereavg Aavg Bscore = avg B − avg A · biggest score wins
Runners in a field
Betting open
first —
Scored window
Betting locked
final —
Whole round
Minimum bet

The lockout is the whole scored window on purpose. Betting shuts at the exact instant the tape starts, so nobody can back a coin after watching it move.

How a payout is worked out

Every losing stake goes into one pot. The fee comes off the top. What is left is split between the winning coin's backers in proportion to what each of them staked.

every stakeone potlosers pay winnersfee · %only if somebody winswinners split the restin proportion to what each staked
Worked example

Say the pot is 1.00 ETH and 0.20 ETH of it is on the winner. The fee takes % (0.04 ETH). The remaining 0.96 ETH is shared across that 0.20 ETH of winning stake, so a 0.05 ETH bet, a quarter of the winning side, collects 0.24 ETH.

Back the coin everyone else backed and you split the pot many ways. Back the one nobody fancied and you split it with almost nobody. That is the whole game.

How the winner is decided

Prices come off each coin's Uniswap V3 pool, not from us and not from an API. The contract reads the pool's own oracle and compares the average price over the second half of the window against the average over the first half. The biggest gain wins.

Because both halves are time-weighted averages, moving a coin's score means holding its price up for minutes, not pushing it with one buy. A shove that reverts a second later barely registers.

Ties lower down the field break by coin address. A dead heat for the lead is different: the race is cancelled and every stake comes back, because picking a winner alphabetically would be a coin flip dressed as a rule.

What stops it being gamed

A race is worth attacking if you can move a thin coin cheaply and win more than the shove cost. Four things make that unprofitable, all enforced on-chain:

Pot cap
5% of the thinnest runner
Payout cap
stake + what the move would cost
Oracle depth
Pool must be real
checked against the Uniswap factory

The payout cap is the important one. A winning side cannot collect more than its own stake plus what it would have cost to buy the price move that won it. Anything above that rolls into the next race instead. So a manipulator pays the full cost of the shove and is capped at roughly getting it back.

When a race is cancelled

A cancelled race pays nobody and refunds every stake in full. No fee is taken. It happens when the venue cannot settle honestly:

  • a runner's oracle could not answer for the scored window
  • a runner's pool fell through the liquidity floor mid-round
  • dead heat: two runners tied for the lead, so every stake was returned
  • a runner's pool stopped answering, so the round was released after its grace period

Fees

% of the pot, taken only when somebody wins. If nobody backed the winning coin the fee is zero and the entire pot rolls into the next race. The house takes nothing when it pays nothing.

There is no fee to place a bet, no fee to claim, and no spread. You pay gas, and that goes to the chain.

What can go wrong

This is betting. Most bets lose, and the fee means the bettors as a group get back less than they put in. Nothing here is an investment and none of it is advice.

Beyond that: the coins raced here are memecoins on thin pools and can move violently or not at all. A race whose field goes quiet can be decided by a very small move. Rounds can cancel. And the contract, while tested, is software. Read it before you stake anything you would miss.

The contract

One contract holds the money, decides the winner and pays out. Claims and refunds are pull-only: nothing moves unless you ask for it.

Every settled race is listed with its transactions on the history page. Each row can be replayed with one getRound call.