Skip to main content
To resolve a market, the user calls the resolve function on the Market contract.

Prerequisites

Before resolution can succeed:
  • The Reality question(s) must be answerable: block.timestamp >= openingTime (opening time is set at market creation).
  • The question(s) must be answered on Reality.eth (someone called submitAnswer with sufficient bond).
  • The question(s) must be finalized (e.g. timeout passed, no reopen), so that realitio.resultForOnceSettled(questionId) returns a settled result.
If these are not met, the resolution transaction will revert.

After resolution: redeeming

Once the market is resolved, users can redeem winning position tokens for the underlying collateral via the Router contract (merge and redeem flow).
The @seer-pm/sdk provides getResolveMarketExecution(marketAddress, chainId). Send the result with your wallet client.

Resolve the market

Simulate before sending

To avoid reverts (e.g. question not yet settled), simulate the call first with publicClient.call. It uses the same payload as the transaction and does not change state (viem: simulateContract):