Beginner Guide10 Steps · ~15 min read

How to Mint an NFT on XRPL

A complete step-by-step tutorial for creating a non-fungible token on the XRP Ledger. This guide covers everything from preparing your digital asset to submitting an NFTokenMint transaction and verifying ownership.

Published August 2026
XRP Ledger · XLS-20
Independent Educational Resource
01

Create or Choose the Digital Asset

The first step is preparing the content you want your NFT to represent. This could be a digital artwork, photograph, music file, video clip, written work, or any other digital file.

The file itself is not stored on the XRP Ledger — the ledger stores a record that references the asset. Your file will be hosted separately, typically on IPFS or another storage system.

Consider file format, resolution, and quality carefully at this stage. Once an NFT is minted and associated with specific metadata, changing the underlying content is not straightforward.

Note: Creating the digital asset is separate from minting the NFT. The NFT is a ledger record that references the asset — not the asset itself.

02

Prepare NFT Metadata

NFT metadata is a JSON file containing structured information about your NFT. Most XRPL NFT ecosystems expect metadata following an established format that includes fields such as name, description, image URI, and attributes.

Your metadata file should be hosted on a persistent, content-addressed storage system. IPFS is widely used because content is referenced by its cryptographic hash — if the content changes, the hash changes, making tampering detectable.

The URI you include in your NFTokenMint transaction should point to this metadata file. Test that the URI resolves correctly before minting.

JSON · Metadata Example
{
  "name": "Example NFT #1",
  "description": "An example XRPL NFT with metadata.",
  "image": "ipfs://QmExampleHash/image.png",
  "attributes": [
    { "trait_type": "Edition", "value": "1 of 100" },
    { "trait_type": "Creator", "value": "Example Creator" }
  ]
}

Note: This is an illustrative example. Verify the metadata format expected by your target marketplace or application.

03

Prepare an XRPL Account

You need an XRP Ledger account (wallet) to issue the NFT. This account address becomes the permanent issuer of record on the ledger.

You can create an XRPL account using a compatible wallet application. The account generates a public/private key pair — the public key becomes your address, and the private key (or seed phrase) is used to sign transactions.

Store your seed phrase securely and offline. Never share it with any website, platform, or person.

Note: Use the XRPL Testnet to practice minting before using a mainnet account with real XRP.

04

Fund the Account Appropriately

XRPL accounts must maintain a minimum XRP balance to remain active — this is called the base reserve. Additional reserve is required for each ledger object the account holds, including NFTs.

You also need XRP to pay the network transaction fee for the NFTokenMint transaction itself. Transaction fees on the XRP Ledger are typically very small.

Verify current reserve and fee requirements against official XRPL documentation, as these values can change through network amendments.

05

Configure the NFT

Before minting, decide on the key parameters for your NFT. These settings are permanent — they cannot be changed after the NFT is minted.

NFTokenTaxon: Choose an integer to group your NFTs into collections. All NFTs in a series can share the same taxon.

Flags: Decide whether the NFT should be transferable (tfTransferable), burnable (tfBurnable), or restricted to XRP-only offers (tfOnlyXRP).

TransferFee: If you want creator royalties on secondary sales, set a TransferFee value. This is encoded as thousandths of a percent.

URI: Provide the URI pointing to your metadata JSON file.

06

Submit an NFTokenMint Transaction

Construct an NFTokenMint transaction with your chosen parameters. The transaction must be signed with your account's private key before submission.

You can submit transactions using XRPL client libraries (such as xrpl.js for JavaScript/TypeScript), an XRPL-compatible wallet interface, or direct API calls to an XRPL server.

Always review the transaction details carefully before signing and submitting.

Note: Use verified, official XRPL client libraries. Avoid untrusted tools that request your private key or seed phrase.

07

Wait for Ledger Validation

After submitting your transaction, it enters the queue for the next ledger close. The XRP Ledger closes a new ledger version approximately every 3–5 seconds.

Your transaction is included in a ledger close and validated by the network of servers. Once validated, the result is final and immutable.

Check the transaction result code to confirm the transaction succeeded (tesSUCCESS). Any other result code indicates the transaction was not applied.

08

Identify the Minted NFT

After successful validation, the ledger assigns your NFT a unique NFTokenID. This identifier is derived from the issuer address, flags, transfer fee, taxon, and a sequence number.

Record the NFTokenID — it is the permanent, unique identifier for your NFT across the entire XRP Ledger.

You can find the NFTokenID by examining the transaction metadata or querying the account's NFT holdings using the account_nfts API method.

09

Verify Metadata and Ownership

After minting, verify that the NFT record on the ledger correctly reflects your intended parameters: the URI, flags, transfer fee, and issuer address.

Confirm that the issuing account holds the NFT by querying account_nfts.

Verify that your metadata URI resolves correctly and that the content matches what you intended. Check that images and media files are accessible.

10

Hold, Transfer, Offer or Integrate the NFT

Your minted NFT is now live on the XRP Ledger. Depending on your goals, you can hold it in your wallet, create a sell offer using NFTokenCreateOffer, transfer it to another account, list it on an XRPL NFT marketplace, or integrate it into an application.

If you configured a TransferFee, that percentage will be applied to qualifying secondary transfers.

XRPL NFT marketplaces and explorers can index and display your NFT based on the NFTokenID and metadata URI.

Security reminder: Never share your XRPL wallet seed phrase or private key with any website, tool, or person. Use the XRPL Testnet to practice before minting on mainnet with real XRP.

Deep Dive

Understanding NFT Metadata on XRPL

Metadata is what gives an XRPL NFT its meaning. Without a properly structured and persistently hosted metadata file, your NFT will lack the descriptive information that wallets, marketplaces, and applications use to display it correctly.

IPFS Storage

Content-addressed storage where files are referenced by cryptographic hash. Changes to content produce a different hash, making tampering detectable. Widely supported by XRPL tooling.

Recommended for persistence

Traditional Web Hosting

Standard HTTP URLs can be used as URIs. However, the content at that URL can change or disappear, potentially breaking the NFT's connection to its metadata.

Lower persistence guarantee

Dedicated Pinning Services

Services that ensure IPFS content remains accessible by pinning it to multiple nodes. Provides stronger persistence than self-hosted IPFS.

Best for long-term NFTs

Technical note: The XRP Ledger protocol does not mandate a specific metadata format or storage system. The metadata format expectations are set by the marketplaces and applications that read your NFT. Always verify the expected format for your target ecosystem before minting.

Next Steps

Now that you understand the minting process, explore these related guides to deepen your knowledge.

Official documentation: For the most current and authoritative technical information on XRPL NFT minting, always refer to the official XRP Ledger documentation. XRPL Mint is an independent educational resource and is not affiliated with Ripple.