Tokenized Odds: Dynamic Pricing with AMMs for Betting

Educational only. Not betting or investment advice. Follow local laws. Wager responsibly.

Cold open: the line moves itself

A bettor sends 0.5 ETH. The home win line jumps from 56% to 58%. No human trader. No phone call. A pool and a curve do the work.

This is tokenized odds with AMMs. Each outcome is a token. Pricing is on-chain, live, and open. The book is a pool, not a person.

A short detour: how books used to set lines

Old way: a bookmaker sets a price. They add margin. They hedge with other books. They move lines by hand when money comes in. It works, but it is slow, costly, and not transparent.

The AMM twist (why it matters now)

An automated market maker (AMM) is a pool of tokens and a rule. The rule is a curve. The curve sets the price from pool balances. Trades change balances. The curve updates the price. See the core idea in the Uniswap docs on automated market makers.

To “tokenize odds,” we mint outcome tokens. For a yes/no market, we have YES and NO shares. At settle time, winners redeem for $1 (or 1 unit). The price of YES now implies the chance of YES. You can learn the big picture in Vitalik’s post on prediction markets with tokenized outcomes.

Classic AMMs are “constant function market makers” (CFMMs). The curve can be simple or smart. A famous one is constant product: x*y=k. Price is the ratio of tokens. Theory and proofs sit here: CFMMs and pricing mechanics (Angeris & Chitra).

There is also LMSR, a cost-function market maker from Robin Hanson. It is made for prediction markets. It gives smooth, bounded loss, and clear odds. See the paper: logarithmic market scoring rule (LMSR).

Two fast definitions (for snippet boxes)

What are tokenized odds? They are outcome tokens for an event. The live price of a token shows the implied chance of that outcome. Payouts happen by a rule after the event.

How do AMMs move odds? An AMM has a curve. Trades shift token balances. The curve turns that shift into a new price. More buy pressure on YES means higher YES odds, right away.

Field note: a tiny sim with real feel

We run a simple case. Not perfect math. Good enough for feel. One match. Fair odds near 55% YES and 45% NO. Liquidity is modest.

  • Pool start (constant product style): 10,000 YES and 10,000 NO. Mid odds ≈ 50% (simple view).
  • We adjust to target 55% start by seeding 11,000 YES and 9,000 NO.
  • A bettor buys 1,000 YES (one-sided flow).

In a CP-AMM, the price impact is nonlinear. As YES gets scarce, price jumps faster. If we start at ~55% and take 1,000 YES, the odds may move to ~60–62% (rough guide). You can see price impact logic in the Uniswap v2 overview.

Now LMSR with a moderate b (liquidity) setting: the same 1,000-unit buy moves odds, but the curve is smoother. Odds may move from ~55% to ~59–60% for the same size. LMSR spreads the move across the log curve and bounds loss for the market maker.

Takeaway: same flow, different move. CP rewards early flow with bigger jumps. LMSR is steadier and more “book-like.”

Math pit stop (plain words)

In CP-AMM, price comes from the ratio of tokens in the pool. If you pull YES out, the next YES is a bit pricier. In LMSR, price comes from a cost function. Each extra YES adds to cost on a log scale. The more you buy, the more you pay per unit. Both are fair, but they feel different in use.

The fee story: where the spread hides

Old books add a fixed margin (vig). In AMMs, the spread comes from two parts: the trade fee and the curve itself (price impact). A fee can be fixed or dynamic. Impact depends on size and depth. Both push your “all-in” cost of odds.

Want proofs and deeper math on CFMM fees and slippage? See this CFMM paper again for theory; it shows how fees and curvature shape quotes.

The table you actually need

Use this when you weigh models for a binary market. Numbers are rough and for intuition. Assume a pool sized to show 55% YES at start with “10k units” of depth.

