Works on: public networks (mainnets and testnets). To verify a contract on a Virtual Environment, see Deploy and verify contracts.
Prerequisites
To verify a contract, you need to provide:- The source code
- The exact compiler settings used to compile the deployed version
- JSON Upload: paste the JSON metadata generated by the Solidity compiler.
- ABI Upload: paste the contract ABI.
- Contract Source Upload: paste source code directly, upload a single source file, or upload an entire project directory. The directory option works best for contracts that import other contracts.
Public and private verification
When verifying a contract, you choose between two visibility modes:- Public: the contract source is visible to anyone using Tenderly.
- Private: the contract source is only visible inside the project you verified it in.
Unverified, Public, or Private.
Dashboard contract verification guide
After you’ve added an unverified contract to a Tenderly project, here are the steps to verify it using the Dashboard.1
Find the unverified contract
Open the contract’s page. An unverified contract shows a banner with a Verify Contract button.

2
Choose visibility
Select Public or Private. Private is selected by default, and scopes the verified source to the current project.

3
Choose the upload method
Pick one of:
- JSON Upload
- ABI Upload
-
Contract Source Upload, which opens a submenu: Paste Source Code, Upload Source File, or Upload Project Directory.



4
Select the contract
If the upload contains several contracts, pick the one matching the address shown in the previous step. If any imports are missing, the Dashboard prompts you to add them before continuing.

5
Set the compiler settings
Fill in the compiler version, optimizer settings (enabled / runs), EVM version, ViaIR, and library address pairs if your contract uses linked libraries. Any mismatch with the deployed bytecode will fail verification.

6
Finish
Click Finish to submit. The contract’s verification status and info panel update immediately.

How to verify smart contracts in bulk
If you have several unverified contracts in your project, click Verify All Contracts on the Contracts list. This opens the Verify multiple contracts dialog, listing every unverified contract with a Make Private toggle and an Add source button per row.