Long vs short. Challenger picks the side.
The challenger picks a price feed (e.g. SOL/USD via Jupiter), a duration, and explicitly picks their own side — LONG or SHORT. The acceptor is automatically the opposite side. At accept the program snapshots entry price; at expiry, whichever direction the feed moved decides the winner.
- ›PAIR (oracle target): SOL/USD, BONK/USD, JUP/USD, ETH/USD
- ›YOUR SIDE: LONG or SHORT (challenger explicitly picks)
- ›STAKE + STAKE TOKEN: amount + KOMBT/SOL/USDC
- ›DURATION (timeout in minutes)
- 01Challenger declares: pair + side (LONG/SHORT) + duration + stake.
- 02Acceptor confirms — auto-assigned opposite side — both stakes lock into the match PDA.
- 03Program records snapshot_start = oracle price at accept time.
- 04Health bars drift in real time (LONG bleeds when price drops, SHORT bleeds when it rises).
- 05At expiry program reads snapshot_end. direction matches challenger_side? challenger wins. else acceptor wins.
- 06Winner takes 2x stake minus 2% protocol burn. KO seals it.
Challenger picks LONG SOL/USD for 1 hour, 500 KOMBT. snapshot_start=178, snapshot_end=181 → up matches LONG → challenger walks with ~980 KOMBT (acceptor goes home with 0).