Explanation

Why early ETH exits are limited

Turning a directional position back into ETH means rebuilding complete sets. Three wallet and pair quantities cap how many you can rebuild.

The three bounds

An insured exit of q complete sets from a wallet holding long Yes shares needs q Invalid shares, q Yes shares for the sets, and extra Yes shares to buy exactly q No shares from the pair:

The SDK binary-searches these monotonic conditions; the chosen candidate is then simulated through the router. All three bounds also presume a live market: the swap reverts once the pair closes, and the SecurityPool redeems complete sets only while it is operational. Forks and resolution covers what closes a pair and how to settle afterwards.

  1. User → ShareToken: batch transfer of q Invalid + maximum Yes input to the router, with the encoded request
  2. ShareToken → Router: receive callback with the shares and request
  3. Router → Pair: exact-output swap for q No
  4. Pair → Router: q No
  5. Router → SecurityPool: redeemCompleteSet(q)
  6. SecurityPool → Router: current ETH value
  7. Router → User: measured ETH delta
  8. Router → User: unused Yes shares
An insured exit. The exit starts with a share transfer to the router, not a router call. Pre-existing ETH in the router is never mixed into the delta the user receives.

Example

A wallet holds 150 Invalid and 260 Yes shares. If buying 100 No requires 112 Yes, redeeming 100 sets needs 212 Yes and succeeds. Trying 150 might require 181 extra Yes, or 331 in total, and fails on Yes even though Invalid would cover it. If the wallet instead had only 60 Invalid, at most 60 sets are insured. Whatever Yes cannot be insured remains a valid directional asset; it has not disappeared.