Constant Product (CP-AMM) Balance-based; x*y=k High near edges; medium at mid ~400–700 units (depends on fee and start mix) Fixed % fee + impact grows with trade size Inventory risk; “impermanent loss” vs settle price Simple binary markets; on-chain native Sandwich front-run; last-look if mempool visible Buy 1,000 YES from 55% → odds lift to ~60–62%
LMSR Cost-function; logarithmic Smooth; set by b (liquidity parameter) ~600–900 units at moderate b Implicit spread inside cost; fee optional Bounded loss; still holds inventory risk until settle Prediction markets; many outcomes Less sandwichable, but oracle timing matters Same 1,000 YES → odds move to ~59–60%
Stableswap-like Hybrid curve; flat near target band Low inside band; spikes outside ~250–500 units inside tight band Small fee; low impact inside band Inventory tilt if price exits band Narrow probability bands (e.g., 45–55%) Band gaming if liquidity thin; MEV if jumps past band Heavy flow inside band barely moves odds; outside, jumps fast
vAMM (virtual reserves) Synthetic balances; price from formula Tunable; depends on virtual depth ~500–800 units (set by virtual k) Fee + funding-like terms possible Risk if virtual depth mis-set; oracle drift Derivatives-like markets; low capital Oracle lag; parameter gaming; front-run risk Small capital, big virtual pool keeps odds stable

Need a primer on inventory and impermanent loss? Bancor’s write-up is clear: impermanent loss explained.

How the system fits together (builder view)

Flow is simple: mint outcome tokens → trade in an AMM → record trades on-chain → settle after the event. You need an oracle to say which outcome won. See oracle design for event markets to plan safe reporting.

Some protocols like Augur (docs) show one end-to-end design: creation, trading, dispute, and final settlement. Even if you build your own, study how they handle edge cases and disputes.

Large orders can hurt users if they hit the pool in one shot. A fix is time-slicing. TWAMM (Time-Weighted AMM) makes big trades drip over time to cut MEV and impact. See the Paradigm post: Time-Weighted AMMs. For a deeper look at MEV risk and how it hits users, read Ethereum’s page on MEV.

UX patterns that make sense

  • Market orders for speed; limit orders by using range orders or a TWAMM path.
  • Cash-out: sell your outcome token before settle to lock gain or cut loss.
  • Partial exit: sell half your YES, keep half. Works well when odds swing.
  • Quotes: show fee, slippage, and “real” implied odds after the fill.
  • History: chart odds over time so users see curve moves, not just last price.

LP economics (plain and not rosy)

As an LP, you earn fees. But you hold risk on inventory. If the world moves hard toward YES and you sit in a CP-AMM, you hold more NO. If YES wins, you may take a hit even after fees. In LMSR, loss is bounded by the b parameter, but you still pay out the winners. Pick the model that matches your risk and fee take.

Bettor reality check: comparing “vig”

With a classic book, you see a fixed margin. In AMMs, your cost is fee plus impact. If the pool is deep and you trade small, your “all-in” margin can be low, lower than many fixed-odds books. If the pool is thin or you trade big, impact can dwarf any fee. Know your size and the depth at that moment.

If you want the economic backdrop for parimutuel, fixed odds, and market-maker forms, the overview in the Journal of Economic Perspectives is great: parimutuel vs fixed odds vs prediction markets.

Risk box (read before you deploy)

  • Oracle risk: bad or late reports can freeze or mispay. Use safe, clear feeds. See Chainlink docs.
  • MEV risk: your trade can be sandwiched if sent in the clear. Use protect tools or batch flows. Read Ethereum MEV basics.
  • Model mismatch: wrong curve or wrong parameters means bad fills or LP loss.
  • Event shocks: a late goal or a leak can cause a jump. Thin pools can break.

Compliance and duty

Betting rules change by place. Some places allow “event contracts,” some do not. KYC/AML can apply. Read the CFTC explainer on such markets: event contracts and US regulation. Do not try to dodge local law.

Set hard limits for yourself. Use stop rules. Help is real: BeGambleAware has tools and contacts.

