Skip to main content
Learn how to add a smart contract to a project and keep track of its transactions in the Dashboard. When you add a contract, you’ll see a list of all historical transactions (direct and internal) linked to that contract. Contract page header info and tabs

How to add a contract to a project

  1. Navigate to Contracts in the side menu.
  2. Click Add Contract.
  3. Enter the contract address, select its deployment network, assign a name, and click Add Contract.
Adding a contract Try adding one of these contracts to your project to get started. Open the contract in Tenderly, click the Add to Project button and add it to an existing project. Learn how to create projects in Tenderly here.

Looking up any verified contract

The Dashboard’s search functionality allows you to locate any verified contract deployed on any of the 104 supported networks, whether or not it’s in one of your projects. Searching for a contract
  1. Paste the contract’s address or name in the top menu search bar.
  2. Select the contract from the search results.
Search results dropdown This opens the same contract details page described below, reached via a /contract/<network>/<address> URL instead of a project path. A handful of project-only elements are missing since the contract isn’t in a project yet: there’s no Tags field, the ... menu only has View in Public Explorer, and the header shows Add to Project instead of Convert to Proxy. Public contract lookup header To add the contract to a project, click Add to Project and choose your target project.

Contract details

Opening a contract, whether from your project’s Contracts page or from a lookup, shows a header info panel followed by six tabs: Transactions, Simulations, Source code, Read/Write, Events, and Multichain assets. The header info panel shows the network, contract type (Contract or Proxy Contract), ETH balance and value, deployment address and transaction, deployment timestamp, tags, verification status and type, optimizations and optimization runs, Solidity version, compiler, and EVM version. The ... menu next to the contract name has View in Public Explorer, Hide from transaction listing, and Remove contract. Contract header menu

Transactions

Lists every direct and internal transaction involving the contract, with the same filters as a wallet’s transaction list: All, Direct, Internal, Token asset transfers, and NFT asset transfers, plus Columns and Filters controls. Transactions tab with filters

Simulations

Shows the contract’s simulated transaction history, and lets you launch a new simulation directly against the contract.

Source code

Shows the verified source across six sub-tabs: Source Code, Compiler Settings, Contract ABI, Contract Creation Code, Deployed Bytecode, and Contract Source Map. Source code tab with sub-tabs

Read/Write

Lists every contract function, grouped into Read and Write sub-tabs, with a Connect Wallet button, a function search box, and per-function actions: run it, copy as cURL, read at a specific block, open in Simulator, share, or view in source. Read/Write tab Proxy contracts get two additional sub-tabs, Read as Proxy and Write as Proxy, which call the functions through the proxy’s delegated implementation. See Proxy contracts below.

Events

Lists decoded events emitted by the contract, with an event type filter, a block range filter, a “Hide zero values” switch, and an expand-all option.

Multichain assets

Shows the contract’s token and NFT balances across networks, with Token/NFT sub-tabs, a group-by option, a “Hide zero balances” switch, and a search box. Multichain assets tab

Adding tags to contracts

When working with multiple contracts, you need a way to keep them organized. This is where tags come in handy. You can add a tag to a contract by clicking the Add Tag link. Tags also enable you to monitor multiple contracts or wallets grouped under a single tag using Alerts. Tagging contracts

Monitoring contracts with Alerts

Click Create Alert from a contract’s page to set up an Alert for it. See the Alerting Quickstart Guide for the full setup flow and Alert Types, Targets, and Parameters for the available triggers.

Proxy contracts

Tenderly detects EIP-1967 and EIP-1167 proxies automatically. A detected proxy shows Type: Proxy Contract and an Implementation field with the current delegate address. Proxy contract header, single implementation When Tenderly has recorded more than one implementation address over time, an icon next to the Implementation field opens a Proxy Contract Implementations dialog listing the current implementation followed by prior ones, most recent first. Proxy contract header with implementation history icon Proxy Contract Implementations dialog Proxy contracts also get Read as Proxy and Write as Proxy sub-tabs on the Read/Write tab, calling functions through the delegated implementation instead of the proxy itself. Read as Proxy / Write as Proxy tabs

Non-standard proxy implementations

For non-standard solutions, you’ll need to manually convert the contract to a proxy. Click the Convert to Proxy button on the top right of the contract’s page. Contract proxy button Set the storage slot containing the implementation address, or pick a view function that returns the implementation address. Contract proxy modal