Skip to Content
Metrics

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.

PanelShows
HoldingsAsset balances and TVL, by chain and by asset.
ActivityTransactions and revert rate, per contract.
FlowValue in and out, per contract.

Kinds

KindReadsInputs
Function callThe result of a view or pure functionFunction from the verified ABI, arguments, return value to record, display decimals
Native balanceThe address’s native balance
ERC20 balanceThe address’s balance of a tokenToken
Total supplyAn ERC-20’s totalSupply()
Balance ofAn ERC-20’s balanceOf(holder)Holder
TVLThe contract’s total value locked, USD
Method callsCalls to a method over a windowMethod, window, caller filter
Method revertsReverted calls over a windowMethod, window, caller filter
Method revert rateReverts ÷ calls over a windowMethod, window, caller filter
Method callersDistinct callers over a windowMethod, window, caller filter
Method gas p9595th-percentile gas per call over a windowMethod, 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

  1. Open Metrics and select Track metric.
  2. Choose the chain and address. Watched contracts are suggested; any address is accepted.
  3. Choose the kind and its inputs.
  4. 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 15m

See 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.

Last updated on