Pyth, fully verified
Lock and settle read a Pyth price update on chain. The program checks the feed id, the publisher program, and that the update is fully verified. A partially verified update is refused.
Pick up or down on 24 coins, from BTC and ETH to WIF and FARTCOIN. There is no market maker and no order book. The two sides of a round fund each other.
Every round has two windows of the same length. You bet in the first one. The price decides it in the second.
15 minutes to stake SOL on up or down. Your stake joins that side of the pool, and the payout on both sides moves as money comes in. One wallet, one side, one bet at a time, and no way out once it is placed.
Betting closes and the Pyth price is written on chain. That is the number the round is measured from. Nobody can bet after this point.
15 minutes of price. Meanwhile the next round is already taking bets, so there is always one round open and one round running.
The Pyth price is read again. Higher than lock, up wins; lower, down wins. The 1% fee comes off the whole pool and the rest goes to the winning side. Claim any time after that.
A parimutuel pool has no counterparty to find. Every lamport paid out was staked by somebody on the losing side of the same round, so the protocol never needs a treasury, an inventory, or liquidity providers to quote against you. It also means a round with stake on only one side has nothing to settle, so the program refunds it instead.
Twenty-four feeds, 96 rounds a day on each. Prices are live from Pyth right now.
One formula, and it is the whole protocol.
The pool is everything staked on both sides. Take 1% off it, then split what is left across the winning side in proportion to stake.
| Up side | 4.0 SOL |
|---|---|
| Down side | 4.0 SOL |
| Pool | 8.0 SOL |
| Fee (1%) | 0.08 SOL |
| To winners | 7.92 SOL |
Price closes higher, so up wins. You staked 1 SOL of the 4 on the up side, so you take a quarter of 7.92: 1.98 SOL, a 1.98x return on a round that was close to even.
Turn that formula around and a stake is buying units of a payout at a price. A side holding 89% of the pool costs about 89c to back and pays 100c if it wins, which is the number the app puts on the button. The two sides add up to roughly 101c, and that extra cent is the fee, doing the same job a spread does on an order book. It is the same mechanism either way, just the readable way round.
The multiple falls as your side gets crowded. If the losing side is thinner than 1% of the pool, the fee is bigger than the winnings and the payout multiple drops below 1.00x. Quarta does not hide this: the live multiple is on the button before you commit, and a round with nothing at all on the other side is refunded rather than settled.
What actually runs, and what it can and cannot do.
Lock and settle read a Pyth price update on chain. The program checks the feed id, the publisher program, and that the update is fully verified. A partially verified update is refused.
Stake sits in a vault owned by the round it belongs to. Nobody, including the authority, has an instruction that can move it anywhere except to the winners and the 1% fee.
Starting, locking and settling a round are open to anyone. If the keeper stops, somebody else can run it, and if nobody does within the grace window the round is cancelled and refunded.
The authority can change the fee, but the program refuses anything above 5%, so the ceiling is not a promise, it is a constant.
Unchanged price, nothing on one side, or a missed crank window: all three refund every stake in full and take no fee.
There is no selling out. Once your stake is in it stays in until the round settles, which is at most thirty minutes away. A pool has no counterparty to sell a position to, so an exit would only ever be a withdrawal, and one that moved the odds for everyone still in.
A wallet holds a single running bet across every market. The program enforces it, not just the page, and the next round you can take opens the moment your current one settles.
Every round puts up rent for its own accounts, and at 96 rounds a day across every market that would pile up without end. A finished round is closed and the rent returns: the bettor gets back what their position cost, the keeper what the round cost.
Rounds land on :00, :15, :30 and :45. The page and the chain agree on when a round opens without having to negotiate it.
The things worth knowing before you stake anything.