Skip to Content
f1owdocs
Tool reference

On-Chain Metrics

Total value locked and the fees a chain actually earns, over 24 hours, a week and a month. What the protocol makes, not what it promises.

On-chainonchain_metricsGET /onchain/{symbol}x402 · $0.01 / callRead-only

What it does

On-chain TVL and network fees/revenue (24h/7d/30d) for one chain. Use a chain's own token symbol (e.g. 'ETH', 'SOL', 'BNB') — returns a plain 'not a tracked chain' message for tokens that aren't L1/L2s. Does not cover gas price (gwei).

Parameters

NameTypeDescription
symbolrequiredpathstringChain token symbol, e.g. 'ETH' or 'SOL'

Call it

One API key works for MCP, REST and WebSocket; each call uses one unit. Agents without an account can pay per call with x402.

curl "https://mcp.f1ow.com/v1/onchain/ETH" \
  -H "Authorization: Bearer $F1OW_API_KEY"
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "onchain_metrics",
    "arguments": {
      "symbol": "ETH"
    }
  }
}
const res = await fetch("https://mcp.f1ow.com/v1/onchain/ETH", {
  headers: { Authorization: `Bearer ${process.env.F1OW_API_KEY}` },
});
const data = await res.json(); // the tool's result as JSON, typed in the OpenAPI spec
console.log(data);
import os, requests

res = requests.get(
    "https://mcp.f1ow.com/v1/onchain/ETH",
    headers={"Authorization": f"Bearer {os.environ['F1OW_API_KEY']}"},
)
data = res.json()  # the tool's result as JSON, typed in the OpenAPI spec
print(data)
// wss://mcp.f1ow.com/v1/ws — subprotocol "jsonrpc-2.0", Authorization: Bearer <key>
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "onchain_metrics",
    "arguments": {
      "symbol": "ETH"
    }
  }
}

// Or push a fresh result whenever it changes (minimum interval 15 s)
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "subscriptions/subscribe",
  "params": {
    "name": "onchain_metrics",
    "arguments": {
      "symbol": "ETH"
    },
    "intervalSeconds": 60
  }
}
# No account: the first call answers 402 with a PAYMENT-REQUIRED challenge;
# an x402 client pays it in USDC on Base and retries.
curl "https://mcp.f1ow.com/x402/v1/onchain/ETH"

Sample response

A real response captured 2026-11-13. JSON is what REST and WebSocket return, and the structuredContent of an MCP call (trimmed for length), with generatedAt for freshness. Text is the report an MCP client hands to a model.

Ethereum — TVL $39.41B | Fees 24h $15.24M (+59.42%) | Fees 7d $72.31M | Fees 30d $409.34M
{
  "chain": "Ethereum",
  "fees24hChangePct": 59.42,
  "fees24hUsd": 15243048.05,
  "fees30dUsd": 409341447.629998,
  "fees7dUsd": 72313312.88,
  "tracked": true,
  "tvlUsd": 39408009562.0325,
  "generatedAt": "2026-11-13T08:05:51.0597959+00:00"
}

Call On-Chain Metrics from your agent

Sign in, get an API key and make your first call in under a minute. No card required.

For agents: this page as Markdown · all docs

On this page