Contract Deployer Allowlist
Enable and understand the Contract Deployer AllowList precompile (who can deploy contracts).
Overview
The Contract Deployer AllowList precompile controls who can deploy smart contracts on your Avalanche L1. If an address is not allowed, contract deployment transactions will revert.
This is commonly used to:
- Prevent malicious or unreviewed contract deployments
- Enforce “only approved deployers” policies (CI/CD wallets, audited teams)
- Run curated ecosystems with stronger guarantees
Quick reference
From the docs:
- Precompile address:
0x0200000000000000000000000000000000000000 - Genesis config key:
contractDeployerAllowListConfig - Permission model: uses the AllowList interface
Docs: /docs/avalanche-l1s/precompiles/deployer-allowlist
Genesis activation
To enable it from genesis, include a config block like:
{
"config": {
"contractDeployerAllowListConfig": {
"blockTimestamp": 0,
"adminAddresses": ["0x...yourAdminAddress"]
}
}
}The adminAddresses become AllowList Admins for this precompile.
Summary
Key points:
- Contract Deployer AllowList gates contract deployment at the network level.
- It’s configured at genesis via
contractDeployerAllowListConfig. - It reuses the AllowList permission model (Admin/Manager/Enabled).
Is this guide helpful?