Available Guards
Core Candy Machine - Asset Gate Guard
Last updated March 10, 2026
The Asset Gate guard allows minting only if the payer holds an Asset from a specified collection, without burning or transferring that Asset.
Overview
The Asset Gate guard allows minting if the payer is Holder of an Asset of the specified Asset collection. The Asset will not be transferred.
If the payer does not own an Asset from the required collection, minting will fail.
Guard Settings
The Asset Gate guard contains the following settings:
- Required Collection: The mint address of the required Collection. The Asset we use to prove ownership must be part of this collection.
Set up a Candy Machine using the Asset Gate Guard
Mint Settings
The Asset Gate guard contains the following Mint Settings:
- Asset Address: The address of the Asset to prove ownership with. This must be part of the required collection and must belong to the minter.
- Collection Address: The Address of the Collection that is used to prove ownership.
Note that, if you're planning on constructing instructions without the help of our SDKs, you will need to provide these Mint Settings and more as a combination of instruction arguments and remaining accounts. See the Core Candy Guard's program documentation for more details.
Set up a Candy Machine using the Asset Gate Guard
You may pass the Mint Settings of the Asset Gate guard using the mintArgs argument like so.
mintV1(umi, {
// ...
mintArgs: {
assetGate: some({
requiredCollection: publicKey(requiredCollection),
destination,
}),
},
});
API References: mintV1, AssetGateMintArgs
Route Instruction
The Asset Gate guard does not support the route instruction.
Notes
- The Asset Gate guard verifies ownership but does not burn or transfer the held Asset. The same Asset can be used to mint multiple times unless combined with other guards that limit minting.
- The Asset used for verification must belong to the minting wallet and must be part of the specified collection at the time of minting.
- To require burning the held Asset during minting instead of just verifying ownership, use the Asset Burn guard.
