Token Metadata is a legacy program. It remains supported, but is not recommended for new projects. Use Core instead.

Getting Started using JavaScript

Metaplex provides two JavaScript SDKs for interacting with Token Metadata NFTs. Both provide full access to Token Metadata functionality - choose based on your project's architecture.

Choose Your SDK

Umi SDK

Built on the Umi framework with a fluent API. Best for projects using Umi.

Kit SDK

Built on @solana/kit with functional instruction builders. Best for new projects.

Comparison

FeatureUmi SDKKit SDK
Package@metaplex-foundation/mpl-token-metadata@metaplex-foundation/mpl-token-metadata-kit
Built onUmi framework@solana/kit
Transaction buildingFluent API with .sendAndConfirm()Functional with instruction builders
Wallet handlingBuilt-in identity systemStandard @solana/signers
Best forProjects already using UmiNew projects using @solana/kit

Quick Example

Create an NFT

import { generateSigner, percentAmount } from '@metaplex-foundation/umi';
import { createNft } from '@metaplex-foundation/mpl-token-metadata';
const mint = generateSigner(umi);
await createNft(umi, {
mint,
name: 'My NFT',
uri: 'https://example.com/my-nft.json',
sellerFeeBasisPoints: percentAmount(5.5),
}).sendAndConfirm(umi);

See the dedicated pages for complete setup instructions and more examples.