Maintenance mode is public status information. It does not require authentication.
When to check status
CallGET /maintenance/status when your app starts and refresh it before submitting trading actions. Bots and partner backends should also handle 425 Too Early responses with a trading-mode code from trading endpoints, because active restrictions can change after your last status check.
Trading modes
Maintenance status is reported througheffects. For trading, the possible mode values are:
Trading behavior by mode
Use the active trading effect to decide which actions your integration should attempt.
When an action is blocked by maintenance mode, trading endpoints can return
425 Too Early with a trading-mode code. Do not retry the same blocked action in a tight loop. Refresh maintenance status and wait until the active mode allows the action again.
If a market uses taker delay, a taker order may already be accepted with execution.settlementStatus: "DELAYED" before maintenance starts. Active maintenance can postpone the delayed fill past its eligibleAt timestamp. Do not treat that gap as a failed order; keep listening for order events and reconcile on the terminal MINED or FAILED event.
Active vs scheduled maintenance
The status response has two arrays:
Scheduled entries are notices. They tell you what is planned and when, but your integration should still rely on
active and trading endpoint responses for the current enforced state.
Recommended integration behavior
1
Read maintenance status
Call
GET /maintenance/status?target=trading to get trading-specific maintenance information.2
Apply active restrictions
If
active contains a trading effect, adjust your UI or bot behavior to the reported mode.3
Show scheduled notices
If
scheduled contains entries, surface the publicMessage, startsAt, and endsAt values to users or operators.4
Handle trading endpoint failures
If a trading request returns
425 with a trading-mode code, stop retrying the same action immediately and refresh maintenance status. Retry only when the mode allows that action again.Example
Error handling
When a trading action is blocked by maintenance mode, trading endpoints can return425 Too Early. Treat this as an exchange state signal, not as a malformed request.
For POST /orders, 425 is also used by receive-window checks. Use the response body to distinguish the cases: a trading-mode code means maintenance mode; a receive-window response does not include that code.
425 maintenance examples
post_only blocks non-post-only order creation. Cancellations and post-only orders are expected to remain available.
cancel_only blocks new order creation. Cancellations are expected to remain available.
disabled blocks both order creation and cancellations.
resumeAt may be omitted if no expected end time is available.
Recommended behavior:
- Refresh
GET /maintenance/status?target=trading. - Do not keep submitting blocked order actions in a tight loop.
- Continue actions that are allowed by the current mode, such as cancellations during
cancel_only. - For delayed taker orders, keep waiting for order events if maintenance is active when
eligibleAtpasses. - Resume normal trading only after status and endpoint responses indicate trading is available again.