
NFTs without contracts
4 minDifficulty Checked 2026-11-10- An NFT is a ledger record, not a contract. Its rules are the same for every collection.
- The NFT ID encodes flags, transfer fee, issuer, taxon and a sequence number.
- One NFT page holds up to 32 NFTs. The 0.2 XRP reserve is per page.
On many chains, an NFT collection is a program someone wrote and deployed. Each collection can behave a little differently.
On the XRP Ledger, NFTs are a built-in feature. Nobody deploys anything. An NFT is a small record on the ledger, and the same rules apply to every one.
Think of a binder of trading-card sleeves. Each page of the binder holds up to 32 cards. Your account owns the pages, and the cards sit inside them. That is how the ledger stores NFTs: in NFT pages.
Every NFT has an ID that never changes. The ID is like a label printed on the card at the factory. It says who issued the card, which series it belongs to, and which settings it was made with.
The series number is called the taxon. An issuer picks any number and gives it to every NFT in one collection. So a collection is found by two things together: the issuer's address and the taxon.
The NFT also carries a URI. This is a short pointer to the artwork or data, such as a web link or an IPFS link. The picture itself is usually stored somewhere else.
You can mint, hold, buy, sell and burn NFTs. Burning destroys the NFT for good.
Native NFTs arrived with the NonFungibleTokensV1_1 amendment, enabled on 2022-10-31. The specification is XLS-20.
An NFT is an NFToken object. It is not a ledger entry of its own. It sits inside an NFTokenPage entry owned by the current holder. A page holds up to 32 NFToken objects, sorted by ID.
The NFTokenID is 256 bits, made of five parts:
| Part | Size | Holds |
|---|---|---|
| Flags | 16 bits | Settings fixed at mint |
| Transfer fee | 16 bits | Issuer's fee on secondary sales |
| Issuer | 160 bits | The issuing account |
| Taxon | 32 bits | The issuer's series number, stored scrambled |
| Sequence | 32 bits | A counter that rises with each mint |
The sequence comes from the issuer's MintedNFTokens field, so no two NFTs share an ID. APIs such as account_nfts return the unscrambled taxon as NFTokenTaxon.
URI. Up to 256 bytes, hex encoded. The ledger does not check it. It may be an HTTPS URL, an IPFS URI, a data: URL or an issuer's own format. For a standard NFT the URI cannot change after mint.
Reserve. Each NFTokenPage counts as one item toward the owner reserve: 0.2 XRP. Pages are not always full. xrpl.org's rule of thumb is about 24 NFTs per page after many mints or trades, with 16 to 32 possible. Burning or trading away enough NFTs to remove a page frees its reserve.
Reading NFTs.
account_nftslists what an account holds:NFTokenID,Issuer,NFTokenTaxon,Flags,URI,nft_serial.nft_infoon a Clio server returns one NFT'sowner,issuer,flags,transfer_fee,nft_taxonandis_burned.nft_historyon a Clio server returns the successful transactions for one NFT.
Related: Minting and offers, Owner reserve.
- Non-Fungible TokensRead 2026-11-10
- NFTokenRead 2026-11-10
- NFTokenPageRead 2026-11-10
- NFT Reserve RequirementsRead 2026-11-10
- Minting NFTs into CollectionsRead 2026-11-10
- Non-Fungible Tokens Are Now AvailableRead 2026-11-10
