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.
