Skip to main content

Status Lifecycle

Every Travel Rule transaction carries an upstream transaction status, and every Travel Rule request carries a Shufti verification result. This page explains how a transaction moves between statuses in each direction, who moves it, and when the Shufti verification finalises.

Transaction Statuses​

StatusMeaningTerminal?
PENDINGCreated and waiting for further processing. The initial status of an INCOMING transaction.No
DELIVEREDTravel Rule message delivered to the counterparty VASP. The initial status of an OUTGOING transaction.No
CONFIRMEDThe beneficiary VASP reviewed and approved the transaction.Yes
DECLINEDThe beneficiary VASP reviewed and rejected the transaction. status_reasoning explains why.Yes
FAILEDThe transaction could not be processed because of a system or API error.Yes
CANCELLEDThe transaction was cancelled.Yes

Creating a transaction is synchronous; counterparty updates arrive asynchronously. Once the Shufti verification result is final, later status changes do not change it.

OUTGOING Transactions​

You are the originator VASP. Travel Rule uses the post-transaction model for outgoing transfers: the Travel Rule message is sent alongside the blockchain transfer, and the beneficiary VASP's response is not required before funds are released.

   Create OUTGOING
│
▼
DELIVERED ──────► counterparty review (asynchronous)
│
┌─────────────┼─────────────┐
▼ ▼ ▼
CONFIRMED DECLINED CANCELLED
  • OUTGOING transactions are created with status DELIVERED. This means the message was submitted, not that the beneficiary VASP confirmed it.
  • Any later response from the beneficiary VASP is applied asynchronously.
  • Through Update Transaction you can only set DELIVERED or CANCELLED on an OUTGOING transaction; CONFIRMED and DECLINED come from the beneficiary VASP. You can also add data to it, such as the transaction_hash.

INCOMING Transactions​

You are the beneficiary VASP. INCOMING transactions are created with status PENDING; you review them and record your decision.

   INCOMING transaction
│
▼
PENDING
│ your review
┌─────┼──────────┐
▼ ▼ ▼
DELIVERED CONFIRMED DECLINED
  • Review the originator and beneficiary data, then call Update Transaction with DELIVERED, CONFIRMED or DECLINED.
  • DECLINED requires a non-empty status_reasoning. See Declined Reasons.
  • Update Transaction applies to transactions created through your account with Create Transaction. A transaction that is not linked to your account returns 404.

Verification Result​

The Shufti verification for a Travel Rule request stays pending until the transaction reaches a terminal status. The result is then sent to your callback_url.

Transaction statusVerification resultFinal callback
PENDINGpending—
DELIVERED (OUTGOING)acceptedverification.accepted
DELIVERED (INCOMING)pending—
CONFIRMEDacceptedverification.accepted
DECLINEDdeclinedverification.declined
CANCELLEDdeclinedverification.declined
FAILEDdeclinedverification.declined
info

An OUTGOING transaction is accepted as soon as it is DELIVERED. If the beneficiary VASP later declines or cancels it, the result stays accepted; the change is recorded on the transaction and, if status callbacks are enabled for your account, reported to you. Use the Read or Transaction Detail endpoints to check the current status at any time.

Wallet Verification Statuses​

StatusMeaningVerification result
pendingWallet ownership check in progress.pending
verifiedWallet ownership confirmed.accepted
failedWallet ownership could not be confirmed.declined