Default Precompiles
List of default precompiles supported by Subnet-EVM on Avalanche L1s.
Available Subnet-EVM Precompiles
The Subnet-EVM provides several precompiled contracts that you can use in your Avalanche L1 blockchain. Each precompile has its own page with detailed documentation:
- AllowList Interface - A reusable interface for permission management
- Native Minter - Mint additional native tokens
- Fee Manager - Configure fee parameters
- Reward Manager - Configure fee reward mechanisms
- Warp Messenger - Perform cross-chain operations
Precompile Addresses and Configuration
If a precompile is enabled within the genesis.json using the respective ConfigKey, you can interact with the precompile using Foundry or other tools such as Remix.
Below are the addresses and ConfigKey values of default precompiles available in Subnet-EVM. The address and ConfigKey are defined in the module.go of each precompile contract.
| Precompile | ConfigKey | Address |
|---|---|---|
| Deployer Allow List | contractDeployerAllowListConfig | 0x0200000000000000000000000000000000000000 |
| Native Minter | contractNativeMinterConfig | 0x0200000000000000000000000000000000000001 |
| Transaction Allow List | txAllowListConfig | 0x0200000000000000000000000000000000000002 |
| Fee Manager | feeManagerConfig | 0x0200000000000000000000000000000000000003 |
| Reward Manager | rewardManagerConfig | 0x0200000000000000000000000000000000000004 |
| Warp Messenger | warpConfig | 0x0200000000000000000000000000000000000005 |
Example Interaction
For example, if contractDeployerAllowListConfig is enabled in the genesis.json:
We can then add an Enabled address to the Deployer Allow List by interacting with the IAllowList interface at 0x0200000000000000000000000000000000000000:
Is this guide helpful?