Skip to main content

Order Status

Order and session status values and their meanings.

Order Status

const OrderStatus = {
SESSION_CREATED: 'SESSION_CREATED',
SIGNAL_SENT: 'SIGNAL_SENT',
SIGNAL_MINED: 'SIGNAL_MINED',
PAYMENT_SENT: 'PAYMENT_SENT',
PROOF_VERIFIED: 'PROOF_VERIFIED',
PROOF_SUBMITTED: 'PROOF_SUBMITTED',
FULFILL_SUBMITTED: 'FULFILL_SUBMITTED',
FULFILLED: 'FULFILLED',
CANCELLED: 'CANCELLED',
EXPIRED: 'EXPIRED',
FAILED: 'FAILED',
} as const;

Status Descriptions

StatusDescription
SESSION_CREATEDInitial state when order is created
SIGNAL_SENTIntent transaction submitted to blockchain
SIGNAL_MINEDIntent confirmed on-chain, awaiting payment
PAYMENT_SENTUser indicated they sent fiat payment
PROOF_VERIFIEDPayment proof verified off-chain
PROOF_SUBMITTEDProof submitted to blockchain
FULFILL_SUBMITTEDFulfillment transaction submitted
FULFILLEDPayment complete, USDC transferred
CANCELLEDOrder cancelled by user or system
EXPIREDOrder expired before completion
FAILEDOrder failed (verification or tx error)

Status Flow

                    ┌─────────────────┐
│ SESSION_CREATED │
└────────┬────────┘

┌─────────────────┐
│ SIGNAL_SENT │
└────────┬────────┘

┌─────────────────┐
┌─────│ SIGNAL_MINED │─────┐
│ └────────┬────────┘ │
↓ ↓ ↓
┌─────────┐ ┌─────────────┐ ┌─────────┐
│ EXPIRED │ │ PAYMENT_SENT│ │CANCELLED│
└─────────┘ └──────┬──────┘ └─────────┘

┌─────────────────┐
│ PROOF_VERIFIED │
└────────┬────────┘

┌─────────────────┐
│ PROOF_SUBMITTED │
└────────┬────────┘

┌──────────────────┐
┌─────│FULFILL_SUBMITTED │─────┐
│ └────────┬─────────┘ │
↓ ↓ ↓
┌─────────┐ ┌───────────┐ ┌─────────┐
│ FAILED │ │ FULFILLED │ │ FAILED │
└─────────┘ └───────────┘ └─────────┘

Terminal States

StatusIs TerminalDescription
FULFILLEDYesSuccess - payment complete
CANCELLEDYesUser or system cancelled
EXPIREDYesTimed out
FAILEDYesError occurred

Session Status

const SessionStatus = {
CREATED: 'CREATED',
ACTIVE: 'ACTIVE',
COMPLETED: 'COMPLETED',
EXPIRED: 'EXPIRED',
CANCELLED: 'CANCELLED',
} as const;

Status Descriptions

StatusDescription
CREATEDSession created, awaiting user
ACTIVEUser started checkout, order in progress
COMPLETEDPayment successful
EXPIREDSession expired (24 hours)
CANCELLEDUser cancelled checkout

Proof Attempt Status

const ProofAttemptStatus = {
PENDING: 'PENDING',
VERIFYING: 'VERIFYING',
VERIFIED: 'VERIFIED',
REJECTED: 'REJECTED',
SUBMITTED: 'SUBMITTED',
FULFILLED: 'FULFILLED',
TX_FAILED: 'TX_FAILED',
} as const;

Status Descriptions

StatusDescription
PENDINGProof received, awaiting processing
VERIFYINGProof being verified
VERIFIEDProof verified successfully
REJECTEDProof verification failed
SUBMITTEDProof submitted to blockchain
FULFILLEDTransaction confirmed, complete
TX_FAILEDBlockchain transaction failed

Webhook Delivery Status

const WebhookDeliveryStatus = {
PENDING: 'PENDING',
DELIVERED: 'DELIVERED',
FAILED: 'FAILED',
} as const;
StatusDescription
PENDINGAwaiting delivery or retry
DELIVEREDSuccessfully delivered (2xx response)
FAILEDAll retry attempts exhausted