Token total supply
GET /api/chain/total-supplyThe circulating total supply of an ERC-20, read from the token contract itself rather than from an aggregator, so it is the number the chain holds at the block you asked for. Returns the raw uint256 and the same figure formatted with the token's own decimals. A contract that does not implement totalSupply answers 422 rather than a fabricated zero. EVM chains: ethereum, base, polygon, arbitrum, optimism.
Input
| Field | Type | Description |
|---|---|---|
contract * | string | 0x ERC-20 token contract address |
network | string | ethereum | base | polygon | arbitrum | optimism (default base) |
Example output
{
"contract": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"network": "base",
"totalSupply": "4182993441205067",
"decimals": 6,
"totalSupplyFormatted": "4182993441.205067"
}
Try it - see the 402 challenge (free)
curl -i "https://agent402.tools/api/chain/total-supply?contract=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&network=base"
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";
import { metaTitle, metaDescription } from "./seo-meta.js";
const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://agent402.tools/api/chain/total-supply?contract=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&network=base");
Related tools
Crypto order book
GET /api/crypto-orderbookL2 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
GET /api/stablecoin-pegLive $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)
POST /api/wallet-balanceLook up the native coin balance (ETH/MATIC) plus every ERC-20 holding for a wallet address on Ethereum, Base, Polygon, A…
try in playground →