Skip to main content
HTTP status: 400 · Title: “Chain not supported”

When it fires

The request targets a chain this environment does not support for the operation. There are two cases.
  1. A market on an unsupported chain. GET /v1/markets/{id}/quote and POST /v1/redemptions read the chain, and the market is on a chain this environment cannot read.
  2. A Solana market when the client pins API version 2026-04-29. See below.

A Solana market on a pinned 2026-04-29

GET /v1/markets/{id} and GET /v1/markets/{id}/quote return this code for a Solana market only when the request sends X-Kash-Api-Version: 2026-04-29, because that legacy contract has no field that can describe a non-EVM chain. Requests without the header are served 2026-08-19 and never hit this case. It is returned whatever the market’s state, so it does not mean the market is cancelled or closed. Drop the header or send X-Kash-Api-Version: 2026-08-19. The market then carries chainRef, tradeable and notTradeableReason, and an untradeable market’s quote or trade returns MARKET_NOT_TRADEABLE (409) instead. POST /v1/trades does not use this code for Solana markets on either version.

Why it happens

The market is on a chain this environment does not support for the operation. Your request is well formed; this is a chain-support condition, so it is a permanent 400 and retrying will not help. (A supported chain with incomplete server configuration returns INTERNAL_ERROR instead.)

How to fix

  • Solana markets: stop pinning 2026-04-29. Drop the header or send X-Kash-Api-Version: 2026-08-19. Production trading runs on Solana.
  • Other market routes: the detail field lists the supported chains.
  • If you believe the chain should be supported, contact ZeroID support. It is a server configuration gap, not something you can correct.