How a round works, and nothing else.
How a round works
- 01OPEN
The first bet on a market opens a round; that bet's transaction is the open. The open price is the 30-second average of the Uniswap pool, read on chain in that block. The close is 60 seconds later.
- 02BET
Pick UP or DOWN, 1 to 200 USDG per round per address. The split moves as bets arrive. Your ticket prints on chain.
- 03LOCK
In the last 5 seconds no bet is accepted. The digits turn ember.
- 04CLOSE
At 60 seconds the round closes. The board reads ENDED and waits for its settle.
- 05SETTLE
The next bet on the market settles the round; anyone can call settle instead. The contract reads the 30-second average again. Higher than the open is UP. Lower is DOWN. Equal is a refund. A side with no bets is a refund. Later than 120 seconds after the close is a refund. The Take is applied and the receipt is printed.
- 06COLLECT
Winners collect their share of the losing pool pro rata after the Take, with one call. A refund is collected the same way.
The state machine is open → bet → lock → close → settle → collect. On 100-millisecond blocks a 60-second round is ~600 blocks. One round at a time per market. There is no schedule: the first bet on a market opens a round, and the next bet after the close settles it and opens the next.
The Board
The split is the pool. There are no odds to set: the Board shows UP pool ÷ total and DOWN pool ÷ total, and the split is a number anyone can check on chain.
The line under each column, if UP wins, 1 → —, is that formula evaluated on the live pools after the Take, labelled "at this split". It moves as bets arrive and is not a promise. Each side of a round is capped at 500 USDG; a full side reads SIDE FULL and takes no more bets.
The price
A 30-second average is the pool's price weighted by how long it stood, over the 30 seconds before the read. A trade in the last second moves that average by a thirtieth of what it moves the spot price, and moving it at all means trading against a pool that holds millions of dollars. Bets are capped at 200 USDG per address per round. A push that costs more than a round can pay is a push nobody makes.
The reads: each market is one Uniswap v3 pool in USDG. The contract calls the pool's observe() over a 30-second window at the open block and again at the settle block, and compares the two averages as ticks (one tick is 0.01%). When the Stock Token is the pool's second token the tick is negated, so higher always means a higher stock price in USDG. The site converts a tick to a USDG price for display only; the contract never does.
NVDA— NVDA/USDG Uniswap pool · 0xd4EB21209C4D6093f80B5b84f5C45cc093EA14a3TSLA— TSLA/USDG Uniswap pool · 0xf4ACdAEEB7022862A763C9B1B885e11191c889E3GLD— GLD/USDG Uniswap pool · 0x7A6A053eCCf1446A2633E05aA6D40D09381997ecQQQ— QQQ/USDG Uniswap pool · 0xD60A5d14dB690B7Afad71F76B108071D7175597dAMZN— AMZN/USDG Uniswap pool · 0x8AC92DA74AB5F3b1d024Dc1943Ad7e15Dc4179EfCOST— COST/USDG Uniswap pool · 0x0a2121A50A09eD0796ae81F9c53fF9398355a398
The Take
3% of the losing pool, at settlement, to treasury, a constant in the contract. Nothing on a refund. The token's creator fees are a separate flow and go to $ROUNDS holders in SPY automatically; holders sign nothing.
Settlement
Rounds are lazy. The first bet on a market opens a round; the next bet after the close settles it, in the same transaction, and opens the next; and settle() is a permissionless call anyone can make on its own. A settle is valid from the close until 120 seconds after it; later than that the round refunds.
Three refunds, each a chain read on the receipt: equal, the average at the close equals the average at the open; empty, one side has no bets at the close; late, nobody settled within the window. A pool that cannot serve a 30-second average is a fourth, no price. A refund never picks a side and takes nothing.
Payouts are pull-based: a winner collects with one call, claim, and the site shows a COLLECT button when the connected wallet has something to collect. A refund is collected the same way.
Markets
The allowlist is add-only: a market is never removed or re-pointed, and a new one is disclosed on the site and on X before its first round opens. A market is a Uniswap v3 pool and which side of it the Stock Token is on.
NVDA— Nvidia Stock Token · NVDA/USDG Uniswap pool · 60 s rounds · around the clockTSLA— Tesla Stock Token · TSLA/USDG Uniswap pool · 60 s rounds · around the clockGLD— SPDR Gold Trust Stock Token · GLD/USDG Uniswap pool · 60 s rounds · around the clockQQQ— Invesco QQQ Stock Token · QQQ/USDG Uniswap pool · 60 s rounds · around the clockAMZN— Amazon Stock Token · AMZN/USDG Uniswap pool · 60 s rounds · around the clockCOST— Costco Stock Token · COST/USDG Uniswap pool · 60 s rounds · around the clock
Uniswap never closes, so rounds run around the clock. On weekends the price moves less and more rounds refund on an equal average.
Owner powers
Pause new rounds(open rounds still settle)Add a market(add-only, disclosed first)Sweep dust(two-step, 24 hours, only balances that belong to no round, never a pool)
There is no other owner path. The owner is an EOA and its address is printed. We do not say "no owner path ever"; we list the ones that exist.
Contracts
One contract, no imports on the money path. Rounds holds every pool, reads the Uniswap pool for the price, applies the Take and pays on collect. Not audited.
Invariants
- 01NO SIDE
The protocol never takes a side. It holds the pool and pays the winners.
- 02THE PRICE DECIDES
A round settles on the 30-second on-chain average of the Uniswap pool at the open and at the close. No operator input exists.
- 03ONE POOL
Every bet sits in the contract until settlement. Winners split the losing side pro rata after the Take.
- 04EQUAL IS A REFUND
Same average at the close as at the open, every bet comes back.
- 05EMPTY IS A REFUND
A side with no bets at the close, every bet comes back.
- 06LATE IS A REFUND
A round not settled within 120 seconds of its close refunds.
- 07THE TAKE IS A CONSTANT
3% of the losing pool, in the contract, not settable.
- 08ANYONE CAN SETTLE
The next bet does it; so can anyone.
Risks
- Legal. Wagering on securities-tracking tokens, on a chain built by a broker-dealer. The interface geo-restricts and says so; the contract is neutral code and does not.
- Pool manipulation. The price is a 30-second average of a real pool, and a real pool can be traded against. Pushing the average by one tick costs on the order of ten to twenty dollars on the launch pools, and the most any round can transfer from honest bettors to a pusher is 97% of the opposing side, which the per-side cap holds at 500 USDG. The cap does not make the push uneconomic in every case; it makes the loss per round finite and known, once a minute, per market, and the push is visible on chain as a swap and its reversal bracketing the close. That is the trade for having no price service, no server and no operator: a small game on a real price, not a market for size. The levers, all constants, are a lower side cap, a longer average or a longer round.
- Settle liveness. Nobody can trap a round. A round not settled within 120 seconds of its close is a refund, and settle is permissionless.
- Weekends. The pool is the market and it never closes. When it is quiet, more rounds end on an equal average and refund; nothing is taken on a refund.
- Not audited. This line changes the day it isn't true.
- We don't take the other side. The protocol holds the pool and pays the winners. If one side is empty at the close, everyone is paid back.
- We don't set odds. The Board is the pool split, and the split is a number you can check.
- We don't offer fixed odds, parlays, leverage, sports or a mobile app. Not in v1, and fixed odds not ever.
- We don't touch a live pool. The owner can pause new rounds, add a market, and sweep dust that belongs to no round after a 24-hour two-step. Nothing else. Open rounds always settle.
- We don't run a schedule. The first bet opens a round, the next bet after the close settles it, and anyone can settle. Nothing runs on a server.
- We don't simulate. A dash is a dash.
- Not audited. This line changes the day it isn't true.
$ROUNDS
Launched on Pons paired SPY. Creator fees go to holders in SPY from launch, automatically. No other utility is stated. Contract address: —. When there is one it appears here and on the X account, nowhere else.

