Skip to main content
GraphQL errors follow the standard shape — a message plus machine-readable extensions:
JSON
Branch on extensions.error (stable slug), not the human-readable message.

Error codes

Validation errors on playerBets / pendingBetCount (bad address format, unknown networkId, invalid filter.status) return a plain message without an extensions.error slug — treat any error from those queries as a caller bug to fix, not a retry case.

Limits

Degraded modes (not errors)

Some unavailability is expressed in-band rather than thrown:
  • playerBets returns source: "unavailable" with an empty list when the indexed store is down or unconfigured.
  • pendingBetCount returns 0 in the same situation.
  • betResult.proof is null when a proof couldn’t be produced — the result is still valid; fall back to seed-reveal claiming (Results & proofs).
Handle these as empty/degraded states in your UI, not failures.