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:
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.
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:
Example Allow List Setup
After adding an address for each role, you can preview the current allow list:
After verifying the allow list, confirm the configuration: