Features
Core Collections
Last updated April 8, 2026
Summary
A Core Collection is a Solana account that groups related Core Assets under shared metadata and plugins.
- Collections store a name, URI, and optional plugins that apply to all member Assets
- Assets reference their Collection via the
collectionfield at creation or update time - Collection-level plugins (e.g. Royalties) propagate to all member Assets unless overridden at the Asset level
- Creating a Collection costs ~0.0015 SOL in rent
Jump to a task: Create Collection · Fetch Collection · Update Collection · Add/Move/Remove Assets
What are Collections?
A Core Collection is a group of Assets that belong together as part of the same series or set. To group Assets together, you first create a Collection account that stores the shared metadata — collection name and image URI. The Collection account acts as the front cover for your collection and can also hold collection-wide plugins.
The data stored and accessible from the Collection account is as follows:
| Field | Description |
|---|---|
| key | The account key discriminator |
| updateAuthority | The authority of the collection |
| name | The collection name |
| uri | The URI to the collection's off-chain metadata |
| numMinted | The total number of Assets ever minted into the collection |
| currentSize | The number of Assets currently in the collection |
Core Collections only group Core Assets. To work with Token Metadata NFTs use mpl-token-metadata. For compressed NFTs use Bubblegum.
Managing Collection Membership
Assets can be added to, moved between, or removed from Collections after creation using the update instruction on the Asset. These operations change the Asset's update authority — adding sets it to the Collection, removing reverts it to a wallet address.
| Operation | Description | Guide |
|---|---|---|
| Add an Asset to a Collection | Assign a standalone Asset to this Collection | SDK · CLI |
| Move an Asset to another Collection | Transfer an Asset from one Collection to another | SDK · CLI |
| Remove an Asset from a Collection | Detach an Asset so it becomes standalone again | SDK · CLI |
You must be the update authority of the Collection (and the Asset, if it's standalone) to change membership. Moving between Collections requires authority on both the source and target Collection.
An Update Delegate listed on the Collection can also perform these operations — removing any Asset from the Collection, and adding Assets it has authority over — without the root update authority's signature.
Notes
- Assets can exist standalone without a Collection — a Collection is not required
- Collection plugins are inherited by member Assets unless the Asset has its own overriding plugin of the same type
numMintedcounts all Assets ever created in the collection;currentSizeis the live count- Collections cannot be closed while they contain Assets — remove all Assets first
Quick Reference
Program ID
| Network | Address |
|---|---|
| Mainnet | CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d |
| Devnet | CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d |
Collection Operations
| Operation | Page | SDK Function |
|---|---|---|
| Create a Collection | Create Collection | createCollection |
| Fetch a Collection | Fetch Collection | fetchCollection |
| Update Collection metadata | Update Collection | updateCollection |
| Update a Collection plugin | Update Collection | updateCollectionPlugin |
| Add/Move/Remove Assets | Updating Assets | update (on the Asset) |
Cost Breakdown
| Item | Cost |
|---|---|
| Collection account rent | ~0.0015 SOL |
| Transaction fee | ~0.000005 SOL |
| Total | ~0.002 SOL |
FAQ
What's the difference between a Collection and an Asset?
A Collection is a container that groups Assets together. It has its own metadata (name, image) but cannot be owned or transferred like an Asset. Assets are the actual NFTs that users own.
Can I add an existing Asset to a Collection?
Yes. Use the update instruction with newCollection: collectionId and newUpdateAuthority: updateAuthority('Collection', [collectionId]). See Add an Asset to a Collection for SDK code, or use the CLI: mplx core asset update <assetId> --collection <collectionId>.
Do I need a Collection for my NFTs?
No. Assets can exist standalone without a Collection. However, Collections enable collection-level royalties, easier discoverability, and batch operations.
Can I remove an Asset from a Collection?
Yes. Use the update instruction and set newUpdateAuthority to updateAuthority('Address', [yourWallet]) to detach the Asset. See Remove an Asset from a Collection for SDK code, or use the CLI: mplx core asset update <assetId> --remove-collection.
What happens if I delete a Collection?
Collections cannot be deleted while they contain Assets. Remove all Assets first, then the Collection account can be closed.
Glossary
| Term | Definition |
|---|---|
| Collection | A Core account that groups related Assets under shared metadata |
| Update Authority | The account that can modify Collection metadata and plugins |
| numMinted | Counter tracking total Assets ever created in the Collection |
| currentSize | Number of Assets currently in the Collection |
| Collection Plugin | A plugin attached to the Collection that may apply to all member Assets |
| URI | URL pointing to off-chain JSON metadata for the Collection |
