Skip to content

Market and reader states

Source bitcoinuniverseio/core (private)
Path frontend market state components, Ordex authority
Chain bitcoin, dogecoin
Network mainnet
Verified 2026-09-01
StateConcludeRetry?Next
LoadingNothing yet. A placeholder never contains a figureWait
Nothing listedThe reader answered. The market is genuinely emptyNo, it will say the same thing
Market unavailableNothing. The count is unknown and is never shown as zeroYesCheck /indexer-health for that protocol
Partial bookWhat you see is real and incompleteYes, for the restA missing row is not evidence of absence
Degraded (Ordex)Ordex is running; a Bitcoin Core or ordinals reader is unavailable. Existing orders stay listed, new listings cannot be verifiedYes, laterDo not treat an unverifiable new listing as verified
Switched off by an operator (Ordex)Deliberately paused. The market and desk stay in place and say soNoNothing you press creates a transaction
RetiredListings and history stay viewable. Buying and listing are permanently closedNoOP-20 and OP Names today
A dash in a cellThat figure was not read. Not a zeroRefreshDo not rank by a column of dashes
A column that is absentThe source cannot answer that question at allNoNot the same as a column of zeroes
A disabled control with a reasonThe protocol supports the action; a live gate disagreesYes, refreshing rechecks that exact routeAn earlier ready result is never reused
No control at allThe protocol does not support the actionNoThe support matrix gives the reason

Unavailable is a fact about the read. Empty is a fact about the market.

If a market says its reader is unavailable, do not assume that no tokens, listings, or activity exist. Retry later, or use the protocol’s independent explorer. Do not create or repeat a transaction from stale market data.

Terminal window
curl -s https://api.bitcoinuniverse.io/indexer-health \
| jq '.data[] | select(.protocolId=="<protocol>")
| {indexerIdentity, tip, nodeTip, lag, lastSuccess,
status, reasonCode, reasons,
stale: .freshness.stale, disagreeing: .freshness.disagreeing}'
What you findWhat it means
lastSuccess: nullThis index has never been read successfully in the current process. tip: 0 beside it is unread, not height zero
freshness.stale: trueThe observation is older than the freshness limit. It may resolve on the next refresh
freshness.disagreeing: trueTwo authorities disagree. This will not resolve on a refresh
capabilities: [] with a long declaredCapabilitiesThe protocol declares actions this authority cannot currently execute. Gate 1 passed, gate 3 did not
reasonCodeThe dominant reason, as a stable code

A status code or a raw response payload on a market page. A failed read is reported in plain language. If you see either, report it: that is a defect.

Before signing anything after an error:

  1. Refresh market state.
  2. Confirm the state is now ready, not degraded or partial.
  3. Confirm the wallet network and account.
  4. Read the wallet’s own inputs and outputs.

Never repeat a transaction from stale data.