How to Issue Your First Token on the XRP Ledger (No Code Required)
The XRP Ledger has built-in token issuance at the protocol level. That means you don't need a smart contract, you don't need a developer, and you don't need to know anything about blockchain programming to create and distribute your own token.
What you need is a clear understanding of how XRPL tokens work — and the right tools. This guide walks you through the entire process, from naming your currency to distributing tokens to your first holders.
What Exactly Is an XRPL Token?
Unlike Ethereum, where every token is a smart contract, XRPL tokens are native to the protocol itself. When you issue a token on XRPL, you're creating an IOU — a promise from an issuing wallet that the token represents something of value. That "something" can be:
- A fraction of a real-world asset (real estate, gold, revenue share)
- A utility token for your platform or community
- A stablecoin pegged to a fiat currency
- A loyalty or rewards token
- A governance token for a DAO
The XRPL doesn't care what your token represents — that's handled off-chain through legal agreements, smart contracts on other layers, or your own platform logic. The ledger just records who holds what, settles in ~3 seconds, and charges about $0.0002 per transaction.
Important: This guide covers fungible tokens (like currencies or equity shares) — tokens where each unit is identical. XRPL also supports NFTs (Non-Fungible Tokens) via the NFTokenMint standard, which works differently and isn't covered here.
Before You Start: What You'll Need
- Two XRPL wallets — one issuing wallet (cold) and one distribution wallet (hot). More on why below.
- XRP for reserves — XRPL requires a base reserve of 10 XRP per wallet, plus 2 XRP per trust line. Plan for ~25–30 XRP to get started.
- A currency code — 3-character ASCII (like "USD", "BTC", "REALTY") or a 40-character hex code for longer names.
- A wallet app — GemWallet (Chrome extension), XAMAN (mobile), or Crossmark work well for beginners.
The Two-Wallet Architecture (and Why It Matters)
One of the most misunderstood parts of XRPL token issuance is why you need two wallets. Here's the short version:
Your issuing wallet (also called the cold wallet) is the source of truth for your token. It signs the original issuance and sets the supply. Once it's set up, you should rarely touch it — keep it secure, ideally offline.
Your distribution wallet (hot wallet) is what interacts with the world. It holds tokens it received from the issuing wallet and sends them out to customers, investors, or holders. If this wallet is ever compromised, your token supply is still protected in the issuing wallet.
Think of it like a central bank (issuing) and a commercial bank (distribution). The central bank creates money; the commercial bank distributes it.
Step-by-Step: Issue Your Token
Create and Fund Your Issuing Wallet
Generate a new XRPL wallet address using your wallet app. Fund it with at least 15 XRP (10 base reserve + 2 per trust line + buffer for fees). Keep this wallet's seed phrase completely offline and secure.
Create and Fund Your Distribution Wallet
Generate a second XRPL wallet. Fund it with at least 15 XRP. This is the wallet you'll use day-to-day, connect to your app, and send tokens from.
Set the Trust Line (Distribution → Issuing)
From your distribution wallet, create a trust line pointing to your issuing wallet's address with your currency code and maximum supply. This tells the ledger "I'm willing to hold up to X units of TOKEN from issuer Y." The 2 XRP reserve for this trust line comes from your distribution wallet.
Issue the Tokens (Issuing → Distribution)
From your issuing wallet, send your tokens to your distribution wallet's address. Since the trust line exists, the ledger records this transfer. Your distribution wallet now holds the entire supply of your token.
Enable No-Ripple on the Issuing Wallet (Optional but Recommended)
Set the NoRipple flag on your issuing wallet to prevent unintended currency exchanges through your issuer. This is a standard best practice for token issuers on XRPL.
Distribute to Holders
Each holder must set a trust line to your issuing wallet before they can receive tokens. You can send them a pre-configured trust line URL (XRPL has standards for this) or your app can guide them through it automatically.
The Hard Part: Trust Line UX
Here's where most DIY token projects run into friction. Before any holder can receive your token, they have to set a trust line — and explaining that to a non-crypto audience is painful.
This is one of the core problems OnRampDLT solves. When someone clicks your distribution link and opens their GemWallet, XAMAN, or Crossmark, the trust line is pre-populated and they just tap Approve. No manual entry. No confusion about currency codes or issuer addresses.
Skip the manual setup entirely.
OnRampDLT handles the two-wallet architecture, trust line setup, and holder distribution for you. Create your token and share a link. Your holders tap once to receive.
Issue Your Token Free →Freezing, Black-Holing, and Token Controls
XRPL gives issuers significant control over their tokens:
- Global Freeze — Freeze all outstanding tokens if you discover fraud or need to halt trading. Useful for regulated securities.
- Individual Freeze — Freeze a specific holder's balance without affecting others.
- Black-Holing the Issuer — Permanently disable the issuing wallet's ability to issue more tokens, creating a fixed supply. This is irreversible — use it only when you're confident in your supply cap.
- Require Auth — Force each trust line to be manually approved by the issuer. Useful for KYC/AML compliance.
What About Metadata and Token Information?
XRPL doesn't store token names, logos, or descriptions on-chain. That data lives in an external file called the XRPL Token Metadata Standard (commonly called an xls-24d or xls-38d file) hosted at a URL referenced in your issuing account's domain field.
Setting this up correctly means your token shows up properly in wallets like XAMAN and on explorers like XRPScan. Skipping it means your token appears as a raw currency code with no name or logo — not a great first impression for your holders.
How Long Does This Take?
If you're doing it manually (setting up wallets, writing JSON, using the XRPL tooling directly), expect 2–4 hours if you already know what you're doing. If you're new to XRPL, add another few hours of learning curve.
With OnRampDLT, the full setup takes about 5 minutes: enter your token name, set your supply, connect your wallet, and you're live. The platform handles the two-wallet architecture, metadata, trust line links, and distribution flow.
Next Steps
Once your token is live, you'll need to think about:
- DEX listing — XRPL has a built-in decentralized exchange. You can create an offer pair to establish trading.
- Compliance — If your token represents equity or debt, you're likely issuing a security. Read our guide on Reg D exemptions for tokenized assets.
- Distribution strategy — Airdrop, direct sale, or holder-gated? Each has implications for your cap table and tax treatment.
Want to skip the technical setup and get straight to distributing? Try OnRampDLT free — no credit card, no blockchain experience required.