What is XLS-20 NFT standard?
Last updated:
XLS-20 is the native NFT standard for the XRP Ledger, activated via amendment in October 2022, bringing protocol-level support for non-fungible tokens without requiring smart contracts.
What Makes XLS-20 Unique:
Protocol-Level Implementation: Unlike ERC-721 (Ethereum) which requires deploying and executing smart contract code, XLS-20 is built directly into the XRPL consensus protocol. This means NFT operations are processed like native XRP transactions—fast, cheap, and guaranteed.
Core Components:
1. New Transaction Types: - `NFTokenMint`: Create new NFTs - `NFTokenBurn`: Destroy NFTs permanently - `NFTokenCreateOffer`: Make buy/sell offers - `NFTokenAcceptOffer`: Accept existing offers - `NFTokenCancelOffer`: Cancel pending offers
2. New Ledger Objects: - `NFTokenPage`: Container holding up to 32 NFTokens per account - `NFTokenOffer`: Represents a buy or sell offer
3. NFToken Structure: ```javascript { NFTokenID: "000B0..." (256-bit unique ID), Issuer: "rN7n7..." (Creator account), NFTokenTaxon: 0 (Collection identifier), URI: "ipfs://..." (Metadata location), TransferFee: 1000 (10% royalty), Flags: 8 (Transferable) } ```
Technical Specifications:
NFTokenID Format: 256-bit identifier containing: - Flags (16 bits) - Transfer fee (16 bits) - Issuer account ID (160 bits) - Taxon (32 bits) - Sequence (32 bits)
This encoding ensures globally unique IDs and embeds key properties directly in the identifier.
Flags System:
Burnable (0x0001): NFT can be destroyed by owner OnlyXRP (0x0002): Can only be traded for XRP (not IOUs) Trustline (0x0004): Requires trustline between parties Transferable (0x0008): Can be transferred after minting ReserveForIssuer (0x0010): Counts toward issuer's reserve, not holder's
These flags provide flexible control over NFT behavior without complex smart contract logic.
Transfer Fee Mechanism:
XLS-20 includes protocol-enforced royalties: - Range: 0% to 50% (0 to 50,000 basis points) - Automatically deducted on every transfer - Paid to original issuer - Cannot be bypassed (unlike ERC-721 royalties)
Example: 10% royalty (1,000 basis points) on 1,000 XRP sale = 100 XRP to creator, 900 XRP to seller.
Taxon (Collection Identifier):
The `NFTokenTaxon` field groups related NFTs: - Arbitrary 32-bit integer chosen by issuer - All NFTs with same issuer + taxon = collection - Enables collection-level queries and marketplace filtering - No on-chain enforcement of taxon meaning
Offer-Based Trading:
XLS-20 uses a bilateral offer system:
Sell Offer: NFT owner lists for sale Buy Offer: Buyer makes offer for specific NFT Brokered Mode: Third party can facilitate trades
Advantages: - No escrow contracts needed - Offers can expire (via LastLedgerSequence) - Destination field restricts who can accept - Atomic settlement (no reentrancy attacks)
Reserve Requirements:
Owner Reserve: 2 XRP per NFTokenPage (up to 32 NFTs) Offer Reserve: 2 XRP per pending offer
Reserves are refunded when pages/offers are removed, preventing spam while keeping costs minimal.
Metadata and URIs:
The `URI` field (up to 256 bytes) typically points to: - IPFS hashes (decentralized, immutable) - Arweave permalinks (permanent storage) - HTTP URLs (centralized, mutable)
Metadata format follows standards like: - XLS-20d (XRPL metadata schema) - Compatible with ERC-721 JSON format
Comparison to Other Standards:
ERC-721 (Ethereum): - Pros: More programmable, established ecosystem - Cons: High gas fees, no native royalty enforcement, slower
ERC-1155 (Ethereum): - Pros: Semi-fungible support, batch operations - Cons: Same gas issues, more complex
SPL Tokens (Solana): - Pros: Fast, cheap, similar native approach - Cons: Less mature NFT ecosystem, network stability issues
XLS-20 Advantages: - Lowest transaction costs (~$0.0001) - Fastest finality (3-5 seconds) - Built-in royalty enforcement - No smart contract security risks - Energy efficient
Development Process:
XLS-20 underwent rigorous community review: - 2021 Q2: Initial proposal by XRPL Labs - 2021-2022: Multiple revisions based on feedback - 2022 Q3: Validator voting began - October 31, 2022: Amendment activated at ledger 75,883,739
Ecosystem Adoption:
Post-activation, XLS-20 enabled: - onXRP.com marketplace - Sologenic NFT platform - XRP Cafe community hub - xrp.cafe minting tools - Integration with major XRPL wallets
Limitations and Future:
Current Limitations: - No dynamic metadata updates (requires Hooks) - Limited on-chain logic (no conditional transfers) - Collection management needs external indexing - Fewer tools than Ethereum ecosystem
Future with Hooks: When XRPL Hooks activate, XLS-20 NFTs will support: - Programmable reveal mechanics - Gaming integrations - Complex royalty splits - Conditional ownership transfers - On-chain rarity calculations
Developer Resources:
Official Documentation: xrpl.org/nft XLS-20 Specification: github.com/XRPLF/XRPL-Standards/discussions/46 Code Examples: github.com/XRPLF/xrpl.js (JavaScript) Testing: Use XRPL Testnet for free testing
Real-World Impact:
Since activation: - 5+ million NFTs minted - Total mint costs: ~$500 (vs $10M+ on Ethereum for same volume) - Zero failed transactions due to gas limits - 100% royalty enforcement compliance
The Verdict:
XLS-20 represents a pragmatic approach to NFTs—sacrificing some of Ethereum's programmability for dramatic improvements in cost, speed, and simplicity. For 90% of NFT use cases, this is the right tradeoff.
*Last updated: February 2026*