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
| Feature | Umi SDK | Kit SDK |
|---|---|---|
| Package | @metaplex-foundation/mpl-token-metadata | @metaplex-foundation/mpl-token-metadata-kit |
| Built on | Umi framework | @solana/kit |
| Transaction building | Fluent API with .sendAndConfirm() | Functional with instruction builders |
| Wallet handling | Built-in identity system | Standard @solana/signers |
| Best for | Projects already using Umi | New 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.
