Technical7 min read

How to Add Metadata to Your Solana Token (Complete Guide)

Step-by-step guide to adding rich metadata to your SPL token including name, symbol, description, and images.


How to Add Metadata to Your Solana Token (Complete Guide)

A token without metadata is like a product without a label. You know it exists, but you don't know what it is, who made it, or what it does.

Token metadata transforms your raw SPL token into a professional, recognizable asset with a name, symbol, description, and image that appears in wallets, explorers, and DEXs.

This guide covers everything you need to know about adding metadata to your Solana token.

What is Token Metadata?

Token metadata is additional information stored on-chain that describes your token. It includes:

Required Fields
- **Name**: Full name (e.g., "My Project Token")
- **Symbol**: Ticker symbol (e.g., "MPT")
- **Decimals**: Divisibility (usually 9 for Solana)

Optional Fields (Recommended)
- **Description**: What your token is for
- **Image**: Logo or icon (PNG/JPG)
- **External URL**: Project website
- **Social links**: Twitter, Discord, Telegram

Why Metadata Matters

1. Wallet Display
**Without metadata:**
- Shows as random address: `7xKXtg2CW...xyz`
- No image, just a placeholder
- Users can't identify your token

**With metadata:**
- Shows as "My Project Token (MPT)"
- Displays your logo
- Includes description

2. DEX Listings
Most DEXs (Jupiter, Raydium, Orca) require metadata to:
- Display token properly in search
- Show token logo in trading pairs
- Provide context to traders

3. Block Explorer Recognition
On Solscan and Solana Explorer:
- Metadata makes your token look professional
- Verified image and description build trust
- Easier for users to verify authenticity

4. Trust & Legitimacy
Tokens with complete metadata appear:
- More professional
- Less likely to be scams
- Worthy of investment

Metadata Standards: Token Metadata vs Metaplex

Token Metadata (SPL Standard)
**Structure:**
- Stored on-chain via Metadata Program
- Uses Metaplex Token Metadata standard
- Required for wallet/DEX compatibility

**Contains:**
- Token name
- Symbol
- Decimals
- Mint address

Extended Metadata (Off-Chain)
**Structure:**
- JSON file stored on Arweave/IPFS
- Linked from on-chain metadata
- Contains rich data (images, descriptions, links)

**Contains:**
- Description
- Image URL
- External links
- Attributes/properties

How to Add Metadata: Three Methods

Method 1: TokenGen (Easiest)

**Recommended for:** Beginners, non-technical users

TokenGen adds metadata automatically during token creation:

**Steps:**
1. Go to [TokenGen Builder](/builder)
2. Connect your Phantom wallet
3. Fill in token details:
- Name: "My Project Token"
- Symbol: "MPT"
- Decimals: 9
- Supply: 1,000,000
4. Add metadata:
- Description
- Upload image (PNG/JPG, recommended 512×512px)
- Website URL
5. Review and approve transaction
6. Done! Metadata is automatically created on-chain

**Cost:** ~0.01 SOL (includes metadata account creation)

**Advantages:**
✅ No technical knowledge required
✅ Image uploaded to Arweave automatically
✅ Metadata account created for you
✅ One transaction, everything included

**Disadvantages:**
❌ Less customization than manual methods

---

Method 2: Solana Token CLI

**Recommended for:** Developers, technical users

**Prerequisites:**
- Solana CLI installed
- SPL Token CLI installed
- Node.js and npm

**Steps:**

#Step 1: Install Metaboss (Metadata Tool)
```bash
cargo install metaboss
```

#Step 2: Create Metadata JSON
Create `metadata.json`:
```json
{
"name": "My Project Token",
"symbol": "MPT",
"description": "A revolutionary token for my awesome project.",
"image": "image.png",
"external_url": "https://myproject.com",
"attributes": [],
"properties": {
"files": [
{
"uri": "image.png",
"type": "image/png"
}
],
"category": "image"
}
}
```

#Step 3: Upload Image to Arweave
```bash
metaboss upload image.png
Returns: https://arweave.net/abc123...
```

#Step 4: Update JSON with Arweave URL
Replace `"image": "image.png"` with the Arweave URL:
```json
"image": "https://arweave.net/abc123..."
```

#Step 5: Upload Metadata JSON
```bash
metaboss upload metadata.json
Returns: https://arweave.net/xyz789...
```

#Step 6: Create On-Chain Metadata
```bash
metaboss create metadata \
--keypair ~/.config/solana/id.json \
--mint \
--metadata https://arweave.net/xyz789...
```

**Cost:** ~0.01 SOL (Arweave upload + metadata account)

**Advantages:**
✅ Full control over metadata
✅ Can update later
✅ Professional-grade process