Builder’s checklist (short and blunt)

  • Pick a curve: CP for simple, LMSR for smooth, stableswap-like for narrow bands.
  • Size depth to expected flow. Sim one-sided hits. Tune fees by time of day.
  • Protect users from MEV. Batch trades or add a TWAMM path for large orders.
  • Design settlement and disputes. Publish a clear oracle plan and fallback.
  • Be transparent: publish depth, fee policy, reserve mix, and code audits.

Choosing where to trade (bettor view)

  • Check live depth. Shallow pools mean big slippage.
  • Check fee bands. Dynamic fees at event close can bite.
  • Check oracle plan. Look for clear rules and dispute flow.
  • Check cash-out ease. You will want to trim risk fast at times.

Before you place funds, read neutral reviews of crypto-friendly books and prediction venues. See the Betiry homepage for an up-to-date catalog with notes on liquidity, KYC, and risk flags.

Q&A capsule

Can AMMs be manipulated? It is hard to move price long term if there is depth and good news flow. Short-term jumps can happen in thin pools. MEV can also hurt single trades. Use protected order flow when you can.

Do LPs replace the bookmaker? In a way. LPs supply the “house” capital and set the curve. But the rules are open, and fees are public. There is no hand on the line, just a formula.

Can AMMs handle many outcomes? Yes. LMSR shines here. It can price many tokens at once. CP can also work with a basket, but gas and routing can grow.

How is this not parimutuel? In parimutuel, the final price is set at close by the pool of bets. In AMMs, price updates on every trade. You can cash out at any time at the live odds.

A small, real-world style walk-through

Say you find a market: “Team A wins.” The AMM shows YES at 0.56. You want 200 units of YES. The fee is 0.3%. The pool is deep. Your quote shows final fill at 0.563 with a fee of 0.3% and 0.3% slippage. Your all-in “vig” is about 0.6% for that trade. If you try to buy 5,000 units in the same pool, your slippage might jump to 4–6%, and your real odds are much worse. That is dynamic pricing in action.

Design notes (from the lab)

  • Night hours often mean thin flow. Spreads (impact) creep up. Auto-fee bands that rise in low flow can help LPs but hurt fills.
  • Breaking news creates one-sided flow. CP-AMMs may “gap.” Add guard rails: max move per block, batch auctions at close, or circuit rules.
  • Show users “price after” for their full size, not best tick. It cuts regret and boosts trust.
  • Post-trade PnL in cash terms, not just token counts. Bettors think in cash.

When to choose which model

Pick CP-AMM if you want simple code, clear mental model, and you accept bigger impact on large trades. Pick LMSR if you want smooth odds, bounded loss, and many outcomes. Pick a stableswap-like curve if the fair chance sits in a tight band most of the time (e.g., live trading around coin-flip states). vAMM can help when you want high “virtual” depth with low real capital, but tune params with care.

A quick policy on advice and updates

This guide is for learning. It does not tell you what to bet or invest in. Laws change. Code changes. Markets change. Update your model and your tools often. If you build, publish changelogs. If you bet, read them.

References you can trust (cited above)

  • Uniswap docs on automated market makers
  • Vitalik: prediction markets with tokenized outcomes
  • Angeris & Chitra: Constant Function Market Makers
  • Robin Hanson: LMSR paper
  • Uniswap v2: price impact overview
  • Chainlink: oracle design docs
  • Augur docs
  • Paradigm: TWAMM
  • Bancor: impermanent loss explained
  • JEP: Prediction markets overview (Wolfers & Zitzewitz)
  • CFTC: event contracts
  • BeGambleAware
  • Ethereum.org: MEV

Closing: what changes next

Odds will get more “token-like.” Curves will be modular. UX will hide the math yet show the risk. Builders will blend models, add time-sliced order flow, and ship clear oracle rules. Bettors will see real costs, not just a line. That is good for trust.

Stay within your limits. Follow the law where you live. This page is for education only.