Skip to main content

Order Status

Order and session status values and their meanings.

Order Status

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

Status Descriptions

StatusDescription
SIGNAL_SUBMITTEDIntent transaction submitted, awaiting confirmation
SIGNAL_MINEDIntent confirmed on-chain, awaiting payment
PAYMENT_SENTUser indicated they sent fiat payment
PROOF_VERIFIEDPayment proof verified by attestation service
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

                    ┌──────────────────┐
│ SIGNAL_SUBMITTED │
└────────┬─────────┘

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

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

┌──────────────────┐
┌─────│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 (1 hour default)
CANCELLEDUser cancelled checkout

Proof Attempt Status

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

Status Descriptions

StatusDescription
PENDINGProof received, awaiting processing
VERIFYINGProof being verified
VERIFIEDProof verified successfully
REJECTEDProof verification failed (can retry)

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