Test Transaction Allowlist
Hands-on exercise: Verify the Transaction Allowlist precompile is active and manage roles.
Objectives
By the end of this exercise, you will be able to:
- Verify the Transaction Allowlist precompile is active on your L1
- Confirm your wallet has Admin permissions
- Read and modify allowlist roles using the Builder Console
Prerequisites
Before starting this exercise, ensure you have:
- Completed the L1 creation with Transaction Allowlist enabled at genesis
- Your Docker-hosted node is running and synced
- Core Wallet connected to your custom L1
- Your wallet address was added as an admin in the genesis config
Instructions
Step 1: Open the Transaction Allowlist tool
Connect to your custom L1 and open the Transaction Allowlist tool:
Checking requirements...
Expected Result: The tool should load the full UI. If you see "not available" or "not activated", the precompile was not enabled at genesis.
Step 2: Verify your Admin role
- Select
readAllowList - Paste your wallet address
- Execute the read
Expected Result: Your role should show as Admin (value 2).
Role values: 0 = None, 1 = Enabled, 2 = Manager, 3 = Admin
Step 3: Test adding an Enabled address
As an Admin, you can grant permissions to other addresses:
- Select
setEnabled - Enter a test address (can be any valid Ethereum address)
- Execute the transaction and confirm in Core Wallet
After the transaction confirms, use readAllowList on that address to verify it now shows Enabled.
Step 4: Test sending a transaction
In Core Wallet (connected to your custom L1):
- Send a small amount of native token to any address
- The transaction should succeed since your wallet is authorized
If the transaction fails with an authorization error, double-check that your wallet address is in the admin list and the precompile is activated.
Expected Output
- The Transaction Allowlist tool renders the full UI (not "not available")
- Your wallet reads as Admin (role
2or3) - You can successfully grant Enabled status to another address
- Transactions from your wallet succeed
Verification
To verify you've completed this exercise successfully:
readAllowListfor your wallet returns Admin- You successfully called
setEnabledfor a test address - A transaction from your wallet was confirmed on-chain
Troubleshooting
Issue: Tool shows "not available"
Problem: The Transaction Allowlist tool shows the precompile is not activated.
Solution: The precompile was not enabled at genesis. You'll need to either:
- Recreate the L1 with the precompile enabled, or
- Use a network upgrade to activate it (covered in a later section)
Issue: readAllowList shows None for my wallet
Problem: Your wallet address is not recognized as an admin.
Solution: Verify the address in your genesis config matches your connected wallet exactly (case-insensitive but must be a valid checksum address).
Next Steps
Next, test the Contract Deployer Allowlist to verify you can control who deploys smart contracts on your L1.
Is this guide helpful?
