How-to guide

Seed alternative conditional odds

Use this guide when you want a new pair to open at a specific Conditional YES price rather than 50%.

Compute the deposits

The UI's Initialize form takes a Conditional YES percentage and passes it to the router's createPairAndInitializeWithEth as basis points (conditionalYesBps); both do this arithmetic for you; Your first Trading market uses that path. Use the formula below only when calling pair.initialize(yesAmount, noAmount, minLiquidity, recipient) yourself. That direct path has two prerequisites the router handles for you: approve the pair as an operator on the canonical ShareToken, because initialize pulls both reserves from the caller, and deposit enough that the smaller reserve exceeds MINIMUM_LIQUIDITY (1,000 attoShares), since that amount is permanently locked. See the pair reference.

Choose the Conditional YES price p in basis points with 0 < p < 10,000, and let q be the number of complete sets you created.

Both amounts must be nonzero. At 70% Conditional YES, q = 1,000 produces about 428.571 YES and 1,000 NO, or approximately NO:YES = 70:30. Return all INVALID and unused directional shares to the initializer. Conditional pricing explains why the larger reserve is the one you are betting against; the units and rounding reference gives the exact rounding directions.