Docs navigation

Redemption window

After a market resolves, winners and LPs have 30 days to redeem. After that, abandoned funds are forfeited.

When you can redeem

Anytime within 30 days after resolve_market runs. The clock starts at the moment the oracle posts final_price.

How to redeem

Open the market's page. The position card shows your RUG/RUN balance and a Redeem button:

  • Winners — your winning-side tokens redeem 1:1 for SOL.
  • Losers — losing-side tokens redeem for zero. There's no penalty for clicking, it's just a no-op.

LP redeem

LPs call redeem_lp from the same market page. The payout is lp_share × (vault − winning_traders_total) / lp_supply — your proportional share of the SOL left in the vault after winners are paid out.

What happens after 30 days

If no one redeems for 30 days post-resolution, an admin may call close_market. This:

  1. Closes all of the market's on-chain accounts.
  2. Sweeps the rent-exemption deposit + any unredeemed SOL to a hardcoded forfeit wallet: E8gAXC971TPgjLiuRXivUKThdWDFwbnF8vPeLeGfvhSv.

The forfeit wallet is not the admin signer. It's a separate cold wallet, hardcoded in the program. Every close emits a public MarketClosed event for audit.

This is a clawback on abandoned funds, not a fee on active trades. Anything inside the 30-day window is fully redeemable; the 0% platform-rake commitment is unchanged.

Risk

Redeem within 30 days. After that, your winnings are forfeit. There is no recovery path.

Cancelled markets

If a market was cancelled (rare admin action) instead of resolved, both positions and LP shares are refunded via cancel_redeem_position and cancel_redeem_lp. The refund uses pool prices snapshotted at the moment of cancel, not at expiry.

rug/run · solana devnet · 0% platform rake · $ROR on bags