NFTs on XRPLFeatured

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*

Was this helpful?

Related Questions

Have more questions?

Browse our complete FAQ or contact support.