Skip to main content
HTTP status: 409 · Title: “Confirmation token invalid”

When it fires

The token sent to POST /v1/trades/{id}/confirm does not match the token issued for that trade.

Why it happens

  • Wrong trade id: each token is single-use and tied to one trade.
  • The token was truncated or altered in transit or storage.
  • The token was sent against a different trade from the one that issued it.
The API never stores the token itself, only a keyed hash of it, and compares in constant time.

How to fix

  • Check that the trade id in the URL matches the id from the create response.
  • Copy the token exactly from confirmation.token in the create response. The TypeScript SDK does this for you; raw HTTP callers must preserve its case and full length.
  • If you lost the token (it is only returned once), the trade cannot be confirmed. Let it expire and create a new one.