Skip to main content

Market Mechanics

Baru uses a dynamic parimutuel model to ensure liquidity is pooled efficiently. Below is a breakdown of how orders are processed and how odds are determined in real-time.

Order Flow

Orders are treated as signed prices to differentiate between outcomes:
  • Positive Values: Add liquidity to the YES pool.
  • Negative Values: Add liquidity to the NO pool.
The system maintains a running state with separate liquidity for each side alongside an overall volume total.

Odds Calculation

The market moves through two distinct states based on available liquidity:
  1. Fixed State: The odds remain pinned at 50/50 until both pools have received liquidity.
  2. Dynamic State: Once both the YES and NO sides have volume, the probability floats based on the ratio of the pools:
P(Yes)=LiquidityYesVolumeTotalP(Yes) = \frac{Liquidity_{Yes}}{Volume_{Total}}

Profit Sharing (Gamma)

To ensure fair distribution of profits upon resolution, every order is assigned a Gamma Coefficient at the moment it is placed. This coefficient is stored and used later to apportion the payout. The Gamma is calculated as: γ=1Volumecurrent+Oddscurrent\gamma = \frac{1}{Volume_{current} + Odds_{current}}

Settlement Rules

To prevent manipulation or invalid market states, the engine enforces strict liquidity requirements before closing a market.
Minimum Liquidity RequirementsTo successfully settle, a market must have:
  • Total Volume: At least $5.00
  • Per-Side Volume: At least $1.00 in both the YES and NO pools.
If these conditions are not met, the market raises an insufficient-liquidity error and funds are refunded rather than settled.