- Decoded transactions: call traces, events, state changes, and gas usage become human-readable.
- Debugger: step through execution against the original Solidity, set priorities, and comment on traces.
- Gas profiler: line-level gas attribution against the source.
- Sharing: share verified contracts with collaborators and auditors.
Pick a method
For verification on public networks (mainnets and testnets), pick the guide that matches your tooling:- Dashboard: browser-only verification from the Tenderly Dashboard.
- Foundry:
forge verify-contractand deploy-and-verify withforge create/forge script. - Hardhat: the
@tenderly/hardhat-tenderlyplugin, automatic or manual. - Hardhat (proxy contracts): UUPS, Transparent, and Beacon proxies.
Public vs private visibility
On public networks you choose between two visibility modes:- Public verification. Source is visible to everyone on Tenderly and propagated to public verification registries.
- Private verification. Source is visible only inside your Tenderly project and organization.
| Who can see the verified source | Public verification (public network) | Private verification (public network) | Virtual Environment |
|---|---|---|---|
| All Tenderly users | ✓ | ||
| Project collaborators | ✓ | ✓ | ✓ |
| Organization members | ✓ | ✓ | ✓ |
- Hardhat: set
tenderly.privateVerification: trueinhardhat.config.ts. See Hardhat setup. - Foundry: append
/publicto the verifier URL to verify publicly, omit it to verify privately. See Foundry verifier URL. - Dashboard: toggle Make Private in the verification dialog. See Dashboard verification.