Skip to main content

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.

ProbabilityInternal PriceMeaning
0%0Market considers event impossible
25%2500Low likelihood
50%5000Even odds
75%7500High likelihood
100%10000Market 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 ValueAPI Value (cents)
$0.011
$1.00100
$10.001000
$100.0010000

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)) where b is the liquidity parameter and q_i are 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 TypeMeaningYou Profit When
LongYou hold YES tokens (bought YES)Event happens (YES)
ShortYou 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:

  1. The event creator (or admin) declares the outcome: YES or NO.
  2. Winning side holders receive 10000 cents (= $100.00) per share at full contract value.
  3. 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​

ConceptDescription
EventTop-level container for a real-world question
PoolA specific question within an event, with trading window
MarketA YES/NO binary outcome with a probability price
PriceInteger 0-10000 representing 0%-100% probability
MoneyAll values in cents. 100 = $1.00
OrderbookPeer-to-peer matching of limit and market orders
LMSR AMMAlgorithmic market maker providing instant liquidity
PositionLong (YES tokens) or Short (NO tokens)
SettlementWinning side gets full value (10000/share), losing gets 0