Open a dispute
Before you call
- A customer session for the same partner, integration, customer, wallet and chain.
- Customer SELL: PAID, or CREATED after its dispute window.
- Customer BUY: PAID after the dispute window measured from paidAt. TOO_EARLY includes availableAt.
The body is optional. Send a reason of name_does_not_match_payment, payment_not_received or other:
Response: unsigned prepared transaction
Errors
409: Action unavailable in the current state
409: Dispute window not elapsed
Sign, submit and confirm
- Prepare the call shown above. Preparing does not execute the action.
- Ask the customer’s registered wallet to sign
transaction, keeping its chain, sender, destination, data and value unchanged. - Submit the signed transaction or its hash with the same
preparationIdand anIdempotency-Key. - Poll the transaction status, then read the trade. The transaction can be confirmed before the trade shows the new status.
Trade actions have no signing deadline (expiresAt is null), but Sinbad checks the trade’s current escrow state and timing when you prepare. If a send is pending or its outcome is unknown, keep tracking it and do not sign another transaction.
The shared route and schema are in the API reference.