> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trysoar.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Market lifecycle

> Open, halted, resolved — and the venue-wide states above them

A market is in one of three states, and each one changes what your requests do.

| State | Orders | Cancels | Positions |
| - | - | - | - |
| **Open** | Accepted | Accepted | Held |
| **Halted** | `422 market_halted` | Accepted | Held |
| **Resolved** | `422 market_resolved` | — | Pay out |

## Halted

A halt is temporary and specific to one market. New orders are rejected; **existing
orders stay on the book** and you can still cancel them. That combination is
deliberate: a halt should not trap you in a position you want out of the queue for.

Trading elsewhere is unaffected. If your bot covers many markets, a halt on one is
not a reason to stop.

## Resolved

Resolution is terminal. The market will never accept another order, its outcome is
decided, and positions pay out — 100¢ per share on the winning outcome, 0¢ on the
other. See [Settlement](/concepts/settlement).

A resolved market stays readable: you can still fetch it, its trade history, and your
positions in it. It just cannot be traded.

## Venue-wide states

Above individual markets there are two venue-wide stops. They return **`409`**, not
`422`, and the difference from a market halt is the whole reason for the separate
status code:

| Code | Status | Orders | Cancels |
| - | - | - | - |
| `venue_cancel_only` | 409 | Rejected | **Accepted** |
| `venue_halted` | 409 | Rejected | Rejected |

`venue_cancel_only` is an orderly wind-down: you can always get out, never in.
`venue_halted` is a total freeze — nothing is accepted, cancels included.

<Note>
  Branch on the status, not the message. `409` means *the venue* is not accepting
  this, so trying a different market will not help — back off and retry later. `422
      market_halted` means *that one market*, so trading elsewhere is fine. Collapsing
  them makes a bot hammer a closed venue.
</Note>

## Listing and rolling

New markets appear over time as companies are listed and as ladders roll. Ladder
events are **quarterly**: an event resolves at the end of its quarter, and a fresh
event with a new tenor takes its place.

The practical consequence for a long-running bot: **market tickers are not permanent.**
`ANTHROPIC-VALUATION-26Q3-1.05T` stops trading when 26Q3 resolves, and its 26Q4
counterpart is a different market with a different ticker and its own book. Re-discover
markets rather than hard-coding a list:

```bash theme={null}
# Every quarter in a series
curl -s "https://api.trysoar.com/v1/events/ANTHROPIC-VALUATION" \
  -H "X-API-KEY: $SOAR_API_KEY"
```

See [Survival ladders](/concepts/survival-ladders#addressing-a-ladder) for how the
series, event, and market tickers nest.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.