Skip to content

Order statuses

The main path is:

AWAITING_DEPOSIT → OPEN → FULFILLING → FULFILLED → CLAIM_READY → COMPLETED
StatusMeaning
AWAITING_DEPOSITTicket exists; the quoted deposit has not been observed.
OPENDeposit is confirmed and fulfillment can begin.
FULFILLINGOne or more destination payments are in progress.
FULFILLEDDestination delivery completed; notary work remains.
CLAIM_READYThe claim is signed and ready to submit.
COMPLETEDClaim completed; the order is terminal.
DROPPEDThe funding window expired; a late deposit can still resurrect the order to OPEN.
FAILEDFulfillment failed; recovery/refund rules apply.
ABORTEDFailure recovery finished; the order is terminal.
import type { OrderStatus } from '@silentswap/sdk';
 
const watcherTerminal = new Set<OrderStatus>([
  'COMPLETED',
  'FAILED',
  'ABORTED',
]);
 
function isWatcherTerminal(status: OrderStatus) {
  return watcherTerminal.has(status);
}

For split orders, render each OrderStateRecipient.status as well as the top-level state. A top-level label alone can hide a partially delivered split.