What Is an XRPL Trust Line? Token Distribution Explained
If you've tried to send someone a token on the XRP Ledger and gotten an error, there's a good chance the problem was a missing trust line. Trust lines are the invisible infrastructure that makes token distribution on XRPL work — and misunderstanding them is the #1 reason XRPL token projects frustrate their early holders.
This guide explains what trust lines are, why XRPL requires them, and how to handle them in a way that doesn't kill your onboarding flow.
The Simple Explanation
On the XRP Ledger, you can't receive a token from someone unless you've explicitly told the network you're willing to hold it. That explicit permission is called a trust line.
Think of it like this: imagine your bank required you to fill out a form before they could deposit any currency other than US dollars into your account. Until you signed the "I agree to hold Euros" form, any Euro transfer to you would be rejected. That's essentially how XRPL trust lines work.
Why does this exist? Because XRP Ledger tokens are IOUs from the issuer. The ledger wants to make sure you consciously accept the obligation — and its associated counterparty risk — before funds can land in your account.
What Does a Trust Line Actually Contain?
A trust line has three main components:
- Counterparty (Issuer) — The wallet address of the entity that issued the token. Your trust line says "I trust tokens from THIS specific issuer."
- Currency Code — The 3-character ASCII code (like "USD" or "RLTY") or 40-char hex identifying the token.
- Limit — The maximum amount of this token you're willing to hold. This can be set to a very large number in practice (the ledger supports scientific notation).
Together these three form a unique trust line: "I trust up to X units of CURRENCY from ISSUER."
The Reserve Problem
Setting a trust line isn't free. XRPL requires an incremental reserve of 2 XRP for each trust line an account holds. This is a network anti-spam measure, but it creates real friction:
- New users have to buy XRP before they can receive your token
- They have to set the trust line from their wallet before you can send them anything
- Most wallet apps require manual steps to do this
For a seasoned crypto user, this is a minor inconvenience. For your average investor or customer who's never touched XRPL before, it's a confusing, frustrating barrier that causes drop-off.
How Trust Lines Work in Practice (Token Issuance Flow)
Here's the standard sequence when you issue a token and distribute it:
- You create an issuing wallet (cold storage)
- You create a distribution wallet (hot wallet)
- Your distribution wallet sets a trust line to your issuing wallet for your token
- Your issuing wallet sends the total token supply to your distribution wallet
- For each holder: they set a trust line to your issuing wallet
- Your distribution wallet sends tokens to each holder
Step 5 is where most projects lose people. You either have to send your holders step-by-step instructions, build a custom flow in your app, or use tooling that handles it automatically.
Technical note: Trust lines on XRPL are bidirectional — they have a limit in each direction. The sender's side limit defaults to 0, meaning the token can flow through but not be "owed" back. The receiver's side limit is what matters for holding tokens.
Pre-Authorized Trust Lines
XRPL supports a feature called Authorized Trust Lines (the asfRequireAuth flag on the issuer). When enabled, each trust line must be manually approved by the issuer — the holder sets the trust line, but the tokens won't flow until the issuer authorizes that specific address.
This is critical for regulated securities tokens where you need to verify KYC/AML before allowing someone to hold your token. It adds an extra step but gives issuers full control over who holds their token at any time.
Rippling and the NoRipple Flag
Here's a subtle but important concept: XRPL allows tokens to "ripple" through intermediaries. If Alice trusts Bob for USD, and Bob trusts Carol for USD, XRPL might route a payment from Alice to Carol through Bob — without either Alice or Carol realizing it.
For most token issuers, this is undesirable. Setting the NoRipple flag on your trust line prevents this behavior and ensures your tokens only flow in controlled, direct transactions. Always set NoRipple on your issuing wallet's trust lines.
Making Trust Lines Invisible to Your Users
The best user experience hides the trust line complexity entirely. Here's how well-built projects handle it:
- Deep link to wallet apps — Both XAMAN and GemWallet support deep links that pre-populate the trust line details. The user just taps "Approve."
- In-app SDK — If you're building a web app, GemWallet and Crossmark have browser extension SDKs that can trigger trust line requests programmatically.
- Sponsored reserves — Some issuers pre-fund wallets with enough XRP to cover the reserve. This removes the "you need to buy XRP first" barrier entirely.
OnRampDLT handles trust lines automatically.
When you issue a token with OnRampDLT, your distribution page includes a one-tap trust line flow for GemWallet, XAMAN, and Crossmark holders. No manual setup, no dropped onboarding.
Try It Free →Frequently Asked Questions
Can I send XRP without a trust line?
Yes. XRP itself is the native currency of the ledger and doesn't require a trust line. Trust lines are only needed for issued currencies (tokens).
What happens if someone sends me a token I haven't trusted?
The transaction is rejected by the network. The sender gets an error and the tokens don't move. This is why you can't "airdrop" tokens to arbitrary addresses on XRPL the way you can on Ethereum.
Can I hold multiple tokens from the same issuer?
Yes. You need one trust line per currency code per issuer. If an issuer has tokens "GOLD" and "SLVR," you'd need two separate trust lines.
Is there a limit to how many trust lines I can have?
Technically no, but each one requires 2 XRP in reserve. A wallet with 10 trust lines needs 20 XRP reserved (plus the base 10 XRP), totaling 30 XRP that can't be spent.