CurtainMarketsDocs
curtain/docsLaunch app

Curtain

Curtain is a prediction market on crypto prices where nobody can see your bet. You choose a side and a stake on your own device, they are encrypted there, and the sealed math runs inside Arcium. Solana only ever stores ciphertext and the market totals.

Everyone sees the odds. Nobody sees you.

The problem it fixes

On a public prediction market, a position is readable the moment it lands. Wallet trackers and copy bots are sold as products. A large bettor moves the odds against themselves before they finish building a position, and anyone can follow their wallet into the next market.

On Curtain the board shows what everyone needs, the Yes and No pools, and nothing else. Your side and your stake stay sealed before settlement and after it.

What a market is

Version one runs binary price questions only, so settlement needs no judge:

FieldExampleWhere it lives
Price feedPyth SOL/USDMarket.feed_id
Strike$110Market.strike, in the feed's own units
DeadlineNov 1, 00:00 UTCMarket.expiry
Betting closesa buffer before the deadlineMarket.close_time

The question is always the same shape: is the first Pyth print at or after the deadline at or above the strike? One market exists per feed, strike and deadline, because the market account address is derived from exactly those three values.

What happens to a bet

  1. You fund a sealed balance (a purse). The deposit is a normal token transfer, so its amount is public.
  2. You place a bet. Side and stake are encrypted on your device and sent as ciphertext.
  3. Arcium checks the bet against your sealed balance and drops a sealed ticket into the market's open batch.
  4. When a batch closes, Arcium adds its tickets up and posts only the new Yes and No totals. A batch is never added up with fewer than 5 different bettors in it.
  5. After the deadline, anyone submits the first Pyth print at or after it. That print decides the market.
  6. Every position is paid back into its owner's sealed balance, winners and losers alike.
  7. You withdraw to your wallet when you want. The withdrawal amount is public.

What Curtain is not

Next: How it works