Skip to main content

Market lifecycle

A RuneMarket market moves through a defined onchain lifecycle. Some transitions occur when a transaction is submitted, while others become effective after a configured deadline passes.

1. Created and trading

The market begins in the Created state. During this phase, users can trade supported pools and place limit orders while the current time remains before endOfTrading.

Pool readiness is separate from market status. A Created market may still be temporarily untradeable if its pools are not initialized, have no active liquidity, are paused, or are not configured for the requested order route.

2. Open for resolution

After the end-of-trading timestamp passes, the effective status becomes Open for Resolution. New trading actions are closed, and anyone may propose YES, NO, or CANCELED by posting the configured resolver bond.

3. Resolution proposed

A proposal starts the first challenge period. The proposed outcome is optimistic: it will become final if nobody successfully opens a dispute before the period ends.

4. Dispute raised

A participant who disagrees can post the configured disputer bond and provide a written reason. The Oracle Council then reviews the dispute.

5. Council decision or reset

The Oracle Council may:

  • accept the dispute and choose a different outcome;
  • refuse the dispute and preserve the proposal; or
  • reset the market so that a new resolution can be proposed.

The Council also determines whether the resolver or disputer should lose their bond. A decision that selects or preserves an outcome starts the second challenge period.

For a reset, bond treatment affects the next state. If the resolver is not punished, the market returns directly to Open for Resolution and both the resolver and selected disputer bonds are returned. If the resolver is punished, the market enters Reset by Council and the second challenge period applies before the reset becomes effective.

6. Escalation

When the Council result enters the second challenge period, a participant can post the escalation bond and explain why the result should be reviewed.

An external proposal is then created and identified onchain. Once that external process determines a result, an authorized operator submits the result and bond-treatment decisions to the Escalation contract. The RuneMarket development team currently performs this operator action.

The submitted result can accept a new outcome, reset the market, or reject the escalation and preserve the Council result.

7. Finalized

A market finalizes when:

  • an undisputed proposal survives the first challenge period;
  • an un-escalated Council outcome survives the second challenge period;
  • the escalation process submits a final outcome.

A Reset by Council that survives its second challenge period returns the market to Open for Resolution instead of finalizing it. Any reset begins another resolution cycle. Final outcomes are YES, NO, or CANCELED. Finalized markets no longer allow paired minting or burning. Users redeem winning positions or withdraw from a canceled market.

Time-based status

RuneMarket distinguishes between stored contract state and effective current state. For example, a challenge deadline can pass without an immediate transaction writing a new stored status. Reads of the market's effective status account for these deadlines, and a later settlement transaction records the final transition when necessary.