Sol Fixed Fee Guard

The Sol Fixed Fee guard allows us to charge the payer an amount in SOL when minting. Both the amount of SOL and the destination address can be configured.

It works similar to the Sol Payment Guard.

Transfers SOL

from the payer

Core Candy Machine

Owner: Core Candy Machine Core Program

Core Candy Guard

Owner: Core Candy Guard Program

GuardsSol Fixed Fee- Amount- Destination...

Destination Wallet

Owner: System Program

Mint from

Candy Guard Program

Access Control

Mint from

Candy Machine Program

Mint Logic

Asset

React Flow

Guard Settings

The Sol Payment guard contains the following settings:

  • Lamports: The amount in SOL (or lamports) to charge the payer.

  • Destination: The address of the wallet that should receive all payments related to this guard.

Set up a Candy Machine using the Sol Payment guard

JavaScript

Note that, in this example, we’re using the current identity as the destination wallet.

create(umi, {
  // ...
  guards: {
    solFixedFee: some({
      lamports: sol(1.5),
      destination: umi.identity.publicKey,
    }),
  },
});

API References: create, SolFixedFee

Mint Settings

The Sol Fixed Fee guard contains the following Mint Settings:

  • Destination: The address of the wallet that should receive all payments related to this guard.

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.

Mint with the Sol Fixed Fee Guard

JavaScript

You may pass the Mint Settings of the Sol Fixed Fee guard using the mintArgs argument like so.

mintV1(umi, {
  // ...
  mintArgs: {
    solFixedFee: some({ destination: treasury }),
  },
});

API References: mintV1, SolFixedFeeMintArgs

Route Instruction

The Sol Fixed Fee guard does not support the route instruction.

Last updated