A protocol for migrating a DPM market to a fixed-payout system (suitable for Maniswap + CLOB trading) once open interest crosses a threshold.

Background

DPM (Dynamic Parimutuel): users buy shares of a pool. A YES share pays $(s/y) \cdot pool$ if YES resolves. Prices are implicit in the pool composition.

Fixed-payout: each YES token pays $1 if YES resolves and $0 otherwise (symmetrically for NO). Prices range over $0–$1 and coincide with implied probabilities. Two key mechanics:

The conversion below preserves every user's payout under both resolution outcomes, so no user gains or loses from the migration itself.

The Core Conversion

At migration time, the DPM is in state (y, n) with pool $C = \sqrt{y^2 + n^2}$.

User i holds $s_Y^i$ YES shares and $s_N^i$ NO shares. They receive fixed-payout tokens:

$$ T_Y^i = \frac{s_Y^i}{y} \cdot C, \qquad T_N^i = \frac{s_N^i}{n} \cdot C $$

Payout equivalence. If YES resolves, DPM pays user i exactly $(s_Y^i / y) \cdot C = T_Y^i$ dollars, which is precisely what $T_Y^i$ YES tokens pay in the fixed-payout system. The NO case is symmetric. Every user's payout is preserved in every outcome.

The ante is a virtual participant. The creator's ante sits in the pool as shares $(y_\text{start}, n_\text{start})$ from market creation and receives tokens under the same formula:

$$ T_Y^\text{ante} = \frac{y_\text{start}}{y} \cdot C, \qquad T_N^\text{ante} = \frac{n_\text{start}}{n} \cdot C $$

These tokens are owned by the protocol (or market creator, depending on ante policy) and, as we'll see, are what seeds the post-migration AMM.

System-Wide Accounting

Summing over all holders (users and the ante):

$$ \sum_{i \in \text{users}} T_Y^i + T_Y^\text{ante} = \frac{(y - y_\text{start}) + y_\text{start}}{y} \cdot C = C, \qquad \text{similarly } \sum T_N = C $$

So exactly $C worth of YES tokens and $C worth of NO tokens are outstanding after conversion. The DPM pool holds $C in cash — precisely the amount needed to cover whichever side wins. The migration is self-balancing: no new capital is required, and no reserves are left over.

Netting Mixed Positions