Last updated
Post-resolution token redemption. Users burn winning outcome tokens 1:1 for USDT collateral.
redeem(factoryMarketId, amount)Verify market is in Resolved state
Determine winning outcome (YES or NO) from MarketFactory
Burn amount winning outcome tokens from caller via OutcomeToken
Pay out amount * LOT_SIZE USDT from market pool via vault.redeemFromPool()
MarketFactory: reads market state and outcome
OutcomeToken: burns winning tokens (requires MINTER_ROLE)
Vault: pays out from market pool (requires PROTOCOL_ROLE)
Only winning tokens can be redeemed (losing tokens have no value)
Market pool is funded during atomic settlement in clearBatch()
Each position unit represents 1 lot = LOT_SIZE (1e16 = $0.01)
For useInternalPositions markets (current 5-minute markets), redemption works with internal position balances instead of ERC-1155 tokens
Redeemed(uint256 indexed factoryMarketId, address indexed user, uint256 amount, bool outcomeYes)
Last updated

