When it fires
POST /v1/trades/{id}/confirm was called for a trade whose status is not pending_confirmation.
Why it happens
- The trade was already confirmed (for example confirm was called twice); see also
CONFIRMATION_TOKEN_USED. - The trade was below your key’s high-value threshold and never needed confirmation.
- The trade has moved past confirmation into execution or a final state.
- The confirmation window expired; see
CONFIRMATION_EXPIRED.
How to fix
- Check the trade’s current
statuswithGET /v1/trades/{id}. A trade that needs confirmation ispending_confirmation; a create response without aconfirmationobject never needs confirming. - If the trade is
completed, there is nothing more to do. - If the confirmation window passed, the trade will not execute. Create a new trade and confirm it within the new window.