XLS-20: XRPL's NFT Standard and Its Role in RWA Tokenization
XLS-20 brought native non-fungible tokens to the XRP Ledger in 2022. With protocol-level royalties, transfer fee enforcement, and on-ledger offers, it's a more complete NFT infrastructure than most chains can offer — and its RWA implications are significant.
This article is for informational purposes only and does not constitute financial, legal, or investment advice.
NFTs vs. Fungible Tokens: The Fundamental Distinction
Before XLS-20, XRPL already supported issued currencies — fungible tokens representing anything from stablecoins to equity interests. Fungible tokens are interchangeable: one unit of a given token is identical in value and rights to any other unit. Ten shares of a tokenized fund held by Investor A are the same as ten shares held by Investor B.
Non-fungible tokens are different. Each token is a unique object with its own identity, metadata, and potentially distinct rights. A deed to a specific parcel of land cannot be interchanged with a deed to a different parcel. A license to a specific software instance cannot be freely substituted for another. NFTs are the right data structure for representing uniqueness.
XLS-20, which activated on the XRPL mainnet in October 2022, adds native NFT functionality. The standard defines new transaction types: NFTokenMint, NFTokenBurn, NFTokenCreateOffer, NFTokenAcceptOffer, and NFTokenCancelOffer. These are protocol-level operations, not smart contract calls.
How XLS-20 NFTs Are Structured
Each XRPL NFT is identified by a 256-bit token ID. The token ID encodes several fields:
- Flags — Whether the token is burnable, transferable, and whether it uses a trust line or not
- Transfer fee — A percentage (0–50%) taken by the issuer on every secondary sale
- Issuer address — The account that minted the token
- NFToken Taxon — An issuer-defined classifier for grouping tokens in a collection
- Sequence number — Ensures each token ID is unique
The metadata for an XRPL NFT is stored off-chain by convention — a URI field in the token points to the metadata location (IPFS, Arweave, or a traditional server). The URI is immutable after minting, which provides auditability of the metadata pointer even if the underlying storage is mutable.
Transfer Fees: Protocol-Enforced Royalties
One of XLS-20's most consequential features is the transfer fee — a royalty percentage that the issuer specifies at mint time and that is automatically enforced by the ledger on every secondary sale.
On Ethereum, NFT royalties are implemented at the smart contract level using standards like EIP-2981. However, marketplace enforcement is optional — a secondary market can simply ignore the royalty flag. This has been a persistent issue in the Ethereum NFT ecosystem, where many marketplaces chose not to enforce creator royalties during competitive periods.
XRPL's transfer fee is different. It is enforced at the protocol layer by the ledger itself. When an NFToken offer is accepted, the transfer fee is automatically deducted from the sale proceeds and credited to the issuer's account. There is no mechanism for a marketplace to circumvent this — it is mathematically enforced by the consensus process.
"Protocol-level royalty enforcement changes the economics of NFT issuance. An issuer building a long-duration asset — like a property title or a license that will change hands many times — can derive ongoing revenue from every transfer, guaranteed, without relying on marketplace cooperation."
The Non-Transferable Flag: Soulbound Tokens
XLS-20 supports a tfTransferable flag. When an NFT is minted without this flag, it is non-transferable — it can only be burned by its holder or transferred back to the issuer. This creates what the broader blockchain community calls a "soulbound token" — an NFT that is permanently bound to one account.
The RWA applications of non-transferable NFTs include:
- Accredited investor credentials — issue a non-transferable NFT once KYC/AML verification is complete
- Certification records — professional licenses, educational credentials, compliance attestations
- Access rights — membership in a specific fund or investment vehicle tied to a specific account
Non-transferable NFTs are a primitive that Ethereum added later and somewhat awkwardly; XRPL baked the flag directly into the token standard.
XLS-20 in Real-World Asset Tokenization
The original NFT market was dominated by digital art and collectibles. But the underlying technology — unique, on-chain, immutable records of ownership with programmable transfer rules — is arguably more valuable for real-world assets.
Property Deeds and Title Records
A tokenized real estate transaction can be structured in two layers. The first layer is a fungible token representing fractional economic interest — multiple investors hold shares. The second layer is a non-fungible token representing the deed itself — the unique legal record of what property is being tokenized and what legal entity holds title. XLS-20 can serve as the deed layer.
The deed NFT holds a URI pointing to the legal documentation package: the deed, the property survey, the title insurance policy, and the operating agreement of the SPE that holds title. This documentation is committed to at mint time and is traceable on the ledger forever.
Certificates and Compliance Records
Token issuers operating under securities exemptions often need to track which investors have completed required certifications. A non-transferable XLS-20 NFT — minted by the issuer's compliance account and held in each verified investor's XRPL account — creates an on-chain compliance record that can be checked programmatically before allowing a token transfer.
Unique Asset Identification
Physical assets being tokenized — machinery, vehicles, art, commodities — each have a unique identity. An XLS-20 NFT can serve as the digital twin of a physical asset, carrying the asset's serial number, condition records, inspection history, and provenance in its metadata URI. Every time the asset changes hands, the NFT transfer creates an immutable record.
NFToken Offers: On-Ledger Marketplace
XLS-20 includes an on-ledger offer system. A holder can create a sell offer for their NFT at a specified price and currency. A buyer can create a buy offer at their preferred price. When both offers exist, either party (or an authorized broker) can accept the trade, which executes atomically on the ledger.
This means XRPL NFTs have a native secondary market mechanism that doesn't require a third-party marketplace to custody the tokens. Traditional NFT marketplaces require the seller to deposit their NFT into the marketplace contract — which is a custody risk. XRPL's offer model keeps the NFT in the holder's account until the moment of trade.
| Feature | Ethereum ERC-721 | XRPL XLS-20 |
|---|---|---|
| Royalty enforcement | Optional (marketplace-dependent) | Protocol-enforced |
| Soulbound support | EIP-5192 (added later) | Native flag at mint |
| On-ledger marketplace | No (requires contract) | Yes (NFTokenOffers) |
| Custody during listing | Transferred to marketplace | Remains with holder |
| Transaction cost | Variable gas | ~$0.0002 |
The Burnable Flag and Asset Lifecycle Management
XLS-20 also supports a tfBurnable flag. When set at mint time, the issuer retains the right to burn the NFT even if it has been transferred to another account. For RWA issuers, this is useful for managing asset lifecycle events:
- When a tokenized bond matures, the issuer can burn the bond NFT after final settlement
- When a property is sold and the legal entity wound down, the deed NFT can be burned
- When an investor's compliance certificate expires, the issuer can revoke it by burning
This level of issuer control over the token lifecycle is not possible with Ethereum's standard ERC-721 without adding custodial logic to the contract.
Practical Limitations
XLS-20 is a well-designed standard, but issuers should understand its current limitations:
- Off-chain metadata — The actual asset documentation lives off-chain. If the URI target becomes unavailable, the on-chain record loses its reference. IPFS with pinning or Arweave are more durable choices than centralized servers
- No native fractional NFTs — An XLS-20 NFT is one token, not divisible. Fractionalization requires a separate fungible token layer representing economic shares
- Ledger reserve — Each NFT occupies storage on the ledger and requires XRP reserves from the holder's account
Despite these limitations, XLS-20 represents one of the most complete NFT standards in production today — particularly for issuers who need guaranteed royalty enforcement and protocol-level transfer controls. For the serious business of tokenizing real-world assets, these properties matter considerably more than the features driving speculative NFT markets.
Issue Tokens on XRPL
OnrampDLT provides non-custodial token issuance infrastructure on the XRP Ledger.
Explore OnrampDLT →