To mint an NFT means to create it. On the XRPL, you submit an NFTokenMint transaction from your account. The ledger creates a new NFToken record, assigns it a unique NFTokenID, and the account that minted it becomes the first owner.
The transaction itself is trivial: a few fields, ~12 drops of XRP fee, done in 4 seconds. The interesting part is what the NFT points at.
The URI field
When you mint, you can include a URI field. It's a hex-encoded string of up to 256 bytes (so ~128 characters of actual content). Almost always this is used to encode a link to off-chain metadata:
URI (decoded): ipfs://bafybeih3qzln7w...
The link points at a JSON file. The JSON describes the NFT:
{
"name": "Forest Spirit #042",
"description": "A spirit of the autumn forest.",
"image": "ipfs://bafybeic5xkn4...",
"attributes": [
{"trait_type": "Background", "value": "Birch"},
{"trait_type": "Eyes", "value": "Glowing"},
{"trait_type": "Rarity", "value": "Rare"}
]
}
The JSON's image field points at the actual JPEG / PNG / GIF / SVG — also on IPFS.
So holding the NFT means: I own an on-chain record that points at a JSON file that points at an image file. Two levels of off-chain dependency between your wallet and the picture.
The IPFS dependency
IPFS — the InterPlanetary File System — is the default off-chain storage for NFT metadata. It's a content-addressed network: you give a file its hash (the CID), upload it to any IPFS node, and any other IPFS node can fetch it by CID.
The catch: IPFS nodes only keep files they explicitly pin. If nobody pins a file, the network eventually forgets it. Files unpin when the original uploader stops paying their pinning service, when the service goes out of business, or when the file goes long enough without being requested.
Estimated 6–25% of NFT metadata minted between 2017 and 2022 has already gone fully unpinned. The on-chain record still exists; the picture doesn't.
How to mint without your metadata dying
Three rules for any meaningful mint:
1. Pin to multiple services
When the Gopnik wallet mints on your behalf, it pins the metadata + image to: - Pinata (commercial, $5/mo for 1GB pinning) - Web3.Storage (Filecoin-backed, currently free up to 5GB) - Gopnik's own IPFS node (we keep a long-term backup as long as the account is active)
Three pins across three providers means losing one doesn't kill the NFT. This is the default for everything minted through the wallet.
2. Pin redundantly off Gopnik
For your own collections (anything you mint for future value): pin separately yourself. NFT.Storage and Pinata both have generous free tiers. The cost is roughly $0–$5/month for hundreds of NFTs. The cost of not pinning is your collection going dark when our pin lapses.
3. Embed in the URI when possible
For very small metadata (just a name, a description, no image), you can encode the entire JSON in the 256-byte URI field. No IPFS needed. The metadata lives forever on chain alongside the NFT.
The Gopnik wallet offers this option for membership tokens, tickets, and other small-payload NFTs. Costs slightly more XRP at mint (because the URI is bigger) but completely eliminates the off-chain dependency.
What gets locked on mint
Two things become permanent the moment the mint is signed:
The
NFTokenTaxon— your collection id. You can mint into the same taxon forever (so all NFTs in a collection share the taxon), but you can't change which taxon an existing NFT belongs to.The
TransferFee(royalty percentage). Set at mint, baked into the NFT forever. You can mint a different NFT with a different fee, but you can't change an existing one's.The flags —
tfBurnable,tfOnlyXRP,tfTrustLine,tfTransferable,tfMutable. Set at mint. Forever.
Choose them before signing. The Gopnik wallet shows a confirmation screen with every flag explicitly listed — read it.
What CAN change
The
URI— only if you settfMutable = 1at mint. Mutable NFTs can have their URI updated later viaNFTokenModify. Useful for dynamic NFTs whose metadata evolves. Trade-off: a malicious issuer of a mutable NFT can swap the image for something else after sale. Most collectors avoid mutable NFTs.The owner — every legitimate sale transfers ownership via
NFTokenCreateOffer+NFTokenAcceptOffer.
A worked mint
Through the Gopnik wallet:
- Click "Mint NFT".
- Upload your image — wallet auto-uploads to IPFS, pins three places, returns CID.
- Fill the metadata form — name, description, traits.
- Set the taxon (default: auto, unique to your account; for collections: pick a number you'll reuse).
- Set transfer fee (default 0%; for art with royalty: 5–10%).
- Set flags. Default:
tfBurnable = 1,tfTransferable = 1,tfMutable = 0. - Review the confirmation screen — verify the URI, the taxon, the flags.
- Sign.
Total time: 2–5 minutes including the IPFS upload. Cost: 12 drops of XRP + the account's NFToken page reserve (one-time, if you don't already have space).
You now own a record on the XRP Ledger.
Next: pricing, floors, and why "rarity" is a slippery word.