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

When it fires

The confirmation token has already been redeemed. Tokens are single-use: the first successful confirm invalidates the token so a replay cannot submit the trade again.

Why it happens

  • A retry layer that re-confirms without checking the trade’s status first (most common).
  • Two concurrent confirm calls from your side.
  • A double-click in an approval UI.

How to fix

  • Check the trade with GET /v1/trades/{id}. If its status is past pending_confirmation, the earlier confirm succeeded.
  • Make retries safe: read the trade’s status first and only confirm while status === 'pending_confirmation'.
  • In UIs, disable the confirm button as soon as it is clicked.