token-verdict.x402supply.com
14 pay-per-call HTTP and MCP tools for AI agents. Pay in USDC on Base via x402. No accounts, no API keys.
The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.
Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.
Live 402 challenge
Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"outputSchema": {
"input": {
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"maxLength": 42,
"minLength": 42,
"description": "Base (chain 8453) ERC20 contract address, 0x plus 40 hex characters"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"address",
"chainId",
"riskScore",
"grade",
"summary",
"coverage",
"checks",
"asOf",
"sources",
"adminPowers",
"issuer"
],
"properties": {
"asOf": {
"type": "string"
},
"grade": {
"type": [
"string",
"null"
]
},
"checks": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"status",
"detail",
"evidence",
"axis"
],
"properties": {
"id": {
"type": "string"
},
"axis": {
"enum": [
"rugRisk",
"adminPowers"
],
"type": "string"
},
"name": {
"type": "string"
},
"detail": {
"type": "string"
},
"status": {
"enum": [
"pass",
"caution",
"fail",
"unknown"
],
"type": "string"
},
"evidence": {
"type": "object"
}
}
}
},
"issuer": {
"type": [
"object",
"null"
],
"properties": {
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"verifiedBy": {
"type": "string"
}
}
},
"address": {
"type": "string"
},
"chainId": {
"type": "integer"
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"coverage": {
"type": "number"
},
"riskScore": {
"type": [
"integer",
"null"
]
},
"adminPowers": {
"type": "object",
"required": [
"level",
"powers",
"note"
],
"properties": {
"note": {
"type": "string"
},
"level": {
"enum": [
"none",
"moderate",
"high"
],
"type": "string"
},
"powers": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
},
"payTo": "0x07fFB5044cF2Cd4352Be4655f578D0ba8cb754EB",
"amount": "10000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 60
}
],
"resource": {
"url": "https://token-verdict.x402supply.com/tools/token_verdict",
"mimeType": "application/json",
"description": "Rug-risk verdict for a Base ERC20 address: 0-100 score, A-F grade, one-line summary, graded checks (ERC20, honeypot selectors, liquidity, market) plus a separate ungraded adminPowers profile (proxy, owner, mint, blacklist, pause), each with raw evidence. No LLM."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"asOf": "2026-10-10T03:08:27.543Z",
"grade": "A",
"checks": [
{
"id": "erc20",
"axis": "rugRisk",
"name": "ERC20 contract",
"detail": "USD Coin (USDC), 6 decimals, supply 4405234499.055562.",
"status": "pass",
"evidence": {
"name": "USD Coin",
"issuer": "Circle",
"symbol": "USDC",
"decimals": 6,
"codeBytes": 1852,
"totalSupply": "4405234499055562",
"totalSupplyFormatted": "4405234499.055562"
}
},
{
"id": "proxy",
"axis": "adminPowers",
"name": "Proxy / upgradeable",
"detail": "Upgradeable OpenZeppelin legacy (zos) proxy, implementation 0x2ce6311ddae708829bc0784c967b7d77d19fd779, admin 0x4fc7850364958d97b4d3f5a08f79db2493f8ca44. Logic can be swapped.",
"status": "caution",
"evidence": {
"admin": "0x4fc7850364958d97b4d3f5a08f79db2493f8ca44",
"upgradeable": true,
"slotStandard": "OpenZeppelin legacy (zos)",
"adminSlotRead": true,
"implementation": "0x2ce6311ddae708829bc0784c967b7d77d19fd779"
}
},
{
"id": "owner",
"axis": "adminPowers",
"name": "Owner privileges",
"detail": "Ownership not renounced, externally owned account (EOA) owner 0x3abd6f64a422225e61e435bae41db12096106df7.",
"status": "caution",
"evidence": {
"owner": "0x3abd6f64a422225e61e435bae41db12096106df7",
"renounced": false,
"ownerIsContract": false
}
},
{
"id": "bytecode",
"axis": "adminPowers",
"name": "Admin functions in bytecode",
"detail": "Selectors found for: mint, blacklist/blocklist, pause.",
"status": "caution",
"evidence": {
"note": "Selector presence shows a function exists in the code, not who can call it or that it is abused.",
"matches": {
"mint": [
"mint(address,uint256)"
],
"pause": [
"pause()",
"unpause()",
"paused()"
],
"blacklist": [
"blacklist(address)",
"isBlacklisted(address)"
]
},
"scanned": [
{
"bytes": 1852,
"label": "token",
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
},
{
"bytes": 23464,
"label": "implementation",
"address": "0x2ce6311ddae708829bc0784c967b7d77d19fd779"
}
],
"groupsFound": [
"mint",
"blacklist",
"pause"
]
}
},
{
"id": "honeypot",
"axis": "rugRisk",
"name": "Honeypot-style signals",
"detail": "No fee/tax setter or max-tx/wallet limit selectors found.",
"status": "pass",
"evidence": {
"note": "Selector presence shows a function exists in the code, not who can call it or that it is abused.",
"matches": {},
"scanned": [
{
"bytes": 1852,
"label": "token",
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
},
{
"bytes": 23464,
"label": "implementation",
"address": "0x2ce6311ddae708829bc0784c967b7d77d19fd779"
}
],
"groupsFound": []
}
},
{
"id": "liquidity",
"axis": "rugRisk",
"name": "DEX liquidity",
"detail": "$54,013,307 across 30 pair(s), top DEX aerodrome, oldest pair 1130.3 days old.",
"status": "pass",
"evidence": {
"topDex": "aerodrome",
"pairCount": 30,
"topPairAddress": "0x6cDcb1C4A4D1C3C6d054b27AC5B77e89eAFb971d",
"oldestPairAgeDays": 1130.3,
"totalLiquidityUsd": 54013306.92,
"oldestPairCreatedAt": "2023-09-05T20:12:19.000Z",
"topPairLiquidityUsd": 43851825.6
}
},
{
"id": "market",
"axis": "rugRisk",
"name": "24h market",
"detail": "24h volume $193,436,586, 24h price change not reported.",
"status": "pass",
"evidence": {
"priceUsd": 0.9998,
"volume24hUsd": 193436586.41,
"priceSourcePair": "0x98c7A2338336d2d354663246F64676009c7bDa97",
"priceChange24hPct": null,
"priceChangeAvailable": false
}
}
],
"issuer": {
"name": "Circle",
"symbol": "USDC",
"verifiedBy": "address listed in known-issuer table and on-chain symbol() matches"
},
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"chainId": 8453,
"sources": [
"https://mainnet.base.org",
"https://api.dexscreener.com/latest/dex/tokens/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
],
"summary": "USDC (0x8335...2913) on Base: rug-risk grade A, 0/100. No rug-risk flags raised. Admin powers (not graded): high, upgradeable proxy, owner not renounced, mint, blacklist, pause. Issuer: Circle.",
"coverage": 1,
"riskScore": 0,
"adminPowers": {
"note": "Informational centralization profile. Not counted in riskScore or grade. Regulated issuers and many legitimate tokens keep these powers.",
"level": "high",
"powers": [
"upgradeable proxy",
"owner not renounced",
"mint",
"blacklist",
"pause"
]
}
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"maxLength": 42,
"minLength": 42,
"description": "Base (chain 8453) ERC20 contract address, 0x plus 40 hex characters"
}
},
"additionalProperties": false
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
}Accepts
The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.
Pay 0.01 USDC on Base to 0x07fF…754EB. The signed payment is good for 1 minute.
- Paid to
- 0x07fF…754EB
- USD Coin contract
- 0x8335…02913
- Payment window
- 1 minute
- As published
- 10000 smallest units
The catalog’s raw entry
[
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"outputSchema": {
"input": {
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"maxLength": 42,
"minLength": 42,
"description": "Base (chain 8453) ERC20 contract address, 0x plus 40 hex characters"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"address",
"chainId",
"riskScore",
"grade",
"summary",
"coverage",
"checks",
"asOf",
"sources",
"adminPowers",
"issuer"
],
"properties": {
"asOf": {
"type": "string"
},
"grade": {
"type": [
"string",
"null"
]
},
"checks": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"status",
"detail",
"evidence",
"axis"
],
"properties": {
"id": {
"type": "string"
},
"axis": {
"enum": [
"rugRisk",
"adminPowers"
],
"type": "string"
},
"name": {
"type": "string"
},
"detail": {
"type": "string"
},
"status": {
"enum": [
"pass",
"caution",
"fail",
"unknown"
],
"type": "string"
},
"evidence": {
"type": "object"
}
}
}
},
"issuer": {
"type": [
"object",
"null"
],
"properties": {
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"verifiedBy": {
"type": "string"
}
}
},
"address": {
"type": "string"
},
"chainId": {
"type": "integer"
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"coverage": {
"type": "number"
},
"riskScore": {
"type": [
"integer",
"null"
]
},
"adminPowers": {
"type": "object",
"required": [
"level",
"powers",
"note"
],
"properties": {
"note": {
"type": "string"
},
"level": {
"enum": [
"none",
"moderate",
"high"
],
"type": "string"
},
"powers": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
},
"payTo": "0x07fFB5044cF2Cd4352Be4655f578D0ba8cb754EB",
"amount": "10000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 60
}
]Extensions
{
"bazaar": {
"info": {
"input": {
"body": {
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"asOf": "2026-10-10T03:08:27.543Z",
"grade": "A",
"checks": [
{
"id": "erc20",
"axis": "rugRisk",
"name": "ERC20 contract",
"detail": "USD Coin (USDC), 6 decimals, supply 4405234499.055562.",
"status": "pass",
"evidence": {
"name": "USD Coin",
"issuer": "Circle",
"symbol": "USDC",
"decimals": 6,
"codeBytes": 1852,
"totalSupply": "4405234499055562",
"totalSupplyFormatted": "4405234499.055562"
}
},
{
"id": "proxy",
"axis": "adminPowers",
"name": "Proxy / upgradeable",
"detail": "Upgradeable OpenZeppelin legacy (zos) proxy, implementation 0x2ce6311ddae708829bc0784c967b7d77d19fd779, admin 0x4fc7850364958d97b4d3f5a08f79db2493f8ca44. Logic can be swapped.",
"status": "caution",
"evidence": {
"admin": "0x4fc7850364958d97b4d3f5a08f79db2493f8ca44",
"upgradeable": true,
"slotStandard": "OpenZeppelin legacy (zos)",
"adminSlotRead": true,
"implementation": "0x2ce6311ddae708829bc0784c967b7d77d19fd779"
}
},
{
"id": "owner",
"axis": "adminPowers",
"name": "Owner privileges",
"detail": "Ownership not renounced, externally owned account (EOA) owner 0x3abd6f64a422225e61e435bae41db12096106df7.",
"status": "caution",
"evidence": {
"owner": "0x3abd6f64a422225e61e435bae41db12096106df7",
"renounced": false,
"ownerIsContract": false
}
},
{
"id": "bytecode",
"axis": "adminPowers",
"name": "Admin functions in bytecode",
"detail": "Selectors found for: mint, blacklist/blocklist, pause.",
"status": "caution",
"evidence": {
"note": "Selector presence shows a function exists in the code, not who can call it or that it is abused.",
"matches": {
"mint": [
"mint(address,uint256)"
],
"pause": [
"pause()",
"unpause()",
"paused()"
],
"blacklist": [
"blacklist(address)",
"isBlacklisted(address)"
]
},
"scanned": [
{
"bytes": 1852,
"label": "token",
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
},
{
"bytes": 23464,
"label": "implementation",
"address": "0x2ce6311ddae708829bc0784c967b7d77d19fd779"
}
],
"groupsFound": [
"mint",
"blacklist",
"pause"
]
}
},
{
"id": "honeypot",
"axis": "rugRisk",
"name": "Honeypot-style signals",
"detail": "No fee/tax setter or max-tx/wallet limit selectors found.",
"status": "pass",
"evidence": {
"note": "Selector presence shows a function exists in the code, not who can call it or that it is abused.",
"matches": {},
"scanned": [
{
"bytes": 1852,
"label": "token",
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
},
{
"bytes": 23464,
"label": "implementation",
"address": "0x2ce6311ddae708829bc0784c967b7d77d19fd779"
}
],
"groupsFound": []
}
},
{
"id": "liquidity",
"axis": "rugRisk",
"name": "DEX liquidity",
"detail": "$54,013,307 across 30 pair(s), top DEX aerodrome, oldest pair 1130.3 days old.",
"status": "pass",
"evidence": {
"topDex": "aerodrome",
"pairCount": 30,
"topPairAddress": "0x6cDcb1C4A4D1C3C6d054b27AC5B77e89eAFb971d",
"oldestPairAgeDays": 1130.3,
"totalLiquidityUsd": 54013306.92,
"oldestPairCreatedAt": "2023-09-05T20:12:19.000Z",
"topPairLiquidityUsd": 43851825.6
}
},
{
"id": "market",
"axis": "rugRisk",
"name": "24h market",
"detail": "24h volume $193,436,586, 24h price change not reported.",
"status": "pass",
"evidence": {
"priceUsd": 0.9998,
"volume24hUsd": 193436586.41,
"priceSourcePair": "0x98c7A2338336d2d354663246F64676009c7bDa97",
"priceChange24hPct": null,
"priceChangeAvailable": false
}
}
],
"issuer": {
"name": "Circle",
"symbol": "USDC",
"verifiedBy": "address listed in known-issuer table and on-chain symbol() matches"
},
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"chainId": 8453,
"sources": [
"https://mainnet.base.org",
"https://api.dexscreener.com/latest/dex/tokens/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
],
"summary": "USDC (0x8335...2913) on Base: rug-risk grade A, 0/100. No rug-risk flags raised. Admin powers (not graded): high, upgradeable proxy, owner not renounced, mint, blacklist, pause. Issuer: Circle.",
"coverage": 1,
"riskScore": 0,
"adminPowers": {
"note": "Informational centralization profile. Not counted in riskScore or grade. Regulated issuers and many legitimate tokens keep these powers.",
"level": "high",
"powers": [
"upgradeable proxy",
"owner not renounced",
"mint",
"blacklist",
"pause"
]
}
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"maxLength": 42,
"minLength": 42,
"description": "Base (chain 8453) ERC20 contract address, 0x plus 40 hex characters"
}
},
"additionalProperties": false
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
}Provenance
- Seen in the source catalog
- 2026-10-12 17:09Z
- Last indexed by Roundhouse
- 2026-10-26 17:50Z
- Last enriched (probe, favicon, geo)
- 2026-10-12 17:45Z
- x402 version
- 2
- Max timeout
- 60s
- Liveness probe
- HTTP 402
Hand this page to an agent
Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.
GET api.roundhouseai.io/v0/endpoints
This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 19 snapshots so far. Verified volume counts only settlements with an on-chain EIP-3009 marker.
Show the promptHide the prompt
Using Roundhouse, look up the x402 service token-verdict.x402supply.com and tell me whether it is worth paying: what a call costs, whether the endpoint answered when last probed, and what its payment record actually shows. curl -s 'https://api.roundhouseai.io/v0/endpoints?q=token-verdict.x402supply.com' curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>' Then call it: read the price from the live 402 at https://token-verdict.x402supply.com/tools/token_verdict, never from a cached figure, and pay with an x402 client. The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except /v0/unified* and /v0/endpoints. Either pay over x402 (mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402), or ask me for an organization key, which I create at https://roundhouseai.io/dashboard/connections. If you have neither, ask before going further. If you do not have Roundhouse tools or skills installed, read https://roundhouseai.io/skill.md first — it is the whole procedure.