Skip to main content
Contract verification submits the source code of a deployed contract so Tenderly can match it against the on-chain bytecode. Once verified, Tenderly can decode that contract’s transactions, events, and state changes in:
  • 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.
Without verification you’ll see raw bytecode in every Tenderly tool that touches that contract.

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-contract and deploy-and-verify with forge create / forge script.
  • Hardhat: the @tenderly/hardhat-tenderly plugin, automatic or manual.
  • Hardhat (proxy contracts): UUPS, Transparent, and Beacon proxies.
To verify contracts on a Virtual Environment, see Deploy and verify contracts and Verify proxy contracts with Foundry under Virtual Environments.

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.
On Virtual Environments verifications are always scoped to your project and organization. There is no public mode; see Deploy and verify contracts. How to switch to private mode depends on the method:
  • Hardhat: set tenderly.privateVerification: true in hardhat.config.ts. See Hardhat setup.
  • Foundry: append /public to 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.