Agent402 / tools / defi-chain-tvl-history

DeFi chain TVL history

$0.002 per call · USDC via x402 · POST /api/defi-chain-tvl-history

Daily TVL history for one chain (Ethereum, Base, Solana, Arbitrum...) or for all of DeFi (chain "all") from DefiLlama's free historical chain TVL endpoint: most recent `days` points (default 90, max 3650) as date + TVL in USD, with a summary (latest, first, min, max, mean, change over the window). Unknown chains answer 422. Keyless public data.

TRY IN PLAYGROUND →

Input

FieldTypeDescription
chainstringChain name as DefiLlama spells it (Ethereum, Base, Solana, Arbitrum, Optimism, BSC...) or "all" for total DeFi TVL. Default "all".
daysnumberMost recent days to return (default 90, max 3650).

Example output

{
  "source": "defillama-chain-tvl",
  "fetchedAt": "2026-08-22T12:00:00.000Z",
  "chain": "Base",
  "totalPoints": 1165,
  "count": 2,
  "summary": {
    "latest": 5432285625,
    "first": 5242607753,
    "min": 5242607753,
    "max": 5432285625,
    "mean": 5337446689,
    "changePct": 3.6
  },
  "points": [
    {
      "date": "2026-08-21",
      "tvlUsd": 5242607753
    },
    {
      "date": "2026-08-22",
      "tvlUsd": 5432285625
    }
  ]
}

Try it - see the 402 challenge (free)

curl -i -X POST https://agent402.tools/api/defi-chain-tvl-history \
  -H "Content-Type: application/json" \
  -d '{"chain":"Base","days":7}'

The response is HTTP 402 Payment Required with exact payment requirements. Any x402 v2 client pays automatically and retries:

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/api/defi-chain-tvl-history", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "chain": "Base",
    "days": 7
  }),
});
Wallet-only. This tool reaches the network/browser/storage, so it is paid in USDC via x402 (no proof-of-work tier).

Related tools

Crypto order book

$0.003 · GET /api/crypto-orderbook

L2 order-book snapshot for a spot pair: best bid/ask, mid price, spread (absolute + %), and the top N aggregated price l…

try in playground →

Stablecoin peg monitor

$0.003 · GET /api/stablecoin-peg

Live $1-peg deviation for the top USD stablecoins (USDT, USDC, USDS, DAI, USDe, PYUSD, USDD, TUSD, FDUSD by default, or …

try in playground →

Wallet balance (native + ERC-20)

$0.002 · POST /api/wallet-balance

Look up the native coin balance (ETH/MATIC) plus every ERC-20 holding for a wallet address on Ethereum, Base, Polygon, A…

try in playground →