x402 market pulse
GET /api/x402-market-pulseLive cross-provider x402 market sentiment. topProviders: the top x402 sellers ecosystem-wide, ranked by REAL on-chain activity (Agent402 included and flagged isSelf:true). Pick the lens with sort: 'usd' (revenue, default - whale-skewable), 'buyers' (distinct paying wallets - broadest adoption/reach), or 'calls' (raw volume). Every row carries all metrics plus callsPerBuyer (intensity), so revenue and actual ecosystem usage are both visible. topToolCategories: the tool-category supply mix the whole market offers (from every indexed seller's manifest). Per-tool purchase counts are not on-chain, so demand is provider-level - the honest whole-market read. ?top=10&sort=buyers
Input
| Field | Type | Description |
|---|---|---|
top | integer | How many top providers to return (1-50, default 10). Agent402's own row is always included at its true rank even if it falls outside this many. |
sort | string | Ranking lens: usd=revenue (default), buyers=distinct paying wallets (reach), calls=raw volume |
Example output
{
"asOf": "2026-07-12T00:00:00.000Z",
"window": "last 24h",
"sortedBy": "usd",
"ecosystem": {
"sellersIndexed": 1479,
"toolsIndexed": 33779,
"toolsCapPerSeller": 50
},
"topProviders": [
{
"rank": 1,
"provider": "blockrun.ai",
"usdSettled": 294.55,
"calls": 353970,
"buyers": 163,
"callsPerBuyer": 2171,
"homepage": "https://blockrun.ai"
}
],
"topToolCategories": [
{
"category": "crypto",
"sellersOffering": 446,
"tools": 3353
}
]
}
Try it - see the 402 challenge (free)
curl -i "https://agent402.tools/api/x402-market-pulse?top=10&sort=usd"
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/x402-market-pulse?top=10&sort=usd");
No wallet? Pay with compute
This is a pure-CPU tool, so an agent without a wallet can pay with proof-of-work instead of USDC: fetch a challenge, solve the sha256 puzzle (16 leading zero bits - a fraction of a second of CPU, no money, no AI tokens), and resend with the X-Pow-Solution header.
import { createHash } from "node:crypto";
const lz = (b) => { let t = 0; for (const x of b) { if (!x) { t += 8; continue; } t += Math.clz32(x) - 24; break; } return t; };
const c = await (await fetch("https://agent402.tools/api/pow/challenge?slug=x402-market-pulse")).json();
let n = 0;
while (lz(createHash("sha256").update(c.challenge + ":" + n).digest()) < c.difficulty) n++;
await fetch("https://agent402.tools/api/x402-market-pulse", { method: "GET", headers: { "X-Pow-Solution": c.token + ":" + n } });
Related tools
x402 quote
GET /api/x402-quoteProbe any URL and decode its HTTP 402 payment requirements (price, asset, network, pay-to) into clean JSON - what an age…
try in playground →USDC balance
GET /api/usdc-balanceRead the USDC balance of any address on Base, Polygon, Arbitrum, Optimism, or Ethereum. Read-only on-chain call. The min…
try in playground →Transaction status
GET /api/tx-statusCheck the confirmation status of a transaction by hash on Base/Polygon/Arbitrum/Optimism/Ethereum/Robinhood Chain: succe…
try in playground →