{"openapi":"3.1.0","info":{"title":"Anyway Possible Agent Decision APIs","version":"13.0.0","description":"One free MCP tool recommender plus eight account-free, x402-paid decision tools for merchant intelligence, Base wallet readiness, agent payment safety, and verifiable web evidence."},"servers":[{"url":"https://anywaypossible.com"}],"paths":{"/api/merchant-snapshot":{"get":{"operationId":"getSnapshotX402MerchantMetadata","summary":"Read $0.05 USDC Merchant Snapshot metadata","responses":{"200":{"description":"Free service metadata with the canonical request example"}}},"post":{"operationId":"snapshotX402Merchant","x-mcp-tool":"merchant_snapshot","summary":"Why is my x402 API not selling? — $0.05 USDC","description":"Diagnose an x402 merchant using Bazaar visibility, buyer signals, payment reliability, and observed Base USDC activity, then return the largest revenue issue. No account or API key is required; an unpaid request returns an x402 v2 challenge.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["payTo","queries"],"properties":{"payTo":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"queries":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"string","minLength":2,"maxLength":100}},"excludePayers":{"type":"array","maxItems":10,"items":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}}}},"example":{"payTo":"0xe5690D37805107C56f6195E65A262b234E0E5e75","queries":["x402 merchant analytics","increase x402 revenue"]}}}},"responses":{"200":{"description":"Paid decision-ready result","content":{"application/json":{"schema":{"type":"object","required":["snapshotId","merchant","network","observedAt","score","grade","signals","visibility","biggestIssue","upgrade","limitations"],"properties":{"snapshotId":{"type":"string"},"merchant":{"type":"string"},"network":{"type":"string"},"observedAt":{"type":"string","format":"date-time"},"score":{"type":"integer","minimum":0,"maximum":100},"grade":{"type":"string","enum":["A","B","C","D","F"]},"signals":{"type":"object"},"visibility":{"type":"array","items":{"type":"object"}},"biggestIssue":{"type":"string"},"upgrade":{"type":"object"},"limitations":{"type":"array","items":{"type":"string"}}}},"example":{"score":86,"grade":"B","biggestIssue":"Improve buyer-search visibility.","upgrade":{"endpoint":"https://anywaypossible.com/api/merchant-audit","priceUsd":0.25}}}}},"400":{"description":"Invalid request"},"402":{"description":"Payment required: $0.05 USDC on Base","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment requirements","schema":{"type":"string"}}}},"502":{"description":"A required public data source was unavailable"},"503":{"description":"Payment service temporarily unavailable"}},"x-x402":{"version":2,"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"50000","payTo":"0xe5690D37805107C56f6195E65A262b234E0E5e75"}}},"/api/treasury":{"get":{"operationId":"getPreflightBaseUsdcPaymentMetadata","summary":"Read $0.02 USDC Treasury metadata","responses":{"200":{"description":"Free service metadata with the canonical request example"}}},"post":{"operationId":"preflightBaseUsdcPayment","x-mcp-tool":"treasury_preflight","summary":"Is this Base wallet ready to pay? — $0.02 USDC","description":"Check Base wallet readiness, USDC funding, ETH gas, chain intent, destination type, and common payment hazards before an agent signs. No account or API key is required; an unpaid request returns an x402 v2 challenge.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["address"],"properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"destinationAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"plannedSpendUsdc":{"type":"string","pattern":"^[0-9]+(\\.[0-9]{1,6})?$","default":"1.00"},"minGasReserveEth":{"type":"string","pattern":"^[0-9]+(\\.[0-9]{1,18})?$","default":"0.00005"},"expectedChainId":{"type":"integer","enum":[8453],"default":8453}}},"example":{"address":"0x1111111111111111111111111111111111111111","destinationAddress":"0x2222222222222222222222222222222222222222","plannedSpendUsdc":"1.00","expectedChainId":8453}}}},"responses":{"200":{"description":"Paid decision-ready result","content":{"application/json":{"schema":{"type":"object","required":["address","network","chainId","safeToProceed","decision","riskLevel","recommendedAction","eth","usdc","checks","alerts","limitations","blockNumber","observedAt"],"properties":{"address":{"type":"string"},"destinationAddress":{"type":["string","null"]},"network":{"type":"string"},"chainId":{"type":"integer"},"safeToProceed":{"type":"boolean"},"decision":{"type":"string","enum":["safe_to_pay","needs_funding","needs_gas","review_destination","reject"]},"riskLevel":{"type":"string","enum":["low","medium","high"]},"recommendedAction":{"type":"string"},"eth":{"type":"string"},"usdc":{"type":"string"},"checks":{"type":"array","items":{"type":"object"}},"alerts":{"type":"array","items":{"type":"string"}},"limitations":{"type":"array","items":{"type":"string"}},"blockNumber":{"type":"integer"},"observedAt":{"type":"string","format":"date-time"}}},"example":{"decision":"needs_funding","safeToProceed":false,"riskLevel":"medium","recommendedAction":"Fund the wallet before paying."}}}},"400":{"description":"Invalid request"},"402":{"description":"Payment required: $0.02 USDC on Base","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment requirements","schema":{"type":"string"}}}},"502":{"description":"A required public data source was unavailable"},"503":{"description":"Payment service temporarily unavailable"}},"x-x402":{"version":2,"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"20000","payTo":"0xe5690D37805107C56f6195E65A262b234E0E5e75"}}},"/api/payment-guard":{"get":{"operationId":"getGuardX402PaymentMetadata","summary":"Read $0.01 USDC Payment Guard metadata","responses":{"200":{"description":"Free service metadata with the canonical request example"}}},"post":{"operationId":"guardX402Payment","x-mcp-tool":"payment_guard","summary":"Is this x402 payment safe to sign? — $0.01 USDC","description":"Provide agent payment safety by validating the live x402 challenge, price ceiling, Base network, USDC asset, recipient, buyer funding, and destination hazards immediately before signing. No account or API key is required; an unpaid request returns an x402 v2 challenge.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["payerAddress","serviceUrl","maxAmountUsdc"],"properties":{"payerAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"serviceUrl":{"type":"string","format":"uri"},"maxAmountUsdc":{"type":"string","pattern":"^[0-9]+(\\.[0-9]{1,6})?$"},"expectedPayTo":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"minGasReserveEth":{"type":"string","pattern":"^[0-9]+(\\.[0-9]{1,18})?$"}}},"example":{"payerAddress":"0x1111111111111111111111111111111111111111","serviceUrl":"https://example.com/api/report","maxAmountUsdc":"0.10","expectedPayTo":"0x2222222222222222222222222222222222222222","minGasReserveEth":"0"}}}},"responses":{"200":{"description":"Paid decision-ready result","content":{"application/json":{"schema":{"type":"object","required":["decision","safeToSign","riskLevel","quotedAmountUsdc","quotedPayTo","network","asset","checks","alerts","recommendedAction"],"properties":{"decision":{"type":"string","enum":["safe_to_sign","needs_funding","review_recipient","reject"]},"safeToSign":{"type":"boolean"},"riskLevel":{"type":"string","enum":["low","medium","high"]},"quotedAmountUsdc":{"type":"string"},"quotedPayTo":{"type":"string"},"network":{"type":"string"},"asset":{"type":"string"},"checks":{"type":"array","items":{"type":"object"}},"alerts":{"type":"array","items":{"type":"string"}},"recommendedAction":{"type":"string"}}},"example":{"decision":"safe_to_sign","safeToSign":true,"riskLevel":"low","quotedAmountUsdc":"0.01","quotedPayTo":"0x2222222222222222222222222222222222222222","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","checks":[{"id":"x402_contract","status":"pass"}],"alerts":[],"recommendedAction":"Sign only the validated payment requirements."}}}},"400":{"description":"Invalid request"},"402":{"description":"Payment required: $0.01 USDC on Base","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment requirements","schema":{"type":"string"}}}},"502":{"description":"A required public data source was unavailable"},"503":{"description":"Payment service temporarily unavailable"}},"x-x402":{"version":2,"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","payTo":"0xe5690D37805107C56f6195E65A262b234E0E5e75"}}},"/api/verify":{"get":{"operationId":"getVerifyUrlMetadata","summary":"Read $0.01 USDC Verify metadata","responses":{"200":{"description":"Free service metadata with the canonical request example"}}},"post":{"operationId":"verifyUrl","x-mcp-tool":"verify_web_evidence","summary":"Can this page be trusted and cited? — $0.01 USDC","description":"Verify one public URL and return status, redirects, metadata, content hash, timestamp, and a stable receipt. No account or API key is required; an unpaid request returns an x402 v2 challenge.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"type":"string","format":"uri"},"expectedStatus":{"type":"integer","minimum":100,"maximum":599},"expectedText":{"type":"string","maxLength":500}}},"example":{"url":"https://example.com","expectedStatus":200,"expectedText":"Example Domain"}}}},"responses":{"200":{"description":"Paid decision-ready result","content":{"application/json":{"schema":{"type":"object","required":["verified","status","finalUrl","contentSha256","receiptId","observedAt"],"properties":{"verified":{"type":"boolean"},"status":{"type":"integer"},"title":{"type":["string","null"]},"finalUrl":{"type":"string","format":"uri"},"redirectChain":{"type":"array","items":{"type":"string","format":"uri"}},"responseTimeMs":{"type":"integer"},"contentSha256":{"type":"string"},"receiptId":{"type":"string"},"observedAt":{"type":"string","format":"date-time"}}},"example":{"verified":true,"status":200,"finalUrl":"https://example.com/","contentSha256":"6f5635...","receiptId":"f06d5e...","observedAt":"2026-01-01T00:00:00.000Z"}}}},"400":{"description":"Invalid request"},"402":{"description":"Payment required: $0.01 USDC on Base","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment requirements","schema":{"type":"string"}}}},"502":{"description":"A required public data source was unavailable"},"503":{"description":"Payment service temporarily unavailable"}},"x-x402":{"version":2,"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","payTo":"0xe5690D37805107C56f6195E65A262b234E0E5e75"}}},"/api/batch":{"get":{"operationId":"getBatchCheckUrlsMetadata","summary":"Read $0.01 USDC Batch metadata","responses":{"200":{"description":"Free service metadata with the canonical request example"}}},"post":{"operationId":"batchCheckUrls","x-mcp-tool":"batch_check_urls","summary":"Are all these sources usable now? — $0.01 USDC","description":"Check up to ten public URLs in one call while isolating partial failures per result. No account or API key is required; an unpaid request returns an x402 v2 challenge.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["urls"],"properties":{"urls":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"string","format":"uri"}},"expectedStatus":{"type":"integer","minimum":100,"maximum":599}}},"example":{"urls":["https://example.com","https://www.iana.org/help/example-domains"],"expectedStatus":200}}}},"responses":{"200":{"description":"Paid decision-ready result","content":{"application/json":{"schema":{"type":"object","required":["verified","count","checkedAt","results"],"properties":{"verified":{"type":"boolean"},"count":{"type":"integer"},"checkedAt":{"type":"string","format":"date-time"},"results":{"type":"array","items":{"type":"object"}}}},"example":{"verified":true,"count":2,"checkedAt":"2026-01-01T00:00:00.000Z","results":[{"status":200,"verified":true}]}}}},"400":{"description":"Invalid request"},"402":{"description":"Payment required: $0.01 USDC on Base","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment requirements","schema":{"type":"string"}}}},"502":{"description":"A required public data source was unavailable"},"503":{"description":"Payment service temporarily unavailable"}},"x-x402":{"version":2,"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","payTo":"0xe5690D37805107C56f6195E65A262b234E0E5e75"}}},"/api/base-balance":{"get":{"operationId":"getGetBaseWalletBalanceMetadata","summary":"Read $0.001 USDC Base Balance metadata","responses":{"200":{"description":"Free service metadata with the canonical request example"}}},"post":{"operationId":"getBaseWalletBalance","x-mcp-tool":"base_balance","summary":"What does this Base wallet hold? — $0.001 USDC","description":"Read native ETH and Circle USDC balances, atomic values, and the current Base block height. No account or API key is required; an unpaid request returns an x402 v2 challenge.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["address"],"properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}}},"example":{"address":"0x1111111111111111111111111111111111111111"}}}},"responses":{"200":{"description":"Paid decision-ready result","content":{"application/json":{"schema":{"type":"object","required":["address","network","chainId","eth","usdc","ethAtomic","usdcAtomic","blockNumber","observedAt"],"properties":{"address":{"type":"string"},"network":{"type":"string"},"chainId":{"type":"integer"},"eth":{"type":"string"},"usdc":{"type":"string"},"ethAtomic":{"type":"string"},"usdcAtomic":{"type":"string"},"blockNumber":{"type":"integer"},"observedAt":{"type":"string","format":"date-time"}}},"example":{"network":"Base","chainId":8453,"eth":"0","usdc":"0","blockNumber":12345678,"observedAt":"2026-01-01T00:00:00.000Z"}}}},"400":{"description":"Invalid request"},"402":{"description":"Payment required: $0.001 USDC on Base","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment requirements","schema":{"type":"string"}}}},"502":{"description":"A required public data source was unavailable"},"503":{"description":"Payment service temporarily unavailable"}},"x-x402":{"version":2,"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","payTo":"0xe5690D37805107C56f6195E65A262b234E0E5e75"}}},"/api/check":{"get":{"operationId":"getCheckUrlMetadata","summary":"Read $0.001 USDC Check metadata","responses":{"200":{"description":"Free service metadata with the canonical request example"}}},"post":{"operationId":"checkUrl","x-mcp-tool":"check_url","summary":"Is this URL reachable? — $0.001 USDC","description":"Confirm status, latency, redirects, and content type for one public URL. No account or API key is required; an unpaid request returns an x402 v2 challenge.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"type":"string","format":"uri"},"expectedStatus":{"type":"integer","minimum":100,"maximum":599}}},"example":{"url":"https://example.com","expectedStatus":200}}}},"responses":{"200":{"description":"Paid decision-ready result","content":{"application/json":{"schema":{"type":"object","required":["reachable","verified","status","finalUrl","responseTimeMs","observedAt"],"properties":{"reachable":{"type":"boolean"},"verified":{"type":"boolean"},"status":{"type":"integer"},"finalUrl":{"type":"string","format":"uri"},"redirectChain":{"type":"array","items":{"type":"string","format":"uri"}},"responseTimeMs":{"type":"integer"},"contentType":{"type":"string"},"observedAt":{"type":"string","format":"date-time"}}},"example":{"reachable":true,"verified":true,"status":200,"finalUrl":"https://example.com/","responseTimeMs":180,"contentType":"text/html","observedAt":"2026-01-01T00:00:00.000Z"}}}},"400":{"description":"Invalid request"},"402":{"description":"Payment required: $0.001 USDC on Base","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment requirements","schema":{"type":"string"}}}},"502":{"description":"A required public data source was unavailable"},"503":{"description":"Payment service temporarily unavailable"}},"x-x402":{"version":2,"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","payTo":"0xe5690D37805107C56f6195E65A262b234E0E5e75"}}},"/api/merchant-audit":{"get":{"operationId":"getAuditX402MerchantMetadata","summary":"Read $0.25 USDC Merchant Audit metadata","responses":{"200":{"description":"Free service metadata with the canonical request example"}}},"post":{"operationId":"auditX402Merchant","x-mcp-tool":"merchant_audit","summary":"What exactly should this merchant change? — $0.25 USDC","description":"Audit Bazaar rankings, competitor pricing, payment reliability, buyer reach, and Base activity. Repeated runs with the same wallet and queries return score history and change alerts without storing contact details. No account or API key is required; an unpaid request returns an x402 v2 challenge.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["payTo","queries"],"properties":{"payTo":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"queries":{"type":"array","minItems":1,"maxItems":5,"items":{"type":"string","minLength":2,"maxLength":100}},"excludePayers":{"type":"array","maxItems":10,"items":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}}}},"example":{"payTo":"0xe5690D37805107C56f6195E65A262b234E0E5e75","queries":["x402 merchant analytics","agent treasury"]}}}},"responses":{"200":{"description":"Paid decision-ready result","content":{"application/json":{"schema":{"type":"object","required":["auditId","merchant","network","observedAt","score","grade","scoreBreakdown","summary","listings","rankings","onchain","actions","monitoring","limitations"],"properties":{"auditId":{"type":"string"},"merchant":{"type":"string"},"network":{"type":"string"},"observedAt":{"type":"string","format":"date-time"},"score":{"type":"integer","minimum":0,"maximum":100},"grade":{"type":"string","enum":["A","B","C","D","F"]},"scoreBreakdown":{"type":"object"},"summary":{"type":"object"},"listings":{"type":"array","items":{"type":"object"}},"rankings":{"type":"array","items":{"type":"object"}},"onchain":{"type":"object"},"actions":{"type":"array","items":{"type":"string"}},"monitoring":{"type":"object","required":["tracked","comparableRunCount","direction","scoreDelta","alerts","history","nextRecommendedCheck","privacy"]},"limitations":{"type":"array","items":{"type":"string"}}}},"example":{"score":72,"grade":"C","actions":["Improve exact buyer-search language in listing metadata."],"monitoring":{"tracked":true,"comparableRunCount":3,"direction":"improved","scoreDelta":4,"alerts":[],"nextRecommendedCheck":"2026-09-14T00:00:00.000Z"}}}}},"400":{"description":"Invalid request"},"402":{"description":"Payment required: $0.25 USDC on Base","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment requirements","schema":{"type":"string"}}}},"502":{"description":"A required public data source was unavailable"},"503":{"description":"Payment service temporarily unavailable"}},"x-x402":{"version":2,"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"250000","payTo":"0xe5690D37805107C56f6195E65A262b234E0E5e75"}}},"/api/mcp":{"post":{"operationId":"callAnywayPossibleMcp","summary":"Connect to one free router and eight paid tools over Streamable HTTP","description":"Supports initialize, tools/list, and tools/call. Call recommend_tool for free before selecting a paid tool; paid-tool challenges and receipts are carried in MCP x402 metadata.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"MCP JSON-RPC response"},"403":{"description":"Invalid browser Origin"}}}},"/api/health":{"get":{"operationId":"getHealth","summary":"Check gateway health and advertised capabilities","responses":{"200":{"description":"Service gateway is responding"}}}},"/api/trust":{"get":{"operationId":"getPublicTrustEvidence","summary":"Read privacy-safe service outcomes, incident history, and methodology","responses":{"200":{"description":"Aggregate public trust evidence without payer or agent identifiers"}}}}}}