The royalties that should be set on minted NFTs in basis points.
{ sellerFeeBasisPoints: 250 } // For 2.5% royalties.
The total number of items availble in the Candy Machine, minted or not.
{ itemsAvailable: toBigNumber(1000) } // For 1000 items.
Optional
symbol?: undefined | stringThe symbol to use when minting NFTs (e.g. "MYPROJECT")
This can be any string up to 10 bytes and can be made optional by providing an empty string.
""
Optional
creators?: undefined | Omit<Creator, "verified">[]Array of creators that should be set on minted NFTs.
Defaults to using the authority
parameter as the only creator.
[{ address: authority, share: 100 }]
Optional
isWhether the minted NFTs should be mutable or not.
We recommend setting this to true
unless you have a specific reason.
You can always make NFTs immutable in the future but you cannot make
immutable NFTs mutable ever again.
true
Optional
authority?: undefined | PublicKey | SignerRefers to the authority that is allowed to manage the Candy Machine. This includes updating its data, authorities, inserting items, etc.
By default, it is required as a Signer in order to create and wrap its
Candy Guard. However, when withoutCandyGuard
is set to true
, it
may be provided as a PublicKey instead.
metaplex.identity()
Optional
candyThe Candy Machine to create as a Signer. This expects a brand new Keypair with no associated account.
Keypair.generate()
Optional
guards?: undefined | Partial<T>The settings of all guards we wish to activate.
Any guard not provided or set to null
will be disabled.
This parameter is ignored if withoutCandyGuard
is set to true
.
{}
, i.e. no guards are activated.
Optional
groups?: undefined | { This parameter allows us to create multiple minting groups that have their own set of requirements — i.e. guards.
When groups are provided, the guards
parameter becomes a set of default
guards that will be applied to all groups. If a specific group enables
a guard that is also present in the default guards, the group's guard
will override the default guard.
For each group, any guard not provided or set to null
will be disabled.
This parameter is ignored if withoutCandyGuard
is set to true
.
[]
, i.e. no groups are created.
Optional
maxThe maximum number of editions that can be printed from the minted NFTs.
For most use cases, you'd want to set this to 0
to prevent
minted NFTs to be printed multiple times.
Note that you cannot set this to null
which means unlimited editions
are not supported by the Candy Machine program.
toBigNumber(0)
Optional
itemSettings related to the Candy Machine's items.
These can either be inserted manually within the Candy Machine or they can be infered from a set of hidden settings.
type
is hidden
, the Candy Machine is using hidden settings.type
is configLines
, the Candy Machine is using config line settings.Defaults to using configLines
settings with:
{
itemSettings: {
type: 'configLines',
prefixName: '',
nameLength: 32,
prefixUri: '',
uriLength: 200,
isSequential: false,
}
}
Optional
withoutWhether to skip the part of this operation that creates a Candy Guard
for the new Candy Machine. When set to true
, no Candy Guard will be
created for the Candy Machine.
false
Optional
createA key to distinguish the instruction that creates the Candy Machine account.
Optional
initializeA key to distinguish the instruction that initializes the Candy Machine account.
Optional
wrapA key to distinguish the instruction that wraps the Candy Machine in a Candy Guard.
Generated using TypeDoc
The Collection NFT that all NFTs minted from this Candy Machine should be part of. This must include its address and the update authority as a Signer.
Example
If you do not have a Collection NFT yet, you can create one using the
create
method of the NFT module and settingisCollection
totrue
.You can now use
nft.address
as the address of the collection and provide the update authority as a signer, which by default, should bemetaplex.identity()
.