
Rippling and authorized lines
4 minDifficulty Checked 2026-11-10- Rippling moves a token from one holder to another through the issuer.
- Issuers turn on Default Ripple. Holders keep No Ripple on their lines.
- With Require Auth, a line can hold the token only after the issuer approves it.
Say you and a friend both hold FOO from the same issuer. You send your friend 20 FOO. The tokens do not jump straight from your line to theirs. Your balance with the issuer goes down by 20. Your friend's balance with the issuer goes up by 20. The issuer's total stays the same. This is rippling.
Rippling is what lets holders pay each other, so issuers need it on.
Ordinary holders usually want it off. If your lines allow rippling, other people's payments can pass through your account. Rippling can swap tokens that share a currency code, even from different issuers. Your USD from one issuer could turn into USD from another, on a payment you had nothing to do with.
Two switches control this:
- Default Ripple is an account setting. Issuers turn it on so their token can move between holders. It starts off for new accounts.
- No Ripple is a setting on each trust line. Because Default Ripple starts off, a new holder's lines get No Ripple automatically.
Some issuers also need to know who holds their token. A stablecoin issuer that checks identity first is one example. It turns on Require Auth. After that, a holder's line can carry the token only once the issuer approves it. This is called authorized trust lines.
An approval cannot be taken back. The issuer can still freeze the line.
Rippling applies to any payment of trust line tokens, except a direct exchange between an issuer and a holder.
Default Ripple
- Set with
AccountSetSetFlag: 8(asfDefaultRipple). Stored aslsfDefaultRipple. - It affects only lines that others open to your account. Existing lines keep their settings until changed with
TrustSet. AMMCreatefails withterNO_RIPPLEif a pool token's issuer has not enabled it.
No Ripple
TrustSetflags:tfSetNoRipple(0x00020000) andtfClearNoRipple(0x00040000).- It blocks rippling between two of your lines only when both have it on.
- You can turn it on only when your balance on that line is zero or positive.
- Before rippled 0.27.3 in March 2015, all trust lines allowed rippling by default.
account_linesshowsno_ripplefor your side andno_ripple_peerfor the other side.
Authorized trust lines
- The issuer sets
AccountSetSetFlag: 2(asfRequireAuth), stored aslsfRequireAuth. It can do this only while it has no trust lines and no offers. - To approve a holder, the issuer sends
TrustSetwith the holder asLimitAmount.issuer, avalueof0and thetfSetfAuthflag (0x00010000). - The holder's
TrustSetand the issuer's approval can come in either order. - Each currency code needs its own approval.
- Approval cannot be revoked. It resets only if the line is deleted.
account_linesshowspeer_authorized: trueonce the issuer has approved your line.
account_info reports both account settings in account_flags as defaultRipple and requireAuthorization.
- RipplingRead 2026-11-10
- Authorized Trust LinesRead 2026-11-10
- TrustSetRead 2026-11-10
- AccountSetRead 2026-11-10
- RippleStateRead 2026-11-10
- account_linesRead 2026-11-10
- AMMCreateRead 2026-11-10
- account_infoRead 2026-11-10
