Getting Your KUSD Back

Redemption and Market Close

After a market closes, every answer's token holders redeem their pro-rata share of that pool's real KUSD. There are no winners or losers — just proportional return of each pool's remaining backed liquidity.

TradersDevelopers
Oracle-Free

No external data feed. Markets close on a schedule and archive final sentiment — no oracle dependency, ever.

Dual Liquidity

Virtual KUSD seeds equal initial depth. Backed KUSD from real deposits defines actual exit capacity. The two are always tracked separately.

Hardened Risk Controls

25% max price impact, 50% virtual-seed buy cap, and optional trade cooldowns bound single-actor displacement on-chain.

What Happens at Close

When closeMarket is called, the router processes each answer pool independently:

  • 1. LP liquidity is removed from the pair, recovering KUSD and answer tokens.
  • 2. Virtual KUSD is burned: V_burn = min(recovered KUSD, original virtual seed).
  • 3. Remaining KUSD after virtual removal = C = recovered KUSD − V_burn.
  • 4. Final redeemable KUSD: R = min(C, backedKusdIn − backedKusdOut). The smaller of what is in the pool and what real users actually paid in. Any real AMM fee/value still inside that answer pool, including the retained 0.3% AMM fee, is part of C and is settled into that pool's redemption backing.
  • 5. R is moved from the pair into the router and stored as redeemableKusd for that pool.
  • 6. redeemSupply is set to the circulating answer-token supply eligible for redemption.
No cross-answer transfer

R for answer A never flows to answer B. Each pool's backed KUSD, including the 0.3% AMM fee/value left in that pool at close, belongs exclusively to that pool's token holders. There is no redistribution from one answer to another.

User Redemption Formula

If you hold q tokens of answer i in a closed market, your redemption amount is: payout = floor(q / S_i × R_i), where S_i is the redeemSupply of answer i and R_i is the redeemable KUSD for that pool.

The floor reflects integer arithmetic in the contract. Tiny rounding dust may remain in the pool — this is bounded and expected. No user can redeem more than their proportional share.

Example: 2-answer market

  Answer A:
    redeemableKusd (R_A) = 800 KUSD
    redeemSupply (S_A)   = 5000 tokens

  You hold 500 answer-A tokens:
    payout = floor(500 / 5000 × 800) = 80 KUSD

  Answer B:
    redeemableKusd (R_B) = 200 KUSD
    redeemSupply (S_B)   = 9000 tokens

  A holder of 1000 answer-B tokens:
    payout = floor(1000 / 9000 × 200) ≈ 22 KUSD
No winner premium

Answer A holders get 80 KUSD because 800 KUSD of real user money flowed into answer A. Answer B holders get 22 KUSD because 200 KUSD entered answer B. Neither side receives the other's KUSD.

How to Redeem

Open your portfolio (top-right menu → Portfolio). Markets with status "Redeemable" show a Redeem button for each qualifying position. Click Redeem, approve the answer-token transfer, and confirm. The router calls burnFromAuthorized on your tokens and transfers your KUSD.

  • Redemption is available for any Closed market.
  • Cancelled market refunds are via a separate cancelRedeem path.
  • There is no redemption deadline — your redeemable position remains valid until you claim it.