Key Concepts
This page explains the core building blocks of the Intotes prediction market platform.
Market Hierarchyβ
Intotes organizes predictions into a three-level hierarchy:
Event
βββ Pool
βββ Market (YES / NO)
Eventsβ
An event is the top-level container that represents a real-world question or topic. Examples:
- "Will BTC reach $100k by end of 2026?"
- "2026 NBA Finals Winner"
- "Next US Presidential Election"
Events have a status lifecycle: draft -> active -> closed -> resolved. Users can only trade in active events.
Poolsβ
A pool is a specific question within an event. Each event can have one or more pools.
For example, the event "2026 NBA Finals" might contain pools like:
- "Will the Celtics win?"
- "Will the series go to 7 games?"
Each pool has:
live_at-- When trading opens.finish_at-- When trading closes and resolution begins.
Marketsβ
A market is a single binary outcome within a pool. Most pools have two markets: one for YES and one for NO.
Each market has:
- A probability (the current price).
- A volume (total amount traded).
- A side: YES or NO.
Prices and Probabilitiesβ
All prices on Intotes use an integer format from 0 to 10000, representing 0% to 100% probability.
| Probability | Internal Price | Meaning |
|---|---|---|
| 0% | 0 | Market considers event impossible |
| 25% | 2500 | Low likelihood |
| 50% | 5000 | Even odds |
| 75% | 7500 | High likelihood |
| 100% | 10000 | Market considers event certain |
The YES price and NO price always sum to 10000. If YES is priced at 6500 (65%), then NO is priced at 3500 (35%).
Money Formatβ
All monetary values in the API are expressed in cents (kopecks for RUB). There are no floating-point numbers.
| Display Value | API Value (cents) |
|---|---|
| $0.01 | 1 |
| $1.00 | 100 |
| $10.00 | 1000 |
| $100.00 | 10000 |
This applies to balances, trade amounts, volumes, and PnL values.
Trading Mechanismsβ
Intotes offers two ways to trade on any market. Both can be active simultaneously.
Orderbookβ
The orderbook works like a traditional exchange:
- Limit orders -- You specify a price and quantity. Your order sits in the book until another user matches it.
- Market orders -- You specify a quantity and get filled at the best available price from existing orders.
Orders are matched peer-to-peer. If there is no matching counterparty, a limit order waits in the book. Partially filled orders remain in the book for the unfilled remainder.
Key endpoints:
POST /api/v1/market/order-- Place a limit or market order.DELETE /api/v1/market/order?order_id=...-- Cancel an open order.
LMSR Automated Market Maker (AMM)β
The LMSR (Logarithmic Market Scoring Rule) is an automated market maker that always provides liquidity. You can trade at any time without needing a counterparty.
How it works:
- The AMM uses the cost function
C(q) = b * ln(sum of e^(q_i / b))wherebis the liquidity parameter andq_iare token quantities. - Buying pushes the price up; selling pushes the price down.
- A fee is applied on each trade (configured as
FeePercent).
Key endpoints:
POST /api/v1/lmsr/trade-- Execute a trade against the AMM.GET /api/v1/lmsr/preview-- Preview trade cost without executing.
Hybrid execution: When both mechanisms are available, limit orders that cannot be matched in the orderbook may have their residual filled via the LMSR AMM.
Positionsβ
A position represents your exposure in a specific market.
| Position Type | Meaning | You Profit When |
|---|---|---|
| Long | You hold YES tokens (bought YES) | Event happens (YES) |
| Short | You hold NO tokens (bought NO) | Event does not happen (NO) |
Each position tracks:
- Shares -- How many tokens you hold.
- Average price -- The weighted average price at which you acquired them.
- Unrealized PnL -- Your paper profit or loss based on the current market price.
You can close a position at any time by selling your shares back (either through the orderbook or the LMSR AMM).
Settlementβ
When an event resolves, all markets within it are settled:
- The event creator (or admin) declares the outcome: YES or NO.
- Winning side holders receive 10000 cents (= $100.00) per share at full contract value.
- Losing side holders receive 0.
For example, if you bought 10 YES shares at a price of 6500 (costing 65000 cents), and the event resolves YES:
- You receive 10 x 10000 = 100000 cents.
- Your profit is 100000 - 65000 = 35000 cents ($350.00).
If the event resolves NO, you receive 0 and lose your full investment of 65000 cents.
Summaryβ
| Concept | Description |
|---|---|
| Event | Top-level container for a real-world question |
| Pool | A specific question within an event, with trading window |
| Market | A YES/NO binary outcome with a probability price |
| Price | Integer 0-10000 representing 0%-100% probability |
| Money | All values in cents. 100 = $1.00 |
| Orderbook | Peer-to-peer matching of limit and market orders |
| LMSR AMM | Algorithmic market maker providing instant liquidity |
| Position | Long (YES tokens) or Short (NO tokens) |
| Settlement | Winning side gets full value (10000/share), losing gets 0 |