Skip to main content
The XRP Ledger (XRPL) is a decentralized public blockchain designed for fast, low-cost payments. This guide covers XRPL-specific features when using Dfns wallets.

Account activation

On the XRP Ledger, a wallet address must be activated before it can send transactions or hold assets. Activation requires funding the account with native XRP to meet the base reserve requirement.
RequirementAmount
Base reserve1 XRP
The base reserve is locked and cannot be spent. It ensures accounts on the ledger are not created frivolously.

Receiving issued currencies (creating trustlines)

Before an XRPL wallet can receive an issued currency (tokens like USDC, stablecoins, or any non-XRP asset), it must establish a trustline to that asset’s issuer. This is an XRP Ledger network requirement - without a trustline, the wallet cannot hold or receive the issued currency.
Learn more about trustlines in the XRPL documentation.
Use the Broadcast API with a TrustSet transaction to create a trustline. To remove a trustline, set the limit to 0 (the asset balance must be 0 first). See the XRP Ledger broadcast examples for complete implementation details, including the trustlines example.

Reserve requirements

XRPL accounts must maintain reserves to stay active and hold objects on the ledger:
RequirementAmount
Base reserve1 XRP
Per trustline0.2 XRP
Per offer0.2 XRP
Per signer0.2 XRP
For example, an account with 3 trustlines must maintain at least 1.6 XRP (1 base + 3 × 0.2 trustlines).
New accounts get their first 2 trustlines free - no additional reserve is required beyond the 1 XRP base reserve. This makes it easier to onboard users who only need to hold a few token types.
You can reclaim trustline reserves by removing trustlines for assets you no longer hold.

Destination tags

XRPL supports destination tags - numeric identifiers (0 to 4,294,967,295) that travel with transactions. These are commonly used by exchanges and custodians to identify which customer a deposit belongs to.
When sending to an address that requires a destination tag, always include it. Deposits without the correct tag may be lost or require manual recovery.

Transfers

Use the Transfer Asset endpoint for all XRP Ledger transfers:
  • Native XRP: Use kind: Native with amount in drops (1 XRP = 1,000,000 drops)
  • Issued currencies (IOUs): Use kind: Iou with the currency code and issuer address
  • XLS-33 tokens: Use kind: Xls33 with the issuanceId

SDK integration

For full transaction control, use the Dfns SDK with xrpl.js. See complete examples: