Skip to content
In this section
  • Send assets – Send payments in the console or transfers through the API, estimate fees, and transfer across EVM chains
  • Receive assets – Find a wallet's address and understand how deposits appear
  • View and track transactions – Follow transactions in the console or through the API
  • XRP Ledger transactions – Trust lines, DEX offers, AMM operations, and other XRP Ledger transaction types
  • Raw signing – Sign custom transaction payloads
  • External IDs – Ensure idempotent requests for vaults, wallets, and transactions

A transaction of digital assets refers to the transfer of ownership of digital assets from one party to another. Assets may be transferred between decentralized applications (dApps), individuals or organizations.

After transactions are made, they are verified and recorded as entries on a blockchain network, which is essentially a digital public ledger with no central authority (such as a bank). These entries can be viewed by anyone and cannot be altered.

Digital asset transactions are secured through cryptography. See our Wallets guide for more information on cryptographic keys and how they are used to authenticate transactions.

Transaction status flow

When you create a transaction in Ripple Custody (Wallet), it flows through several stages from initial request to final confirmation on the blockchain. Understanding these stages helps you track transaction progress, handle delays, and troubleshoot issues.

Every transaction follows a predictable path through these stages:

REQUESTED → POLICY CHECK → COMPILATION → SIGNATURE → PUBLISHING → CONFIRMATION → CONFIRMED

The complete stage breakdown

StageDescriptionWhat Happens
REQUESTEDTransaction createdYour transaction request is received and queued for processing
POLICY_CHECK_PENDINGPolicy validation in progressRipple Custody (Wallet) verifies the transaction against your configured policies (wallet limits, daily limits, etc.). The transaction also waits here while it collects any required approvals, so this stage can last for the full approval window.
POLICY_CHECK_PASSEDPolicy validation passedTransaction cleared policy checks and all required approvals, and is eligible to proceed.
COMPILATION_PENDINGPreparing for blockchainTransaction is being prepared and encoded for the target blockchain
COMPILEDBlockchain-readyTransaction is now in blockchain format and ready for signing
SIGNATURE_PENDINGWaiting for signatureTransaction is waiting to be cryptographically signed by your wallet
SIGNEDSignature completeTransaction has been signed and is ready to submit to the blockchain
PUBLISH_PENDINGSubmitting to blockchainTransaction is being submitted to the blockchain network
PUBLISHEDOn the blockchainTransaction has been received by the blockchain network
CONFIRMATION_PENDINGWaiting for finalityBlockchain is processing the transaction; awaiting the network-specific finality requirement
CONFIRMEDTransaction completeTransaction is finalized on the blockchain (terminal state)

Important notes

Linear Progression: Transactions always move forward through these stages—they never go backward. Once a stage is passed, the transaction continues forward.

Approvals Are Optional: A transaction collects any required approvals during POLICY_CHECK_PENDING. If no approval is required, it moves on as soon as it passes the policy checks.

Asynchronous Processing: Status updates happen automatically as Ripple Custody (Wallet) and the blockchain process your transaction. You don't need to take action between stages.

Failure States: At any stage, a transaction may be rejected or fail:

  • REJECTED: The transaction was denied (e.g., policy rejection, approval denial)
  • FAILED: A technical error occurred during processing

Where policies, approvals, and freeze apply

  • Policies apply to outgoing transactions during the policy check stage (POLICY_CHECK_PENDING). A transaction that fails the policy check ends in REJECTED. Asset sweeping bypasses policies, and inbound Travel Rule policy rules can freeze deposits. See Policies.
  • Approvals happen inside the policy check stage (POLICY_CHECK_PENDING). A denied approval ends the transaction in REJECTED. See Approvals.
  • Freeze applies to incoming transactions. A frozen deposit's funds stay in the wallet but move to the frozen balance until you unfreeze it. See Configure transaction freeze controls.

Monitoring transaction status

You can check transaction status through:

  1. Console: View status in the Transactions tab of your wallet, or in Transactions in the main menu. The console shows a simplified status badge (Requested, Pending, Signed, Published, Confirming, Success, Failed, or Violation), and the transaction page shows the full stage timeline. See View transactions in the console
  2. API: Use the transactions API to programmatically fetch current status. See Track transactions via the API
  3. Webhooks: Get real-time notifications when transactions change status (see Webhooks)