Resolution & Trust
Who decides which answer was right, what stops that decision being abused, and the parts you still have to take on trust. This page is written to be uncomfortable rather than reassuring.
Every prediction game has to answer one awkward question: who says what happened? Here the answer depends on the market, and we would rather set it out in full than let you find out afterwards.
Three kinds of settlement
- Read from a feed
- Price Prediction rounds using published prices. The deciding numbers are submitted to the contract and stored on chain. You can check them against public exchange data yourself.
- Read from a chain oracle
- Some Price Prediction pairs read a price feed directly from the chain, with no operator anywhere in the path.
- Decided by the operator
- Event Prediction — a match, a series, a launch. The operator submits the winning answer against the event's published rule. The contract does not independently verify the real-world result.
The wording cannot change
Words on a card come from a database, and a database can be edited. So the question and every one of its answers are hashed when the event is created. That fingerprint is stored on chain as EventHash and can be checked with ComputeEventHash.
This is checked on your transaction, not on ours. If somebody changed a question after people had bet on it, the next entry would revert and the mismatch would be visible immediately. A market cannot be reworded once it is live, and it cannot be reworded after the result is known.
The window that is deliberately sealed
The dangerous power in a prediction game is not picking the wrong winner — that is visible and disputable. It is cancelling. An operator who could void a market after the result was public would hold a free option: settle the ones that make money, void the ones that cost it, and players would see nothing but an unlucky run of cancellations.
- Before the lock — cancelling is allowed. A postponed match caught in time is voided and everybody is refunded in full.
- Between lock and the refund window — cancellation is blocked. Once the seven-day window opens, an unresolved event can be cancelled again, with the same stake refund players can already request.
- A resolved market — can never be cancelled. The power to undo a result does not exist.
If we simply never resolve
The remaining worry is silence: a market locked and then abandoned, with everyone's money stuck inside it. The contract answers that without needing us.
REFUND_TIMEOUT — compiled into the contract. It cannot be extended, shortened or waived by anybody, including us.Once that window has opened, the market can no longer be resolved at all. It refunds, and the house takes nothing. Delay is not a strategy that pays: waiting costs us the fee and returns the players their money.
What we cannot reach
While an event is unsettled, protected funds include actual player stakes. At resolution, those stakes are replaced by the unpaid winner payouts calculated after the reward rate. Cancelled or timed-out events keep their unpaid stake refunds protected. Claims and refunds reduce the recorded amount. House seed is never added to it.
Events share a contract balance rather than separate reserves for every house seed. The operator must fund that balance sufficiently for payouts. If recorded obligations exceed the balance, free collateral is zero. An unfunded claim reverts without consuming the player's entitlement and can be retried when enough funds are available.
What is still a trust assumption
An honest page has to end here rather than at the last reassurance.
- Event results. We submit the winning answer after checking the result. The rule is public and the wording is fixed, but the judgement is ours.
- Which markets exist. We choose the questions, the answers offered and the seed behind them.
- The published prices. For pairs that use an off-chain feed, we publish the lock and close prices to the contract, with a proof of the reading stored alongside.
- The operator key. Resolution runs from a key we hold. Its powers are limited to what is listed above, but they are not zero.
- House funding. The operator maintains the shared balance needed to pay winning stakes. Protected-funds accounting does not create a separate reserve for every possible event payout.
- The site itself. The interface is a convenience. The contract is the product, and it can be read and called without us.