Smart Contract Verification
Smart contract verification involves submitting the source code of your smart contracts to ensure that the deployed bytecode on the blockchain matches the source code provided. Verification is essential for Tenderly’s development tooling to work properly.
Tenderly supports multiple verification methods.
Dashboard
Simple verifications with limited customization options.
Foundry
For developers using Foundry for smart contract development.
Hardhat
For developers who are already using Hardhat as their dev environment.
Infrastructure compatibility
Tenderly exposes an Etherscan-compliant verification API able to verify contracts that are deployed on:
- Public networks (mainnets and testnets) that are accessible through Node RPC
- TestNets
- DevNets
- Forks
Verification visibility modes
You can verify contracts in two modes of visibility:
- Privately on public networks (mainnets and testnets). Your contracts will be verified only in your Tenderly project and organization.
- Publicly on public networks (mainnets and testnets). This is the default verification method.
Verification mode | All Tenderly Users | Verifier Alliance | Project Collaborators | Organization Members |
---|---|---|---|---|
Public verification on public mainnet and testnets | ||||
Private verification on public mainnet and testnets | ||||
TestNets | ||||
DevNets | ||||
Forks |
Configuring private verification
When verifying with hardhat, it’s necessary to set the config.tenderly.private
flag in hardhat.config.ts
. Contracts will be verified publicly unless you specify this flag.
When verifying with Foundry, the Verifier URL should end with /public
:
## private verification URL
https://api.tenderly.co/api/v1/account/me/project/project/etherscan/verify/network/8253
## public verification URL
https://api.tenderly.co/api/v1/account/me/project/project/etherscan/verify/network/8253/public
The importance of smart contract verification
Having your contracts verified unlocks powerful Tenderly tools designed to streamline your development process. If your smart contract is not verified either privately or publicly, your use of Tenderly tooling will be limited.
- Decoded transactions: Gain insights into transactions with decoded call traces, events, state changes, and gas usage.
- Debugging: Use decoded information for efficient debugging and transaction analysis, making it easier to identify and fix issues.
- Optimization opportunities: Access precise gas usage profiling to identify and implement optimizations, reducing costs and improving performance.
- Enhanced collaboration: Share verified contracts with team members and auditors securely to facilitate collaboration and speed up auditing processes.