Anthropic Messages API billed per request from what the call costs: the 402 quotes exact-B
Anthropic Messages API billed per request from what the call costs: the 402 quotes exact-BPE input (system + messages + tools) plus your max_tokens at the model's list price, times 1.15, from $0.001 up to a $2 per-call cap. Point the Anthropic SDK (or any Messages-format client) at base_url https://agent402.tools/v1/metered. Any model from the flat tiers (GET /v1/models). Pay the quote over x402 exact, or authorize it as a ceiling over upto, credits or card and settle actual usage.
1885 (raw units)
price
46
calls / 30d
1
unique payers
2026-09-18
updated
Provider
agent402.tools · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "1885",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:137",
"payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"amount": "1885",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:42161",
"payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"amount": "1885",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:143",
"payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
"asset": "0x754704Bc059F8C67012fEd69BC8A327a5aafb603",
"amount": "1885",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:43114",
"payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
"asset": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
"amount": "1885",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:1329",
"payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
"asset": "0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392",
"amount": "1885",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:10",
"payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
"asset": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
"amount": "2885",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:4663",
"payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
"asset": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",
"amount": "1885",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:42220",
"payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
"asset": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C",
"amount": "1885",
"maxTimeoutSeconds": 300
},
{
"scheme": "upto",
"network": "eip155:8453",
"payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "1885",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "J7aN3PLJnTCF5qpEnvJHJsnCjcGuqC2rYtEM8Gv3xwg",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "1885",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "stellar:pubnet",
"payTo": "GDNJXCKW7ZM7GEEVP674TWPU26YJNBQ2FI4ZIPRKTPTNUEJMDHFJWWRL",
"asset": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75",
"amount": "18850",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=",
"payTo": "C7IIHG7SPLPZ5H7ZT6HW3UV2OQMQQE6Y2HBNGZXSLRJULE42BEE2OY2XIE",
"asset": "31566704",
"amount": "1885",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"max_tokens": 256,
"messages": [
{
"content": "Summarize x402 in one sentence.",
"role": "user"
}
],
"model": "anthropic/claude-haiku-4.5"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"content": [
{
"text": "x402 is an HTTP-native way for agents to pay per request with USDC.",
"type": "text"
}
],
"id": "msg_…",
"model": "anthropic/claude-sonnet-5",
"role": "assistant",
"stop_reason": "end_turn",
"type": "message",
"usage": {
"input_tokens": 14,
"output_tokens": 18
}
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"effort": {
"description": "Optional depth control for Claude 4.7+ (Opus 5, Sonnet 5, Fable 5.1): low | medium | high | xhigh | max, validated against the model's own list (GET /v1/models). Not accepted on Haiku 4.5 and older, which take thinking.budget_tokens instead",
"type": "string"
},
"max_tokens": {
"description": "Required by the Messages API; clamped to the tier's output cap",
"type": "integer"
},
"messages": {
"description": "Anthropic messages: {role: user|assistant, content: string | [text|image|tool_use|tool_result blocks]}",
"type": "array"
},
"model": {
"description": "Model id (OpenRouter naming, e.g. anthropic/claude-sonnet-5) - allowlisted per tier; omit (or \"auto\") on the auto tier",
"type": "string"
},
"stream": {
"description": "Anthropic SSE (message_start … message_stop)",
"type": "boolean"
},
"system": {
"description": "Optional system prompt (string or text blocks)",
"type": "string"
},
"thinking": {
"description": "Optional {type:\"enabled\", budget_tokens} | {type:\"adaptive\"} | {type:\"disabled\"} - thinking tokens are output tokens. On Claude 4.7+ (Opus 5, Sonnet 5, Fable 5.1) thinking is adaptive and `effort` is the depth control; a budget_tokens value is advisory there",
"type": "object"
},
"tools": {
"description": "Optional client tools {name, description, input_schema}; server/built-in tools are not served",
"type": "array"
},
"zdr": {
"description": "Optional - zero-data-retention providers only",
"type": "boolean"
}
},
"required": [
"max_tokens",
"messages"
]
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"content": {
"items": {
"properties": {
"text": {
"type": "string"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"model": {
"type": "string"
},
"role": {
"type": "string"
},
"stop_reason": {
"type": "string"
},
"type": {
"type": "string"
},
"usage": {
"properties": {
"input_tokens": {
"type": "integer"
},
"output_tokens": {
"type": "integer"
}
},
"type": "object"
}
},
"required": [
"id",
"type",
"role",
"model",
"content",
"stop_reason",
"usage"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
},
"builder-code": {
"info": {
"a": "bc_b4aw4uzd"
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"a": {
"description": "App builder code",
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
},
"s": {
"description": "Service builder codes",
"items": {
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
},
"maxItems": 11,
"type": "array"
},
"w": {
"description": "Wallet builder code",
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
}
},
"type": "object"
}
},
"payment-identifier": {
"info": {
"required": false
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"maxLength": 128,
"minLength": 16,
"pattern": "^[a-zA-Z0-9_-]+$",
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"required"
],
"type": "object"
}
}
}Use it
curl
curl "https://agent402.tools/v1/metered/messages" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://agent402.tools/v1/metered/messages");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://agent402.tools/v1/metered/messages")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/1676.json, and this resource appears in /discovery/resources and /discovery/search.