**Disadvantages:**
❌ Technical setup required
❌ Multiple steps
❌ Command-line interface

---

Method 3: Metaplex Sugar (Advanced)

**Recommended for:** NFT projects, advanced developers

Metaplex Sugar is primarily for NFT collections but works for tokens too.

**Steps:**

#1. Install Sugar
```bash
bash <(curl -sSf https://sugar.metaplex.com/install.sh)
```

#2. Configure Sugar
```bash
sugar config create
```

Follow prompts to set up config.

#3. Prepare Assets
Create folder structure:
```
assets/
0.json Metadata
0.png Image
```

**0.json:**
```json
{
"name": "My Project Token",
"symbol": "MPT",
"description": "Revolutionary token.",
"image": "0.png",
"attributes": [],
"properties": {
"files": [{"uri": "0.png", "type": "image/png"}],
"category": "image"
}
}
```

#4. Upload to Arweave
```bash
sugar upload
```

#5. Create Metadata
```bash
sugar deploy
```

**Cost:** ~0.01-0.02 SOL

**Advantages:**
✅ Batch operations
✅ Built-in Arweave upload
✅ Metaplex ecosystem integration

**Disadvantages:**
❌ Overkill for single tokens
❌ NFT-focused (not token-optimized)
❌ Complex setup

Metadata Best Practices

Image Guidelines

**Dimensions:**
- Recommended: 512×512px
- Maximum: 1000×1000px
- Minimum: 200×200px

**Format:**
- PNG (best for logos with transparency)
- JPG (acceptable, no transparency)
- Avoid: GIF, SVG (not widely supported)

**File Size:**
- Keep under 200KB
- Optimize images before upload
- Arweave charges by file size

**Design Tips:**
✅ Simple, recognizable logo
✅ High contrast colors
✅ Works at small sizes (32×32px)
✅ Transparent background (PNG)
❌ Avoid text-heavy images
❌ Avoid complex gradients

Description Writing

**Good description:**
> "MPT is the governance token for MyProject DAO, enabling holders to vote on protocol upgrades, treasury allocations, and ecosystem grants. Fixed supply of 1M tokens."

**Bad description:**
> "The best token ever! 🚀🚀🚀 To the moon!!!"

**Tips:**
✅ Explain what your token does
✅ Mention supply/tokenomics
✅ Keep it under 200 characters for wallet display
✅ Professional tone
❌ No excessive emojis
❌ No price predictions
❌ No "get rich quick" language

Symbol Guidelines

**Good symbols:**
- MPT (clear, 3 letters)
- MYTOKEN (descriptive)
- PROJ (abbreviation of project name)

