x402 Checker (AI Nock)
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Free check/board/name; paid bid/report 0.05, 1c fx/wx/lookups, news 0.001.
| Author | io.github.nock-for-mak |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 174 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"x402 Checker (AI Nock)": {
"url": "https://x402-checker.nock-for-mak.workers.dev/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (43)
checkread-onlyFREE x402 wash/honesty probe by AI Nock. Fetches an http(s) 402 URL with no payment headers. Returns payTo, amount, network, asset, facilitator if present, payToKind, a short risk note, and JSON next always: report $0.05, bid $0.05, name $0.05, board free, check_batch $0.01, quote $0.01; when has402, report/bid URLs are prefilled and next.sanctions $0.01. Use before paying any x402 resource. Does not spend money.
Parameters:
url(required) — string — http(s) URL to inspect. No payment headers are sent to the target.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
check_batchread-onlyPaid $0.01 USDC exact on Base: batch x402 honesty probes (max 10 URLs). Each result is the same shape as free check (next.report $0.05, next.bid $0.05, next.name $0.05, next.board free, next.check_batch $0.01; when has402 also next.sanctions $0.01). GET /check stays free for one URL. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0. REST POST /check/batch is the same SKU.
Parameters:
urls(required) — array — 1-10 public http(s) URLs. Same SSRF-safe rules as check. No payment headers are sent to the targets.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
reportread-onlyPaid $0.05 USDC exact on Base: structured honesty report for this 402 (well-known payTo match, header vs body 402, bytecode snippet hash, accepts[] list). payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0. REST GET /report is the same SKU.
Parameters:
url(required) — string — http(s) URL to inspect. No payment headers are sent to the target.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
whoread-onlyPaid $0.01 USDC exact on Base: isContract, ETH balance, USDC balance, tx count for an address. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
address(required) — string — 0x-prefixed 20-byte EVM address on Base (or Solana/base58 for sanctions).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
mdread-onlyPaid $0.01 USDC exact on Base: fetch a public http(s) URL and return simple HTML-to-text markdown. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
url(required) — string — http(s) URL to inspect. No payment headers are sent to the target.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
headersread-onlyPaid $0.01 USDC exact on Base: raw HTTP header dump of a public URL (not an honesty probe, not markdown). payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
url(required) — string — http(s) URL to inspect. No payment headers are sent to the target.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
jsonread-onlyPaid $0.01 USDC exact on Base: validate JSON data against a JSON Schema (tiny built-in subset, no $ref). payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
schema(required) — JSON Schema object or JSON textdata(required) — JSON instance object or JSON text
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
sanctionsread-onlyPaid $0.01 USDC exact on Base: OFAC SDN digital-currency screen for an EVM 0x or Solana/base58 address. Fail closed. Not legal advice. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
address(required) — string — 0x-prefixed 20-byte EVM address on Base (or Solana/base58 for sanctions).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
domainread-onlyPaid $0.01 USDC exact on Base: DNS/RDAP/TLS/SPF/DMARC dossier for a public hostname. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
host(required) — string — Public DNS hostname (not a URL, not an IP).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
ensread-onlyPaid $0.01 USDC exact on Base: resolve an ENS or Basename (must end in .eth, including foo.base.eth). Public HTTP resolvers. Unresolved names return resolved:false after payment. Not POST /name (that is this origin's 30-day agent registrar). payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
name(required) — string — ENS name ending in .eth (vitalik.eth, foo.base.eth).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
redirectread-onlyPaid $0.01 USDC exact on Base: follow Location redirects for a public http(s) URL (manual, max 8 hops, SSRF-safe). Returns chain, finalUrl, hopCount. No meta-refresh. No payment headers. Not /headers. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
url(required) — string — Public http(s) URL to unwrap.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
gasread-onlyPaid $0.01 USDC exact on Base: live Base gas oracle via public RPC (gasPrice, maxPriorityFee, feeHistory). Optional chain=base. Returns gwei fields + suggestedMaxFee. Read-only. No API keys. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
chain— string — Chain short name. Optional; only base for now.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
priceread-onlyPaid $0.01 USDC exact on Base: spot USD quotes via public DeFiLlama. Default ids=ETH,USDC,BTC. Optional ids= aliases (ETH,USDC,BTC,SOL,WETH,LINK,AAVE,UNI,DAI) and/or token= Base 0x (max 8). Cache ~45s. Not investment advice. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
ids— string — Comma-separated symbols. Default ETH,USDC,BTC. Max 8.token— string — Optional Base ERC-20 0x address.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
txread-onlyPaid $0.01 USDC exact on Base: transaction + receipt for a 0x hash via public RPC. Returns found, from, to, valueEth, status, gasUsed, logsCount, pending. Unknown hash is paid 200 with found:false. inputLen only. Not a mempool tip. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
hash(required) — string — 0x-prefixed 32-byte transaction hash on Base.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
blockread-onlyPaid $0.01 USDC exact on Base: block header via public RPC. Default n=latest. Accepts latest|earliest|safe|finalized, a decimal, 0x number, or hash=. Rejects pending. Returns number, hash, timestamp, miner, txCount, gasUsed, gasLimit, baseFee. Unknown id is paid 200 with found:false. No full txs. Not a mempool tip. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
n— string — Block tag or number. Default latest.hash— string — Optional 0x-prefixed 32-byte block hash.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
sslread-onlyPaid $0.01 USDC exact on Base: TLS cert facts (public CT + live HTTPS HEAD) for a public hostname. Returns issuer, dates, SANs, daysRemaining, currentlyValid, liveHttps. Not the full /domain dossier. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
host(required) — string — Public DNS hostname (not a URL, not an IP).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
tokenread-onlyPaid $0.01 USDC exact on Base: ERC-20 metadata via public RPC (name, symbol, decimals, totalSupply). address= required. EOA/empty code is paid 200 with found:false. Not a spot price (use /price). Not a wallet balance (use /who). payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
address(required) — string — 0x-prefixed 20-byte ERC-20 contract address on Base.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
sigread-onlyPaid $0.01 USDC exact on Base: 4-byte function selector lookup via public openchain.xyz (4byte.directory fallback). hex= / selector= / data= (first 4 bytes). Unknown selector is paid 200 with found:false. Complements /tx (inputLen only). Not a full ABI decoder. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
hex(required) — string — 0x-prefixed 4-byte selector, or longer calldata (first 4 bytes used).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
pmread-onlyPaid $0.01 USDC exact on Base: Polymarket market odds via public gamma-api. q= search or slug= event/market slug (not both). Optional limit=1..5. Unknown is paid 200 with found:false. Read-only. No trading. Not investment advice. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
q— string — Search query (max 80). Use q or slug, not both.slug— string — Exact Polymarket event or market slug (lowercase [a-z0-9-]).limit— integer — Max markets 1-5 (default 5).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
fngread-onlyPaid $0.01 USDC exact on Base: Crypto Fear & Greed Index via public alternative.me. Optional limit=1..30 (default 1). Not investment advice. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
limit— integer — History length 1-30 (default 1 = current).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
tsecread-onlyPaid $0.01 USDC exact on Base: token security snapshot via public honeypot.is + DexScreener. address=0x required. Optional chain=base|eth|bsc (default base). Not a full audit. Not investment advice. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
address(required) — string — Token contract 0x + 40 hex.chain— string — base, eth, or bsc (default base).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
dexread-onlyPaid $0.01 USDC exact on Base: DexScreener pairs by token address=0x or search q=. Optional chain= filter. Ranked by liquidityUsd (max 5). Not investment advice. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
q— string — Search query (search mode).chain— string — Optional chain filter (default base for address mode).address— string — Token contract 0x + 40 hex (token mode).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
nowread-onlyPaid $0.01 USDC exact on Base: UTC clock (unix, ms, iso). No params. Alias of REST GET /now and /time. For IANA zones use tool tz. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
findread-onlyPaid $0.01 USDC exact on Base: search this origin's free + paid catalog by keyword q=. Optional limit=1..20. House discovery (board/bid/name + SKUs). Not a global index. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
q(required) — string — Search keywords (e.g. gas, token security, board).limit— integer — Max results 1..20 (default 8).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
georead-onlyPaid $0.01 USDC exact on Base: forward geocode with q= or reverse with lat=&lon= via public Nominatim (OpenStreetMap). Attribution required. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
q— string — Place name for forward geocode (e.g. Denver, CO).lat— number — Latitude -90..90 for reverse geocode.lon— number — Longitude -180..180 for reverse geocode.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
fxread-onlyPaid $0.01 USDC exact on Base: fiat FX via Frankfurter/ECB. from= (default USD), to= comma list (default EUR), amount= (default 1). Fiat only — use /price for crypto. Not investment advice. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
to— string — Quote ISO currencies, comma-separated (default EUR).from— string — Base ISO currency (default USD).amount— number — Amount of from-currency (default 1).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
wxread-onlyPaid $0.01 USDC exact on Base: current weather via public Open-Meteo. q= place and/or lat=&lon=. Optional units=metric|us. Attribution required. Complements /geo /tz. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
q— string — Place name (e.g. Denver, CO).lat— number — Latitude -90..90.lon— number — Longitude -180..180.units— string — metric (default) or us.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
quoteread-onlyPaid $0.01 USDC exact on Base: equity/index/FX/crypto quote via public Yahoo Finance chart. symbol= (AAPL, ^GSPC, EURUSD=X, BTC-USD). Complements /price /fx. Not investment advice. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
symbol(required) — string — Ticker: equity (AAPL), index (^GSPC), FX (EURUSD=X), crypto (BTC-USD).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
hnread-onlyPaid $0.01 USDC exact on Base: Hacker News search via public Algolia HN API. q= required. Optional tags=story|comment|ask_hn|show_hn|poll|job|front_page|all, sort=relevance|date, hits=1..8. Complements /crypto-news. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
q(required) — string — Search phrase (aliases query= search=).hits— integer — 1..8 results (default 5).sort— string — relevance (default) or date.tags— string — story (default), comment, ask_hn, show_hn, poll, job, front_page, or all.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
arxivread-onlyPaid $0.01 USDC exact on Base: academic paper search via public arXiv Atom API. q= required (or id=2605.11781). Optional cat=cs.CR, sort=relevance|date|updated, hits=1..8. Metadata only; no PDF fetch. Complements /hn. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
q— string — Search phrase (aliases query= search=). Required unless id=.id— string — arXiv id (2605.11781 or arXiv:2605.11781).cat— string — arXiv category, e.g. cs.CR or cs.AI.hits— integer — 1..8 results (default 5).sort— string — relevance (default), date, or updated.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
soread-onlyPaid $0.01 USDC exact on Base: Stack Overflow Q&A search via public Stack Exchange API. q= required (or id= question id). Optional tagged=javascript, sort=relevance|votes|activity|creation, hits=1..8. Stack Overflow only. Complements /hn and /arxiv. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
q— string — Search phrase (aliases query= search=). Required unless id=.id— string — Stack Overflow question id (digits).hits— integer — 1..8 results (default 5).sort— string — relevance (default), votes, activity, or creation.tagged— string — Up to 3 tags, comma-separated.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
cveread-onlyPaid $0.01 USDC exact on Base: CVE / NVD vulnerability lookup via public NIST NVD 2.0. id=CVE-2021-44228 or q=log4j. Optional severity=low|medium|high|critical, hits=1..8. NVD-only metadata; no exploit/PoC. Complements /sanctions /tsec. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
q— string — Keyword search (aliases query= search= keyword=). Required unless id=.id— string — CVE id (CVE-YYYY-NNNN). Aliases cve= cve_id=. Required unless q=.hits— integer — 1..8 results (default 5).severity— string — low, medium, high, or critical.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
ghread-onlyPaid $0.01 USDC exact on Base: GitHub public REST lookup via api.github.com (keyless). mode=search|repo|user (default search). search: q=. repo: owner=&repo= or full=owner/repo. user: user= or login=. Public metadata only; no token, no private repos. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
q— string — Repo search query (aliases query= search=). Required for mode=search.full— string — owner/repo or github.com/owner/repo URL.hits— integer — 1..8 results (default 5).mode— string — search (default), repo, or user.repo— string — GitHub repository name. Use with owner=.user— string — GitHub login (aliases login=). For mode=user.owner— string — GitHub owner/org. Use with repo=.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
wikiread-onlyPaid $0.01 USDC exact on Base: Wikipedia lead summary via public Wikimedia REST + MediaWiki search. q= search or title= page title (wikipedia.org URLs ok). Optional lang=en|simple, hits=1..8. Lead extract only, CC BY-SA. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
q— string — Search query (aliases query= search=). Required unless title=.hits— integer — 1..8 search results (default 5).lang— string — en (default) or simple.title— string — Direct page title or wikipedia.org/wiki/Title URL. Alias page=.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
emailread-onlyPaid $0.01 USDC exact on Base: email syntax + MX via DoH (no SMTP). Disposable domains and MX-absent = invalid. Fail closed on lookup errors. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
addr(required) — string — Email address (local@public-hostname). Max 254 chars.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
bizdaysread-onlyPaid $0.01 USDC exact on Base: US federal business-day calendar. date=YYYY-MM-DD (default today UTC) or start=&end= range (cap 366). Holidays 2025-2027 baked in, observed weekday rules. No API keys. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
tz— string — IANA timezone. Default America/Denver.end— string — Range end YYYY-MM-DD (inclusive). Requires start. Cap 366 days.date— string — YYYY-MM-DD. Optional; default today UTC.start— string — Range start YYYY-MM-DD (inclusive). Requires end.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
tzread-onlyPaid $0.01 USDC exact on Base: IANA timezone clock. name=America/Denver (default). Returns now, UTC offset, DST. No API keys. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
name— string — IANA timezone name. Optional; default America/Denver.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
cronread-onlyPaid $0.01 USDC exact on Base: unix cron parser. expr required. Optional tz (default UTC) and n (1-20, default 5). Returns next fire times in UTC and America/Denver. No API keys. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
expr(required) — string — Unix crontab 5-field (minute hour day-of-month month day-of-week).n— integer — Next fire count 1-20. Default 5.tz— string — IANA timezone the cron is interpreted in. Default UTC.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
crypto_newsread-onlyPaid $0.001 USDC exact on Base: public crypto RSS recap (CoinDesk, The Block, Decrypt, Base blog). Optional topic filter. Cache ~15 minutes. No API keys. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0.
Parameters:
topic— string — Optional case-insensitive filter on title/summary/source. Max 80 chars.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
boardread-onlyFREE pay-to-rank board by AI Nock. Rank listings by USDC bid total in the last 24 hours. Empty JSON still sells: how/next point at unpaid POST /bid $0.05, POST /name $0.05, free GET /check (listing gate), GET /find $0.01. payTo on the JSON. No self-pay. Does not spend money. REST GET /board is the same SKU.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
name_lookupread-onlyFREE ENS-style agent name lookup by AI Nock. n= lowercase [a-z0-9-] 3-32. If unset/unclaimed: taken false plus how/next pointing at unpaid POST /name $0.05 (HTTP 402), free GET /board, free GET /check (origin gate), GET /find $0.01. payTo + noSelfPay + TTL 30d. If set: origin, ownerHint?, expiresAt. Does not spend money. REST GET /name is the same SKU.
Parameters:
n— string — Agent name to look up (lowercase [a-z0-9-] 3-32).name— string — Alias of n.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
bidPaid $0.05 USDC exact on Base: bid on the pay-to-rank board. Each verified bid ADDS to that origin's 24h total. Listing URL must return HTTP 402 (or be this origin). http(s) only. No telegram/discord/whatsapp. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0. REST POST /bid is the same SKU.
Parameters:
url(required) — string — http(s) listing URL that returns HTTP 402, or this origin.name— string — Optional short name. Max 80 chars.slot— string — Optional slot. Max 40 chars.topic— string — Optional topic. Max 40 chars.description— string — Optional one-line description. Max 200 chars.
Hints: read-only no · destructive not declared · idempotent not declared · open-world yes
name_registerPaid $0.05 USDC exact on Base: register or extend an ENS-style agent name for 30 days. origin must be https and return HTTP 402 (or be this origin). Re-register from anyone after payment overwrites/extends. payTo 0x3903F05a17676566958B0a3E0c21E0bd49B66ea0. REST POST /name is the same SKU.
Parameters:
name(required) — string — lowercase [a-z0-9-] 3-32 chars, no leading/trailing hyphen.origin(required) — string — https URL that returns HTTP 402, or this origin.ownerHint— string — Optional short owner hint. Max 80 chars.
Hints: read-only no · destructive not declared · idempotent not declared · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.