Metrics
A metric is an on-chain value recorded over time. Metrics lists every tracked value with its type, contract, chain, current value and 24h change. Each metric has a chart and a log of readings, with the transaction behind each change where available.
Monitors read metrics. Adding a monitor on a value that isn’t tracked tracks it.
Built-in panels
Three panels cover every watched contract.
| Panel | Shows |
|---|---|
| Holdings | Asset balances and TVL, by chain and by asset. |
| Activity | Transactions and revert rate, per contract. |
| Flow | Value in and out, per contract. |
Kinds
| Kind | Reads | Inputs |
|---|---|---|
| Function call | The result of a view or pure function | Function from the verified ABI, arguments, return value to record, display decimals |
| Native balance | The address’s native balance | |
| ERC20 balance | The address’s balance of a token | Token |
| Total supply | An ERC-20’s totalSupply() | |
| Balance of | An ERC-20’s balanceOf(holder) | Holder |
| TVL | The contract’s total value locked, USD | |
| Method calls | Calls to a method over a window | Method, window, caller filter |
| Method reverts | Reverted calls over a window | Method, window, caller filter |
| Method revert rate | Reverts ÷ calls over a window | Method, window, caller filter |
| Method callers | Distinct callers over a window | Method, window, caller filter |
| Method gas p95 | 95th-percentile gas per call over a window | Method, window, caller filter |
Total supply and Balance of are offered for token contracts. Watching an ERC-4626 vault tracks its share price automatically.
Method telemetry
The method kinds count calls that reached the contract, including calls through other contracts, for one method or all methods. Each is measured over a trailing window of 5m, 15m, 1h, 6h or 24h and refreshed every minute. Calls can be filtered by caller: only the given addresses, or all except them.
Available on Ethereum, Arbitrum, Avalanche and Sepolia.
Track a metric
- Open Metrics and select Track metric.
- Choose the chain and address. Watched contracts are suggested; any address is accepted.
- Choose the kind and its inputs.
- Optionally set a label.
Balance, supply and function-call metrics are backfilled on creation. Tracking a value that is already tracked returns the existing metric. A metric can also be tracked from the Metrics section of a contract’s dashboard.
contract.dev track 0xVault… function --function "totalAssets() returns (uint256)" --decimals 18
contract.dev track 0xToken… total-supply --label "USDC supply"
contract.dev track 0xPool… revert-rate --method "swap(address,bool,int256,uint160,bytes)" --window 15mSee track in the CLI reference.
Metric page
- Chart over the selected range, with pan and zoom.
- Current value, 24h change, minimum and maximum over the range.
- Readings: each recorded change, with block and transaction where available. Transactions link to the explorer.
- The number of monitors reading the metric.
Manage
Rename, change display decimals or untrack from the list or the metric page. Changing decimals re-scales existing history. Untracking deletes the monitors that read the metric. Pause and resume are available from the CLI.
Filter the list by type, by whether a metric has a monitor, and by chain. contract.dev metrics export writes a metric’s history as CSV or JSON.