Features
Updating a Core Collection
Last updated April 8, 2026
updateCollection and updateCollectionPlugin modify an existing Core Collection's metadata and plugin configuration.
What You'll Learn
- Update a Collection's name or URI
- Update a plugin attached to a Collection
Summary
Two instructions handle post-creation updates to a Core Collection.
updateCollection— change the collection'snameoruriupdateCollectionPlugin— modify the configuration of an existing plugin on the collection- Both require the
updateAuthorityto sign - Changes to collection-level plugins propagate to member Assets that inherit them
Jump to: Update Metadata · Update Plugin · Common Errors
Prerequisites
- Umi configured with the collection's
updateAuthorityas signer — see Fetch Collection to retrieve this value - The collection address you want to update
Updating Collection Metadata
updateCollection changes the name and/or uri of an existing Collection. Pass only the fields you want to change.
Update a Core Collection
update-collection.ts
import { publicKey } from '@metaplex-foundation/umi'
import { updateCollection } from '@metaplex-foundation/mpl-core'
const collectionAddress = publicKey('1111111111111111111111111111111')
await updateCollection(umi, {
collection: collectionAddress,
name: 'My Updated Collection',
uri: 'https://example.com/new-uri.json',
}).sendAndConfirm(umi)
Updating a Collection Plugin
updateCollectionPlugin changes the configuration of a plugin already attached to the Collection. This example updates the Royalties plugin's basis points and creator split.
Update a Core Collection plugin
update-collection-plugin.ts
import { publicKey } from '@metaplex-foundation/umi'
import { updateCollectionPlugin, ruleSet } from '@metaplex-foundation/mpl-core'
const collectionAddress = publicKey('1111111111111111111111111111111')
const newCreator = publicKey('5555555555555555555555555555555')
await updateCollectionPlugin(umi, {
collection: collectionAddress,
plugin: {
type: 'Royalties',
basisPoints: 400,
creators: [{ address: newCreator, percentage: 100 }],
ruleSet: ruleSet('None'),
},
}).sendAndConfirm(umi)
Common Errors
Authority mismatch
Your signer is not the collection's updateAuthority. Fetch the collection to check:
const collection = await fetchCollection(umi, collectionAddress)
console.log(collection.updateAuthority) // Must match umi.identity
Notes
- To add a plugin that does not yet exist on the collection, use
addCollectionPlugininstead ofupdateCollectionPlugin - Updating a collection-level plugin affects all Assets that inherit it — Assets with their own plugin of the same type are not affected
- Transfer
updateAuthorityto a new account via thenewUpdateAuthorityparameter onupdateCollection
Quick Reference
| Instruction | JS Function | When to Use |
|---|---|---|
UpdateCollectionV1 | updateCollection | Change name or uri |
UpdateCollectionPluginV1 | updateCollectionPlugin | Modify an existing plugin's config |
| Account | Required | Description |
|---|---|---|
collection | Yes | The collection to update |
authority | Yes | Must be the updateAuthority |
payer | Yes | Pays transaction fees |
newUpdateAuthority | No | Transfer update authority to a new account |
