Two methods for initiating transactions: transfer orders (simple, ledger-agnostic) and transaction orders (advanced, ledger-specific).
- Transfer orders: Specify what you want to send. The platform handles blockchain details.
- Transaction orders: Full control over ledger-specific parameters (gas, data payload, staking).
- Both methods are available via Web UI and API.
- Transfer orders are converted to transaction orders internally. Use transaction order ID for tracking.
Choosing the right initiation method affects integration complexity and operational flexibility. Transfer orders provide a unified API across all blockchains—ideal for standard payments and withdrawals. Transaction orders unlock advanced capabilities (smart contracts, staking, custom parameters) but require ledger-specific knowledge. Most integrations start with transfer orders and add transaction orders for specific use cases.
For architects and operators: Standardize on transfer orders for common flows to simplify integration and training. Reserve transaction orders for operations that genuinely require ledger-specific parameters. Document which use cases require which method.
Before reading this page, you should understand:
- Transactions - The overall transaction lifecycle and flow
- Accounts - How accounts and addresses work in Ripple Custody
You can initiate transactions in Ripple Custody through two interfaces:
| Interface | Best for | Details |
|---|---|---|
| Web UI | Interactive use, approvals, monitoring | Navigate to an account and select Send |
| API | Automation, integration, programmatic access | Submit intents via POST /v1/intents |
Both interfaces support both transfer orders and transaction orders. For step-by-step instructions, see Send assets (UI) or Send assets (API).
| Concept | Description | Why it matters |
|---|---|---|
| Transfer order | A simplified, ledger-agnostic request to send assets. You specify what you want to send (amount, destination, asset), and Ripple Custody handles the blockchain-specific details. | Use this for most transfers—it works the same way across all blockchains |
| Transaction order | A detailed, ledger-specific request with full parameter control. You specify how the blockchain transaction should be constructed (gas limits, data payloads, custom parameters). | Use this when you need features not available in transfer orders (smart contracts, staking, custom parameters) |
| Transaction | Ripple Custody's internal record of the blockchain transaction | Tracks status, hash, confirmations, and links to the on-chain record |
| Transfer | Individual financial movements within a transaction | Separates the amount sent from fees paid for clear accounting |
When you submit a transfer order, Ripple Custody automatically creates a transaction order with the appropriate ledger-specific parameters. This means:
- Transfer orders are simpler: You specify what you want to send, and Ripple Custody handles the technical details
- Transaction orders give you control: You specify exactly how the blockchain transaction should be constructed
Transfer orders are not stored separately — Ripple Custody converts them to transaction orders immediately. Use the transaction order ID returned from your API call to track the transaction status.
Ripple Custody creates transaction and transfer objects in two scenarios:
- Outgoing transactions: When you submit a transfer order or transaction order
- Incoming transactions: When the system detects assets arriving at one of your addresses
Both transfer orders and transaction orders ultimately result in blockchain transactions, but they serve different purposes and offer different levels of control.
Use a transfer order when you need to:
- Send native currency (ETH, BTC, XRP, etc.) to an external address
- Send tokens to an external address
- Perform simple asset transfers without special parameters
Transfer orders provide:
- A ledger-agnostic API - the same request format works across all supported blockchains
- Automatic transaction construction - Ripple Custody handles all ledger-specific details
- Built-in fee handling - priority-based fee strategy is applied automatically
- Simpler integration - fewer parameters to specify
Use a transaction order when you need to:
- Execute smart contract functions
- Perform staking operations (delegate, undelegate, claim rewards)
- Submit ledger-specific operations not supported by transfer orders
- Specify custom transaction parameters (gas limit, data payload, etc.)
Transaction orders provide:
- Full control over transaction parameters
- Access to ledger-specific features not abstracted by transfer orders
- Custom fee strategies including specified rate and EIP 1559
- Raw transaction data for advanced use cases
| Scenario | Recommended Method |
|---|---|
| Send ETH to a user | Transfer order |
| Send ERC-20 tokens | Transfer order |
| Call a smart contract function | Transaction order |
| Stake SOL to a validator | Transaction order |
| Send BTC to an exchange | Transfer order |
| Deploy a smart contract | Transaction order |
| Claim staking rewards | Transaction order |
| Internal transfer between accounts | Transfer order (or virtual ledger for off-chain tracking) |
A *virtual ledger**_ is an internal accounting system within Ripple Custody that tracks asset movements between accounts without creating blockchain transactions. Use virtual ledgers for:
- Internal transfers between your own accounts (no blockchain fees)
- Off-chain record keeping and reconciliation
- Tracking assets that haven't yet been settled on-chain
Virtual ledger transfers are instant and free, but they don't move assets on the blockchain — they only update internal balances.
Start with transfer orders for simple asset transfers. They are easier to implement, more portable across blockchains, and sufficient for most use cases. Use transaction orders only when you need capabilities that transfer orders don't provide.
Understanding the objects Ripple Custody creates helps you track transactions and troubleshoot issues. The following diagrams show the relationship between the objects you create and the objects the system creates automatically.
When you submit a transfer order, Ripple Custody creates a transaction order, a transaction record, and one or more transfer records:

When you submit a transaction order directly, Ripple Custody creates a transaction record and transfer records:

When assets arrive at one of your addresses, Ripple Custody automatically creates transaction and transfer records to track the incoming funds:

After you submit a transaction, Ripple Custody begins processing it through the governance and signing workflow. The transaction progresses through several statuses as it moves from submission to blockchain confirmation.
To understand what happens after initiation, see Transaction processing.
- Transaction processing - Learn what happens after you initiate a transaction
- Send assets: UI | API - Step-by-step instructions
- Transactions reference - Detailed tables for fees, finality, and statuses