How it works
Split
One TSM share splits into two tokens: YES becomes the share if the event happens, NO becomes it otherwise. Merge them back any time before resolution. No counterparty, no fee.
Settle on UMA · each market copies a Polymarket question
Each market copies a Polymarket question word for word and settles it on UMA’s Optimistic Oracle. After the deadline anyone proposes the answer with a bond; if nobody disputes within 24 hours, it settles. Trading closes at the deadline; split, merge and cancel stay open.
The question is opened through Polymarket’s UMA adapter, deployed here unmodified. The wording is frozen: the question id is a hash of it, so nobody can change it, us included.
- Propose. A 500 USDC bond plus UMA’s 250 USDC final fee, both returned if the answer stands. If nobody proposes, the question stays open until someone does.
- Dispute window, 24 hours. A first dispute re-opens the question; a second goes to the UMA token-holder vote, and whoever was wrong loses their bond. Anyone holding a leg a wrong answer would hurt has every reason to dispute.
- Resolve. The market header says where the question is: awaiting a proposal, proposed and counting down, disputed, settled.
There is no guardian. The adapter has an emergency override: its admin can flag an unresolved question and, an hour later, resolve it manually. It is disclosed here because it exists.
Polymarket’s own result has no effect here, and nothing on chain connects the two. Their probability is shown as the best public estimate of the event, and used to turn leg prices into values: a reference, not a price you trade.
Trade · anyone can quote; today one maker does
Prices are in shares: a leg at 0.30 costs 0.30 TSM. A bid for YES and a bid for NO that add up to one share fill each other, so the book has liquidity as soon as two people disagree. Today every quote is our own maker’s, at Polymarket’s odds; nobody else has quoted yet.
The order book is Polymarket’s CTF Exchange, unmodified except for the EIP-712 domain name, one deployment per collateral. When two bids cross, the exchange takes one share’s worth of collateral from the two of you, splits it, and hands each of you your leg; two asks that sum to at most a share merge the other way. The two leg prices are pinned to sum to one share by arbitrage: anyone can split or merge against a book that drifts.
Read the number · leg price ÷ chance × today’s price
For example: YES costs 0.47 TSM and Polymarket gives the event 39%. Then TSM if it happens ≈ 0.47 ÷ 0.39 × $453 = $546.
The page shows both branches, if it happens and otherwise, and says when the number is rough.
E[share | event] = leg price ÷ P(event) × spot
Under no-arbitrage the yes-leg is worth P × E[share | yes] and the no-leg (1 − P) × E[share | no], and the two sum to the share. Because legs are quoted in shares, the ratio E[share | yes] / spot is just the leg price over P, with no price oracle in it. The dollar figure multiplies by an on-chain mark for the wrapper. The two branches’ probability-weighted average is, by construction, today’s price.
At P = 3%, one percentage point of probability is a third of the answer.
Paying with USDC · the ticket swaps what you’re short
Orders settle in the wrapped stock. If you don’t have enough, the ticket buys the shortfall (plus a slippage cushion) with USDC through KyberSwap, price shown first: one approval, one swap, then the order.
Fees · makers nothing; takers at most 1%, less on likely outcomes
Makers pay nothing. Takers pay at most 1%, less on likely outcomes (about 0.03% on a NO at 0.97). The ticket shows the exact fee before you sign.
An order that fills the moment you place it is a taker; one that waits on the book is a maker, and pays nothing when someone later takes it. The rate is signed into the order, so an order signed as a taker keeps paying the taker rate on any part of it that rests after a partial fill; you can rest the remainder as a second, free order instead.
The rate is scaled by the price so a cheap YES and its expensive NO pay the same for the same size (the contract multiplies by min(p, 1 − p)). The exchange contract takes it at fill time.
What is and isn’t true
- Every leg is backed one-for-one by the wrapped share. Each wrapped stock is an upgradeable token controlled by its issuer, and every position depends on that issuer.
- Settlement depends on someone proposing the right answer to UMA, and disputing a wrong one within 24 hours.
Details: what is and isn’t true
- The share issuer is not a counterparty to any of it: the wrapped shares are escrowed in the Conditional Tokens contract.
- Dividends accrue into the wrapper and go to whichever leg wins. The legs decompose total return, not price.
- Signing an order is free and off-chain; matching is an on-chain transaction. Orders signed here expire after 30 days. Cancelling on our side does not invalidate your signature on chain before that; “Void all on chain” under Open orders does (it calls incrementNonce on the exchange).