LZLZL/Prediction markets/Mechanics
FREESEE IT A · MechanicsLifecycle

One trade,
end to end

2026-08-21 · seven steps, where the money is, where it leaks

Most people picture a straight line from order to settlement. It is seven steps across two layers — the matching engine and the chain — and the last one does not happen by itself. Leave it undone and your winnings stay a ticket rather than a balance.

1The whole thing

StepLayerWatch for
1Fund and approvechainthe contract needs an allowance first
2Post or takematchingfee and fill certainty run opposite ways
3Fillmatching → chainminimum 5 shares; partials are normal
4Holdchainsellable any time — if there is a bid
5The eventthe world
6Resolutionchainwho decides and on what differs per category
7Redeemchainyou must do this

2Steps 1–2: funding and the order

Money is a stablecoin on-chain. Beyond transferring it in there is one step people miss: the allowance — permission for the matching contract to move your funds. Most interfaces handle it; if you are writing your own client, it is the first thing that blocks you.

PostTake
Reaching step 3 requiressomeone to hit you — may never happennothing; immediate
Feezero0.07·p(1−p)·shares
Price certaintyyou set it; fills are at that pricethe book sets it — you may walk several levels
⚠ Taking walks the book

Want more size than sits at the best offer and your fill climbs level by level, so your average is worse than the price you saw. Thinner book and larger order, worse the gap.

This is fatal in backtests: testing against a midpoint produces a result you cannot reproduce live. Measured numbers in walking the book.

3Step 3: two kinds of incomplete

Minimum 5 shares. A counter-intuitive consequence: if you want to stake "$1 every time", at a price of 0.50 that buys 2 shares and the system rounds you up to 5. Your fixed $1 has silently become a stake that drifts with price.

5 shares × 0.99 = $4.95 so $5 is the only fixed stake that holds at every price

Partial fills. "I posted 100" and "I hold 100" are different claims. Anything automated must handle partials or the books diverge from here onward.

4Step 6: not your call, and not the venue's

TypeMechanismTypical use
Optimistic oraclesomeone posts a result → assumed true → challengeable within a window → stands if unchallengedmatch results, elections, did-X-happen
Price oraclereads a price by a rule fixed in advancecrypto price markets
⚠ "On what" must be read per market, never inferred

Sports, crypto and politics use entirely different sources on the same venue. Worse, the settling number need not be the number you are watching.

I was caught by exactly that on a short-tenor series: the price my research judged on and the price the market settled on disagreed on 10.1% of all windows, with a direction — enough to manufacture a stable-looking pattern that was not there. Full account in the broken ruler.

Actionspend two minutes on the market's own resolution terms — specifically which source and which timestamp. Best-value two minutes on the venue.

5Step 7: the one that never happens by itself

After settlement your winning ticket is worth $1 — but it is a ticket, not a balance. Redeeming converts it. The losing ticket goes to zero and then quietly disappears, leaving you no record of the loss.

⚠ Two ways this makes you misread yourself

① The activity feed flatters you. Winners leave a record, losers do not, so summing the feed skews optimistic. I measured it and was out by 8× — first pass +$187, true figure +$23. See 589 shares evaporated.

② "Redeemable" does not mean you won. Once the book empties after close, the API may mark both sides redeemable at a midpoint price. Judging win/loss from that gives you the wrong answer outright — see the redeemable trap.

6A reconciliation checklist

CheckBecause
Orders sent vs fillspartials and no-fills break the equality
Average fill vs quoted pricewalking the book raises it
Fees paidrecompute from 0.07·p(1−p)·shares; a mismatch means a wrong basis
Losing legsabsent from the feed — take them from the position side
Settlementread the chain, not a "redeemable" field
Redemption receiptsdo they match the winning shares? unredeemed ones sit forever
Subsidy incomenot in trading P&L — query separately and add

7One line to keep

Two things in this flow will not happen on their own: redemption needs your hand, and losing legs never announce themselves. The first strands money mid-route, the second makes your books look better than they are — and both occur after you have stopped paying attention to the trade.

EvidenceCheck it yourself

Minimum 5 shares matching-layer constraint; 5 × 0.99 = $4.95.
Fee formula reconciled against real fills: predicted $45.23 vs $46.58 received (97%).
Zeroed legs measured: of 825 unpaired shares only 236 left a record; 589 vanished. First pass +$187, true +$23.
"Redeemable" is unreliable after close both sides were flagged redeemable at the empty-book midpoint. The dependable test is the on-chain payout itself.
Settling price ≠ watched price 10.1% of all windows disagreed, with direction.
Checked 2026-07 to 2026-08. Rules and API behaviour change; verify before use.

NextWhere to go

A · MECHANICS
You are buying a verdict, not a stock
A · MECHANICS
Split, merge, redeem
G · ENGINEERING
589 shares evaporated
G · ENGINEERING
Eight API traps
This is an educational and research record. It is not investment advice, promises no returns, and offers no personalised trading recommendations. Rules and API behaviour are per the official documentation; this page states when it was checked and both can change without notice. Prediction markets are restricted or unavailable in some jurisdictions — confirm your own before taking part.