logoAcademy

Activating Native Minter Precompile

Learn how to activate the native minter precompile.

The Native Minter Precompile allows you to mint additional native tokens beyond the initial supply on your Avalanche L1 blockchain. By enabling this feature, you can define who has permission to mint new tokens and how minting is managed over time. This section walks you through activating the Native Minter Precompile and configuring the necessary allow list.


What is the AllowList?

The AllowList is a security feature used by precompiles to manage which addresses have permission to interact with certain contract functionalities. In the case of the Native Minter Precompile, the allow list is used to control who can mint new native tokens.

The AllowList consists of three roles:

  • Admin: Full control over the allow list, including the ability to add or remove Admins, Managers, and Enabled addresses.
  • Manager: Can add or remove Enabled addresses but cannot modify Admins or Managers.
  • Enabled: These addresses can use the precompiled contract (e.g., mint native tokens) but cannot modify the allow list.

The allow list provides a granular way to assign permissions, ensuring that only authorized addresses can mint native tokens or manage the minting process.


Activating the Native Minter Precompile

During the configuration process, you’ll be prompted to choose whether you want the native token supply to be hard-capped or if you want the ability to mint new tokens:

? Allow minting of new native tokens?: 
 Yes, I want to be able to mint additional native tokens (Native Minter Precompile ON)
    No, I want the supply of the native tokens to be hard-capped

Select Yes, I want to be able to mint additional native tokens to enable the Native Minter Precompile. This will allow your blockchain to mint new tokens as needed.

Configuring the Allow List

After enabling minting, you will need to configure the allow list, which determines who has permission to mint tokens and manage the precompile contract. Initially, the allow list will be empty, so you will need to manually add addresses for each role.

? Configure the addresses that are allowed to mint native tokens: 
 Add an address for a role to the allow list
    Preview Allow List
    Confirm Allow List
    Cancel

Adding Addresses to the Allow List

To add addresses to the allow list, choose Add an address for a role to the allow list and assign a role to each address:

? What role should the address have?: 
 Admin
    Manager
    Enabled

Example Allow List Setup

After adding an address for each role, you can preview the current allow list:

 Preview Allow List
+---------+--------------------------------------------+
| Admins  | 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC |
+---------+--------------------------------------------+
| Manager |                                            |
+---------+--------------------------------------------+
| Enabled |                                            |
+---------+--------------------------------------------+

After verifying the allow list, confirm the configuration:

? Configure the addresses that are allowed to mint native tokens: 
 Confirm Allow List
    Add an address for a role to the allow list
    Remove an address from the allow list
    Preview Allow List
    Cancel

On this page