Metaplex Token Metadata — Program ID & Overview
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s The Metaplex Token Metadata program attaches metadata (name, symbol, URI, creators, royalties) to SPL tokens and NFTs on Solana. It is the standard for NFT metadata and is also used by fungible tokens to provide on-chain name and symbol information.
Program ID
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s
Account structure
Each token can have the following metadata accounts:
| Account | PDA seeds | Description |
|---|---|---|
| Metadata | ["metadata", program_id, mint] | Name, symbol, URI, creators, royalties |
| Master Edition | ["metadata", program_id, mint, "edition"] | Marks a mint as an NFT or Master Edition |
| Edition | ["metadata", program_id, mint, "edition"] | Print (copy) of a Master Edition |
| Token Record | ["metadata", program_id, mint, "token_record", token] | Per-token state for programmable NFTs |
Metadata fields
| Field | Description |
|---|---|
name | Token name (max 32 chars) |
symbol | Token symbol (max 10 chars) |
uri | URL to off-chain JSON metadata |
sellerFeeBasisPoints | Royalty percentage in bps (500 = 5%) |
creators | Array of creator addresses with share percentages |
collection | Optional collection NFT this token belongs to |
uses | Optional use/burn tracking |
tokenStandard | NonFungible, FungibleAsset, Fungible, ProgrammableNonFungible |
Token standards
| Standard | Description |
|---|---|
NonFungible | Standard NFT (supply of 1, 0 decimals) |
FungibleAsset | Semi-fungible token with metadata |
Fungible | Standard fungible token with metadata |
ProgrammableNonFungible | NFT with enforced royalties and transfer rules |
NonFungibleEdition | Print of a Master Edition |
Deriving the metadata PDA
import { PublicKey } from "@solana/web3.js";
const TOKEN_METADATA_PROGRAM = new PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s");
const [metadataPDA] = PublicKey.findProgramAddressSync(
[
Buffer.from("metadata"),
TOKEN_METADATA_PROGRAM.toBytes(),
mintPublicKey.toBytes(),
],
TOKEN_METADATA_PROGRAM,
);
Key instructions
| Instruction | Description |
|---|---|
CreateMetadataAccountV3 | Creates metadata for a mint |
UpdateMetadataAccountV2 | Updates metadata fields |
CreateMasterEditionV3 | Creates a Master Edition account |
SetAndVerifyCollection | Assigns and verifies collection membership |
VerifyCreator | Verifies a creator signed the metadata |
FAQ
Do fungible tokens use Metaplex metadata? Yes. Most fungible tokens on Solana (including memecoins) use Metaplex metadata to store their name, symbol, and logo URI. Wallets and explorers read this metadata to display token information.
What is a Programmable NFT (pNFT)? Programmable NFTs enforce royalties at the protocol level. Transfers must go through the Token Metadata program, which checks and enforces creator-defined rules (royalty payments, transfer restrictions).
Where is the actual image/media stored?
The uri field points to a JSON file (usually on Arweave, IPFS, or a CDN) that contains the image URL, attributes, and other off-chain metadata following the Metaplex JSON standard.
Updated: