{"openapi":"3.1.0","info":{"title":"Quartermaster","version":"1.6.0","description":"Small, reliable utility APIs for AI agents. Paid endpoints charge per call in USDC over the x402 protocol (HTTP 402 flow) - no accounts, no API keys. Free endpoints are open.","contact":{"url":"https://quartermaster.surewhynot.app"}},"servers":[{"url":"https://quartermaster.surewhynot.app"}],"externalDocs":{"description":"Buyer quickstart: how to pay with x402","url":"https://quartermaster.surewhynot.app/buyers"},"paths":{"/v1/extract":{"get":{"summary":"Extract clean readable text from a web page","description":"Fetches the URL and returns title, description, and markdown-flavored readable text.","parameters":[{"name":"url","in":"query","required":true,"description":"http(s) URL to fetch","schema":{"type":"string","format":"uri"}}],"responses":{"200":{"description":"Extracted content","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.005","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/meta":{"get":{"summary":"Page metadata (title, description, Open Graph, canonical, favicon)","description":"Cheaper than /v1/extract when you only need to identify a page, not read it.","parameters":[{"name":"url","in":"query","required":true,"description":"http(s) URL to inspect","schema":{"type":"string","format":"uri"}}],"responses":{"200":{"description":"Page metadata","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.002","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/qr":{"get":{"summary":"Generate a QR code","parameters":[{"name":"data","in":"query","required":true,"description":"Content to encode (max 2048 chars)","schema":{"type":"string"}},{"name":"format","in":"query","required":false,"description":"svg (default) or text (terminal block art)","schema":{"type":"string","enum":["svg","text"]}},{"name":"ecc","in":"query","required":false,"description":"Error-correction level","schema":{"type":"string","enum":["L","M","Q","H"],"default":"M"}}],"responses":{"200":{"description":"QR code as image/svg+xml or text/plain"},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.002","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/dns":{"get":{"summary":"DNS lookup (DNS-over-HTTPS)","parameters":[{"name":"name","in":"query","required":true,"description":"Hostname to resolve","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"Record type","schema":{"type":"string","default":"A","enum":["A","AAAA","CNAME","MX","NS","TXT","SOA","SRV","CAA","PTR","DNSKEY","DS","HTTPS","SVCB"]}}],"responses":{"200":{"description":"Resolved records","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/http-errors/{code}":{"get":{"summary":"Structured HTTP status reference","description":"Meaning, common causes, fixes, and retry guidance for an HTTP status code.","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Status entry","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Unknown code","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/tx":{"get":{"summary":"Base transaction status (settlement verification)","description":"Success/reverted/pending, confirmations, gas used, and explorer link for a Base transaction.","parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash","schema":{"type":"string"}}],"responses":{"200":{"description":"Transaction status","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.002","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/tx-decode":{"get":{"summary":"Decode a Base transaction's calldata into a human-readable call","description":"Decodes the transaction input into the function it called and its arguments — ERC-20 transfer/approve and the EIP-3009 transferWithAuthorization used by x402 settlements. Recognizes x402 settlement transactions; unknown selectors return the raw 32-byte words.","parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed Base transaction hash to decode","schema":{"type":"string"}}],"responses":{"200":{"description":"Decoded transaction","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.003","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/balance":{"get":{"summary":"ETH + USDC/ERC-20 balance on Base","parameters":[{"name":"address","in":"query","required":true,"description":"EVM address to check","schema":{"type":"string"}},{"name":"token","in":"query","required":false,"description":"'usdc' (default) or an ERC-20 contract address","schema":{"type":"string","default":"usdc"}}],"responses":{"200":{"description":"Balances","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/gas":{"get":{"summary":"Current Base gas prices","responses":{"200":{"description":"Gas prices and transfer cost estimate","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/summarize":{"get":{"summary":"AI summary of any public webpage","parameters":[{"name":"url","in":"query","required":true,"description":"Public webpage URL to summarize","schema":{"type":"string","format":"uri"}},{"name":"length","in":"query","required":false,"description":"short | medium | long","schema":{"type":"string","enum":["short","medium","long"],"default":"medium"}}],"responses":{"200":{"description":"Summary","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Not enough readable text","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.01","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/translate":{"get":{"summary":"AI translation into any target language","parameters":[{"name":"text","in":"query","required":true,"description":"Text to translate (max 8000 chars, source auto-detected)","schema":{"type":"string"}},{"name":"to","in":"query","required":true,"description":"Target language name, e.g. spanish","schema":{"type":"string"}}],"responses":{"200":{"description":"Translation","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.005","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/tldr":{"get":{"summary":"AI TL;DR of raw text passed in directly","parameters":[{"name":"text","in":"query","required":true,"description":"Text to summarize (max 16000 chars)","schema":{"type":"string"}},{"name":"length","in":"query","required":false,"description":"short (default), medium, or long","schema":{"type":"string","enum":["short","medium","long"]}}],"responses":{"200":{"description":"Summary","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.005","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/classify":{"get":{"summary":"Zero-shot text classification into caller-supplied labels","parameters":[{"name":"text","in":"query","required":true,"description":"Text to classify (max 8000 chars)","schema":{"type":"string"}},{"name":"labels","in":"query","required":true,"description":"Comma-separated candidate labels (2-20)","schema":{"type":"string"}}],"responses":{"200":{"description":"Classification","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.002","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/unshorten":{"get":{"summary":"Expand a shortened/redirecting URL and return every hop","description":"Follows the redirect chain server-side and returns each hop plus the final destination; every hop is re-validated against SSRF.","parameters":[{"name":"url","in":"query","required":true,"description":"The (possibly shortened) URL to expand","schema":{"type":"string","format":"uri"}}],"responses":{"200":{"description":"Redirect chain","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.002","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/http-check":{"get":{"summary":"Liveness/latency pre-flight for a URL","description":"Single GET reporting reachability, HTTP status and class, response latency in ms, redirect target, content-type and server.","parameters":[{"name":"url","in":"query","required":true,"description":"Public http(s) URL to check","schema":{"type":"string","format":"uri"}}],"responses":{"200":{"description":"Check result","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/holiday":{"get":{"summary":"Is a date a public holiday in a country?","parameters":[{"name":"country","in":"query","required":true,"description":"2-letter ISO 3166 country code, e.g. US","schema":{"type":"string"}},{"name":"date","in":"query","required":false,"description":"YYYY-MM-DD (defaults to today, UTC)","schema":{"type":"string"}}],"responses":{"200":{"description":"Holiday result","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Unknown country","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/regex":{"get":{"summary":"Test a regular expression and return all matches","parameters":[{"name":"pattern","in":"query","required":true,"description":"Regular expression source (max 1000 chars)","schema":{"type":"string"}},{"name":"text","in":"query","required":true,"description":"Text to match against (max 20000 chars)","schema":{"type":"string"}},{"name":"flags","in":"query","required":false,"description":"Any of g i m s u y (g always applied)","schema":{"type":"string"}}],"responses":{"200":{"description":"Matches","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/random":{"get":{"summary":"Cryptographically-secure random integers","parameters":[{"name":"min","in":"query","required":false,"description":"Lower bound, inclusive (default 0)","schema":{"type":"integer","default":0}},{"name":"max","in":"query","required":false,"description":"Upper bound, inclusive (default 100)","schema":{"type":"integer","default":100}},{"name":"count","in":"query","required":false,"description":"How many, 1-1000 (default 1)","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Random integers","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/pick":{"get":{"summary":"Pick options at random from a caller-supplied list","parameters":[{"name":"options","in":"query","required":true,"description":"Comma-separated options to choose from","schema":{"type":"string"}},{"name":"count","in":"query","required":false,"description":"How many to pick (default 1)","schema":{"type":"integer","default":1}},{"name":"unique","in":"query","required":false,"description":"true = draw without replacement","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Picked options","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/embed":{"get":{"summary":"Text embeddings (1024-dim vectors)","parameters":[{"name":"text","in":"query","required":true,"description":"Text to embed (max 8000 chars)","schema":{"type":"string"}}],"responses":{"200":{"description":"Embedding vector","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.002","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/extract-json":{"get":{"summary":"Structured extraction: JSON Schema in, matching JSON out","parameters":[{"name":"schema","in":"query","required":true,"description":"JSON Schema (as a JSON string) for the desired output","schema":{"type":"string"}},{"name":"url","in":"query","required":false,"description":"Page to extract from (or pass text)","schema":{"type":"string","format":"uri"}},{"name":"text","in":"query","required":false,"description":"Raw text to extract from (alternative to url)","schema":{"type":"string"}}],"responses":{"200":{"description":"Extracted data","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.005","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/moderate":{"get":{"summary":"Content-safety classification (Llama Guard)","parameters":[{"name":"text","in":"query","required":true,"description":"Text to classify (max 12000 chars)","schema":{"type":"string"}}],"responses":{"200":{"description":"Safety verdict + categories","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.002","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/describe-image":{"get":{"summary":"AI vision: describe a public image (includes visible text)","parameters":[{"name":"url","in":"query","required":true,"description":"Public image URL, max 3MB","schema":{"type":"string","format":"uri"}},{"name":"prompt","in":"query","required":false,"description":"Optional custom question about the image","schema":{"type":"string"}}],"responses":{"200":{"description":"Description","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.005","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/price":{"get":{"summary":"USD token price by symbol or Base contract address","parameters":[{"name":"token","in":"query","required":true,"description":"Symbol (eth, btc, usdc, ...) or Base ERC-20 address","schema":{"type":"string"}}],"responses":{"200":{"description":"Price","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Unknown token","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/receipt":{"get":{"summary":"Settlement receipt for a Base transaction or Solana signature","parameters":[{"name":"hash","in":"query","required":true,"description":"0x Base transaction hash or base58 Solana signature","schema":{"type":"string"}}],"responses":{"200":{"description":"Receipt with decoded transfers","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.002","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/basename":{"get":{"summary":"Resolve a Basename (.base.eth) to an address","parameters":[{"name":"name","in":"query","required":true,"description":"Name like jesse.base.eth (suffix optional)","schema":{"type":"string"}}],"responses":{"200":{"description":"Resolved address","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Unregistered","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/payment-proof":{"get":{"summary":"Verify an x402 settlement on Base or Solana (composite)","description":"Confirms the transaction succeeded (Base 0x hash or Solana base58 signature), decodes its USDC transfers (event logs on Base, net token-balance deltas on Solana), and optionally asserts the receiving wallet and amount.","parameters":[{"name":"hash","in":"query","required":true,"description":"0x Base transaction hash or base58 Solana signature","schema":{"type":"string"}},{"name":"payTo","in":"query","required":false,"description":"Optional: assert USDC was received by this wallet (0x on Base, base58 on Solana)","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"Optional: assert the USDC amount (human decimal)","schema":{"type":"string"}}],"responses":{"200":{"description":"Verification verdict","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.003","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/settlement-assurance":{"get":{"summary":"Settlement assurance for a completed x402 payment on Base or Solana (composite)","description":"Confirms the transaction succeeded (Base 0x hash or Solana base58 signature), matches the USDC transfer to an expected wallet and amount, formats a receipt, and optionally audits the issuing endpoint - as one 0-100 scored report with a verdict.","parameters":[{"name":"hash","in":"query","required":true,"description":"0x Base transaction hash or base58 Solana signature","schema":{"type":"string"}},{"name":"payTo","in":"query","required":false,"description":"Optional: assert USDC reached this wallet (0x on Base, base58 on Solana)","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"Optional: assert the USDC amount (human decimal)","schema":{"type":"string"}},{"name":"resource","in":"query","required":false,"description":"Optional: also audit the x402 endpoint that issued the challenge","schema":{"type":"string"}}],"responses":{"200":{"description":"Assurance report","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.03","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/x402/discover":{"get":{"summary":"Search the Coinbase x402 Bazaar","parameters":[{"name":"query","in":"query","required":true,"description":"Natural-language search","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Max results (1-20)","schema":{"type":"integer","default":10}}],"responses":{"200":{"description":"Search results","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/x402/merchant":{"get":{"summary":"List a merchant's x402 Bazaar resources","parameters":[{"name":"payTo","in":"query","required":true,"description":"Merchant wallet address","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Max results (1-50)","schema":{"type":"integer","default":20}}],"responses":{"200":{"description":"Listed resources","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid address","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/x402/price-normalize":{"get":{"summary":"Convert USDC between atomic units and human decimals","parameters":[{"name":"amount","in":"query","required":true,"description":"Amount to convert","schema":{"type":"string"}},{"name":"decimals","in":"query","required":false,"description":"Token decimals (USDC=6)","schema":{"type":"integer","default":6}},{"name":"direction","in":"query","required":false,"description":"to-human (default) or to-atomic","schema":{"type":"string","enum":["to-human","to-atomic"]}}],"responses":{"200":{"description":"Converted amount","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/x402/test-vector":{"get":{"summary":"Example x402 payment requirements (free)","responses":{"200":{"description":"Annotated example 402 body","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/base/token-info":{"get":{"summary":"ERC-20 token info on Base","parameters":[{"name":"address","in":"query","required":true,"description":"ERC-20 contract address","schema":{"type":"string"}}],"responses":{"200":{"description":"Name, symbol, decimals, supply","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not a token","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/base/allowance":{"get":{"summary":"ERC-20 allowance on Base","parameters":[{"name":"owner","in":"query","required":true,"description":"Token owner","schema":{"type":"string"}},{"name":"spender","in":"query","required":true,"description":"Approved spender","schema":{"type":"string"}},{"name":"token","in":"query","required":false,"description":"'usdc' or contract","schema":{"type":"string","default":"usdc"}}],"responses":{"200":{"description":"Allowance","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/base/contract":{"get":{"summary":"Contract vs EOA on Base","parameters":[{"name":"address","in":"query","required":true,"description":"Base address","schema":{"type":"string"}}],"responses":{"200":{"description":"Address type","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid address","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/base/usdc-transfers":{"get":{"summary":"Recent USDC transfers on Base","parameters":[{"name":"address","in":"query","required":true,"description":"Address to list transfers for","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Max results (1-50)","schema":{"type":"integer","default":20}}],"responses":{"200":{"description":"Transfers","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid address","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.002","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/jwt-decode":{"get":{"summary":"Decode a JWT (signature not verified)","parameters":[{"name":"token","in":"query","required":true,"description":"JWT string","schema":{"type":"string"}}],"responses":{"200":{"description":"Header + payload","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid JWT","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/base64":{"get":{"summary":"Base64 encode or decode","parameters":[{"name":"data","in":"query","required":true,"description":"String to encode/decode","schema":{"type":"string"}},{"name":"op","in":"query","required":false,"description":"encode (default) or decode","schema":{"type":"string","enum":["encode","decode"]}}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/text-stats":{"get":{"summary":"Text statistics and readability","parameters":[{"name":"text","in":"query","required":true,"description":"Text to analyze","schema":{"type":"string"}}],"responses":{"200":{"description":"Counts + readability","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/diff":{"get":{"summary":"Line-level text diff","parameters":[{"name":"before","in":"query","required":true,"description":"Original text","schema":{"type":"string"}},{"name":"after","in":"query","required":true,"description":"Changed text","schema":{"type":"string"}}],"responses":{"200":{"description":"Diff","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.001","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/x402-audit":{"get":{"summary":"Full scored audit of an x402 endpoint (workflow)","description":"Runs the complete audit sequence in one call: 402 challenge verification, payment-field judgment (version, network, asset, payTo), Bazaar discovery metadata check, and origin discovery probes (llms.txt, openapi.json, .well-known/x402, discovery/resources). Returns a 0-100 score, pass/warn/fail checks with evidence, and recommended fixes.","parameters":[{"name":"url","in":"query","required":true,"description":"x402 paid endpoint to audit","schema":{"type":"string","format":"uri"}}],"responses":{"200":{"description":"Scored audit report","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.01","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/x402/inspect":{"get":{"summary":"Inspect and lint any x402 paid endpoint's payment challenge","description":"Decodes the 402 payment requirements, names the network and asset, and flags misconfigurations including missing Bazaar discovery metadata.","parameters":[{"name":"url","in":"query","required":true,"description":"x402 endpoint to inspect","schema":{"type":"string","format":"uri"}}],"responses":{"200":{"description":"Inspection report","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.002","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/x402/simulate":{"get":{"summary":"Pre-flight an x402 payment: cost per rail and affordability","description":"Decodes an endpoint's 402 challenge, reports the price on every rail it offers (Base and Solana) and the cheapest, and — with an optional payer address — verifies the wallet can afford the call on Base.","parameters":[{"name":"url","in":"query","required":true,"description":"The x402 endpoint to pre-flight","schema":{"type":"string","format":"uri"}},{"name":"address","in":"query","required":false,"description":"Optional payer wallet (0x…) for a Base affordability check","schema":{"type":"string"}}],"responses":{"200":{"description":"Simulation report","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.003","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/route":{"get":{"summary":"The x402 Router - one natural-language endpoint for everything","description":"Send a plain-English goal in q and Quartermaster picks and runs the right underlying tool, returning the answer plus which tool it used. Examples: 'audit https://api.example.com/paid', 'price of eth', 'is 0x… a contract', 'verify settlement 0x…'. One endpoint for anything x402, Base chain, or web/AI.","parameters":[{"name":"q","in":"query","required":true,"description":"Your goal in plain English","schema":{"type":"string"}}],"responses":{"200":{"description":"Tool result with tool_used and argument","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Could not map to a tool","content":{"application/json":{"schema":{"type":"object"}}}}},"x-payment":{"protocol":"x402","price":"$0.03","currency":"USDC","note":"Unpaid requests receive 402 Payment Required with machine-readable payment requirements."}}},"/v1/http-errors":{"get":{"summary":"Index of documented HTTP status codes (free)","responses":{"200":{"description":"Code index","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/ip":{"get":{"summary":"Caller IP and geo info (free)","responses":{"200":{"description":"IP, country, city, ASN, timezone","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/time":{"get":{"summary":"Current time (free)","parameters":[{"name":"tz","in":"query","required":false,"description":"Optional IANA timezone, e.g. America/Chicago","schema":{"type":"string"}}],"responses":{"200":{"description":"ISO/unix/UTC time, plus local time when tz given","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Unknown timezone","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/uuid":{"get":{"summary":"Generate UUIDs (free)","parameters":[{"name":"count","in":"query","required":false,"description":"How many (1-100, default 1)","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"UUID v4 value(s)","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/hash":{"get":{"summary":"Hash a string (free)","parameters":[{"name":"data","in":"query","required":true,"description":"Input string (max 64k chars)","schema":{"type":"string"}},{"name":"algo","in":"query","required":false,"description":"sha1 | sha256 | sha384 | sha512","schema":{"type":"string","default":"sha256"}}],"responses":{"200":{"description":"Hex digest","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/health":{"get":{"summary":"Service health (free)","responses":{"200":{"description":"Status","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}