Plugins

Master Edition Plugin

The Master Edition Plugin is a Authority Managed plugin that is used with Core Collections to group Editions, provide provenance and store the maximum edition supply. Together with the Edition Plugin those Editions could be compared to the Edition concept in Metaplex Token Metadata.

The Master Edition Plugin will work in areas such as:

  • Grouping Editions
  • Providing Procenance

Intended Useage

We recommend to

  • Group the Editions using the Master Edition Plugin
  • use Candy Machine with the Edition Guard to handled numbering automatically.

Works With

MPL Core Asset
MPL Core Collection

Arguments

ArgValueUsecase
maxSupplyOption<number> (u32)Indicate how many prints will exist as maximum. Optional to allow Open Editions
nameOption<String>Name of the Editions (if different to the Collection Name)
uriOption<String>URI of the Editions (if different to the Collection Name)

These values can be changed by the Authority at any time. They are purely informational and not enforced.

Creating a Collection with the Master Edition plugin

Create a MPL Core Collection with Master Edition Plugin

import { generateSigner, publicKey } from '@metaplex-foundation/umi'
import { createCollection } from '@metaplex-foundation/core'

const collectionSigner = generateSigner(umi)

await createCollection(umi, {
  collection: collectionSigner,
  name: 'My NFT',
  uri: 'https://example.com/my-nft.json',
  plugins: [
    {
      type: 'MasterEdition',
      maxSupply: 100,
      name: 'My Master Edition',
      uri: 'https://example.com/my-master-edition.json',
    },
  ],
}).sendAndConfirm(umi)

Update the Master Edition Plugin

If the Master Edition Plugin is mutable it can be updated similar to other Collection Plugins:

Update Master Edition Plugin

import { publicKey } from '@metaplex-foundation/umi'
import { updatePluginV1, createPlugin } from '@metaplex-foundation/mpl-core'

const asset = publicKey('11111111111111111111111111111111')

await updatePlugin(umi, {
  asset: asset,
  plugin: {
    type: 'MasterEdition',
    maxSupply: 110,
    name: 'My Master Edition',
    uri: 'https://example.com/my-master-edition',
  },
}).sendAndConfirm(umi)
Previous
Edition Plugin