Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.kash.bot/llms.txt

Use this file to discover all available pages before exploring further.

HTTP status: 409 · Title: “Confirmation token used”

When it fires

The token has already been redeemed. Confirmation tokens are one-time use — the first successful confirm clears the stored hash so a replay can’t re-fire the trade.

Why it happens

  • A retry layer that doesn’t check the trade’s status before re-confirming (most common).
  • Two parallel confirmation attempts from the same consumer (race condition in the caller).
  • A double-click in a human-in-the-loop UI.

How to fix

  • Check the trade’s status via GET /v1/trades/:id — if it’s anything past pending_confirmation, the confirm already succeeded.
  • Make your retry loop idempotent: poll trade status first, only confirm if status === 'pending_confirmation'.
  • For UI flows: disable the confirm button immediately on click to prevent double-submission.