Type alias AllowListGuardSettings

AllowListGuardSettings: {
    merkleRoot: Uint8Array;

The allowList guard validates the minting wallet against a predefined list of wallets.

Instead of passing the entire list of wallets as settings, this guard accepts the Root of a Merkle Tree created from this allow list. The program can then validate that the minting wallet is part of the allow list by requiring a Merkle Proof. Minting will fail if either the minting address is not part of the merkle tree or if no Merkle Proof is specified.

You may use the getMerkleRoot and getMerkleProof helper functions provided by the SDK to help you set up this guard. Here is an example.

import { getMerkleProof, getMerkleRoot } from '@metaplex-foundation/js';
const allowList = [
const merkleRoot = getMerkleRoot(allowList);
const validMerkleProof = getMerkleProof(allowList, 'Ur1CbWSGsXCdedknRbJsEk7urwAvu1uddmQv51nAnXB');
const invalidMerkleProof = getMerkleProof(allowList, 'invalid-address');

Note that you will need to provide the Merkle Proof for the minting wallet before calling the mint instruction via the special "route" instruction of the guard. See AllowListGuardRouteSettings for more information.

This object defines the settings that should be provided when creating and/or updating a Candy Machine if you wish to enable this guard.


AllowListGuardRouteSettings to learn more about the instructions that can be executed against this guard.

Type declaration

  • merkleRoot: Uint8Array

    The Root of the Merkle Tree representing the allow list. You may use the getMerkleRoot helper function to generate this.

Generated using TypeDoc