Explanation

The liquidity-provider position

An LP token is a proportional claim on a pair's Yes and No reserves and nothing else. This page explains how that claim is minted and what it does not cover.

How LP supply is scaled

Initial LP supply uses the smaller reserve as an accounting scale. The pair permanently mints 1,000 units to MINIMUM_LIQUIDITY_LOCK (address(1)), then mints min(Yes, No) − 1,000 to the initializer, so total initial supply is min(Yes, No). At attoShare scales this avoids an overflowing geometric-mean multiplication. The absolute LP supply is arbitrary; wallet LP / total LP defines ownership.

  1. LP → Router: addLiquidityWithEth with ETH
  2. Router → SecurityPool: createCompleteSet()
  3. SecurityPool → Router: equal Invalid, Yes, No
  4. Router → Pair: add largest proportional Yes + No
  5. Pair → LP: LP tokens
  6. Router → LP: all Invalid + unused Yes/No
Adding liquidity with ETH. The LP token covers only the Yes and No shares that entered the pair; the Invalid shares stay with the provider.

What the token claims

A holder of wallet LP / total LP can withdraw that fraction of both reserves as raw Yes and No shares at any time, including after trading closes. Swap fees are taken from the input and stay in the reserves, and direct Yes or No donations are synchronized into them, so both accrue to existing LPs.

The claim is on shares, not ETH. Its mix of Yes and No shifts as trades move the price, and neither share redeems for anything if the question resolves Invalid. The pair cannot hold Invalid shares, so the Invalid minted with a provider's complete sets stays in the provider's wallet, outside the token; Invalid insurance explains what it covers.