**Bad symbols:**
- XYZABC123 (too long, confusing)
- 🚀 (emojis don't work)
- mpt (lowercase looks unprofessional)

**Rules:**
- 2-10 characters
- Uppercase only
- Letters only (no numbers/symbols ideally)
- Memorable and related to project

Updating Metadata After Creation

Can You Update Metadata?

**Yes, if you're the update authority.**

By default, the token creator is the update authority. You can:
- Change description
- Update image
- Modify external URL

**You CANNOT change:**
- Token name (fixed at creation)
- Symbol (fixed at creation)
- Mint address (fixed at creation)

How to Update Metadata

**Using Metaboss:**

```bash
Update metadata URI
metaboss update uri \
--keypair ~/.config/solana/id.json \
--mint \
--uri https://arweave.net/new-metadata-uri
```

**Cost:** ~0.001 SOL per update

Update Authority Management

**Check current update authority:**
```bash
metaboss decode mint --mint
```

**Transfer update authority:**
```bash
metaboss set update-authority \
--keypair ~/.config/solana/id.json \
--mint \
--new-authority
```

**Revoke update authority (make metadata immutable):**
```bash
metaboss set update-authority \
--keypair ~/.config/solana/id.json \
--mint \
--new-authority null
```

**Warning:** Once revoked, metadata can NEVER be changed again.

Common Metadata Mistakes

Mistake 1: No Metadata at All
**Problem:** Token doesn't show properly in wallets
**Solution:** Always add metadata during creation

Mistake 2: Low-Quality Image
**Problem:** Looks unprofessional in DEXs
**Solution:** Use high-res, simple logo (512×512px minimum)

Mistake 3: Wrong Image Format
**Problem:** Image doesn't display in wallets
**Solution:** Use PNG or JPG only, avoid SVG/GIF

Mistake 4: Broken Arweave Links
**Problem:** Image doesn't load
**Solution:** Verify Arweave upload succeeded, test URL in browser

Mistake 5: Inconsistent Branding
**Problem:** Symbol doesn't match project name
**Solution:** Use recognizable abbreviation (e.g., "MyProject" → "MPT")

Mistake 6: Revoking Update Authority Too Early
**Problem:** Can't fix metadata errors later
**Solution:** Keep update authority until verified everything is correct

Mistake 7: Misleading Information
**Problem:** Description doesn't match actual token use
**Solution:** Be honest and clear about token purpose

Verifying Your Metadata

After adding metadata, verify it's working:

1. Check on Solscan
1. Go to [solscan.io](https://solscan.io)
2. Enter your token mint address
3. Verify:
- ✅ Name displays correctly
- ✅ Symbol displays correctly
- ✅ Image loads
- ✅ Description appears

2. Check in Phantom Wallet
1. Import token to Phantom (if not auto-detected)
2. Verify:
- ✅ Token name visible
- ✅ Logo displays
- ✅ Symbol correct

3. Check on Jupiter
1. Go to [jup.ag](https://jup.ag)
2. Search for your token
3. Verify it appears with logo and name

4. Test Metadata JSON
Open your Arweave metadata URL in browser:
```
https://arweave.net/your-metadata-uri
```

Verify JSON is properly formatted.

Metadata Checklist

Before finalizing metadata:

✅ **Name is correct** - No typos, professional capitalization
✅ **Symbol matches branding** - Recognizable abbreviation
✅ **Description is clear** - Explains token purpose
✅ **Image is optimized** - 512×512px, under 200KB, PNG format
✅ **Image has transparency** - Works on light and dark backgrounds
✅ **Arweave links work** - Test URLs in browser
✅ **External URL is correct** - Links to project website
✅ **Verified on Solscan** - Metadata displays properly
✅ **Tested in Phantom** - Token appears correctly in wallet
✅ **Proofread everything** - No spelling errors
✅ **Update authority managed** - Decided whether to keep or revoke

Metadata Costs Summary

| Method | Image Upload | Metadata Account | Total Cost |
|--------|--------------|------------------|------------|
| TokenGen | Included | Included | ~0.01 SOL |
| Metaboss CLI | ~0.005 SOL | ~0.005 SOL | ~0.01 SOL |
| Metaplex Sugar | ~0.01 SOL | ~0.01 SOL | ~0.02 SOL |

All methods cost approximately the same (~$2-4 at $200/SOL).

Metadata for Different Token Types

Meme Coins
**Focus on:**
- ✅ Fun, memorable logo
- ✅ Short, catchy description
- ✅ Viral social links
- ✅ Community-focused messaging

DeFi Tokens
**Focus on:**
- ✅ Professional branding
- ✅ Clear utility explanation
- ✅ Tokenomics transparency
- ✅ Protocol website link

Governance Tokens
**Focus on:**
- ✅ DAO/project branding
- ✅ Voting mechanism explanation
- ✅ Supply information
- ✅ Governance portal link

Utility Tokens
**Focus on:**
- ✅ Use case description
- ✅ Platform integration details
- ✅ Redemption information
- ✅ App/service links

Frequently Asked Questions

**Q: Can I add metadata after token creation?**
Yes, as long as you're the update authority. Use Metaboss or similar tools.

**Q: What happens if I don't add metadata?**
Your token will work but won't display properly in wallets, explorers, or DEXs. Strongly discouraged.

**Q: Is Arweave the only option for hosting images?**
Arweave is recommended for permanence. IPFS works but can be less reliable. Avoid centralized hosting (can go down).

**Q: Can I change the token name later?**
No. Name and symbol are fixed at creation. Only description, image, and links can be updated.

**Q: Should I revoke update authority?**
For maximum decentralization (meme coins, DeFi), yes—after confirming metadata is perfect. For evolving projects, keep it.

**Q: How do I make my token appear on Jupiter automatically?**
Add metadata, create liquidity pool, and wait. Jupiter auto-indexes tokens with metadata.

**Q: What if my image doesn't show in Phantom?**
Check image format (PNG/JPG only), verify Arweave URL loads, ensure image is under 1MB, and give it 5-10 minutes to cache.

Ready to Create Your Token?

TokenGen makes metadata creation effortless:

- ✅ Automatic metadata account creation
- ✅ Built-in Arweave image upload
- ✅ One-click metadata deployment
- ✅ No technical knowledge required

[Create your token with metadata →](/builder)

Additional Resources

- [How to Create a Solana Token Without Coding](/blog/how-to-create-solana-token-without-coding)
- [SPL Token Creation Cost Breakdown](/blog/spl-token-creation-cost-breakdown)
- [Best Solana Token Creators Comparison](/blog/best-solana-token-creators-comparison)

---

**Disclaimer:** This guide is for educational purposes. Always test on devnet before mainnet. Arweave storage is permanent and cannot be deleted. This is not financial advice.

Ready to create your token?

Start building on Solana with TokenGen today.

Related Articles