{"openapi":"3.1.0","info":{"title":"Cybercentry x402 Verification API","version":"1.0.0","description":"Pay-per-call security & verification services, payable with x402.","x-guidance":"Cybercentry exposes fixed-price security & verification services, payable with x402 (scheme \"exact\", networks eip155:8453 and solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp, asset USDC). Call a service by POSTing inputs as a JSON body matching the requestBody schema to /api/services/<service>. You will receive HTTP 402 with a PAYMENT-REQUIRED header; construct and sign an x402 \"exact\" payment and retry with the PAYMENT-SIGNATURE header to receive the deliverable. Each operation's price and accepted networks are in its x-payment-info. (Endpoints also accept GET with inputs as query-string params for manual/browser use.) If you hold a prepaid subscription token, call any service with the X-Subscription-Token header instead of paying per call (subscriptions are purchased on the website).","contact":{"email":"info@cybercentry.co.uk","url":"https://centry.cybercentry.co.uk"}},"servers":[{"url":"https://centry.cybercentry.co.uk"}],"components":{"securitySchemes":{"subscriptionToken":{"type":"apiKey","in":"header","name":"X-Subscription-Token","description":"A prepaid subscription token, for clients that cannot pay per call over x402. Optional: any operation can be paid for directly instead."}}},"paths":{"/api/services/base_token_verification":{"post":{"summary":"Base Token Verification: Check a Base token contract before buying: detects honeypots, armed freeze-and-seize, a live pause, fake B20s and ticker-impersonation copycats, and separately discloses issuer controls (admin centralisation, supply cap, transfer policy, rebase) so a legitimate token is not mistaken for a scam.","tags":["Verification"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.000000"},"protocols":[{"x402":{}}],"asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"operationId":"base_token_verification","description":"Call the service with inputs as a JSON body matching the requestBody schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contract_address":{"type":"string","description":"B20 token contract address"},"chain":{"type":"string","description":"base for mainnet (default), or base-sepolia to check a token before you launch it"}},"required":["contract_address"]}}}},"responses":{"200":{"description":"Successful response: the service deliverable.","content":{"application/json":{"schema":{"type":"object","properties":{"overall_risk":{"type":"string","description":"Overall Risk Level (Informational · Low · Medium · High)"},"threats_count":{"type":"number","description":"Number of holder-harm threats found (honeypot, armed freeze-and-seize, live pause, fake B20, ticker impersonation)"},"control_flags":{"type":"number","description":"Number of notable issuer-control disclosures (not vulnerabilities)"},"detectors":{"type":"object","description":"Per-check findings, each tagged threat / control / informational"},"report_url":{"type":"string","description":"Shareable report URL. Renders an HTML report in a browser, returns JSON to API clients."}},"required":["overall_risk","threats_count","control_flags","detectors","report_url"]}}}},"402":{"description":"Payment required. The response carries a PAYMENT-REQUIRED header (base64-encoded JSON) listing the accepted payment options (scheme \"exact\", network, amount in atomic USDC, asset, payTo). Construct and sign an x402 \"exact\" payment and retry the request with a PAYMENT-SIGNATURE header to receive the deliverable.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded JSON of the accepted x402 payment requirements (accepts[], each with scheme/network/amount/asset/payTo).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Always \"Payment required\"."}}}}}}}}},"/api/services/cyber_security_consultant":{"post":{"summary":"Cyber Security Consultant: Ask a cyber security question and get an expert answer backed by real-time threat intelligence, covering current threats, best practice and compliance.","tags":["Verification"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.000000"},"protocols":[{"x402":{}}],"asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"operationId":"cyber_security_consultant","description":"Call the service with inputs as a JSON body matching the requestBody schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"Question (e.g., What should an incident response capability include?)."}},"required":["query"]}}}},"responses":{"200":{"description":"Successful response: the service deliverable.","content":{"application/json":{"schema":{"type":"object","properties":{"answer":{"type":"string","description":"Answer."}},"required":["answer"]}}}},"402":{"description":"Payment required. The response carries a PAYMENT-REQUIRED header (base64-encoded JSON) listing the accepted payment options (scheme \"exact\", network, amount in atomic USDC, asset, payTo). Construct and sign an x402 \"exact\" payment and retry the request with a PAYMENT-SIGNATURE header to receive the deliverable.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded JSON of the accepted x402 payment requirements (accepts[], each with scheme/network/amount/asset/payTo).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Always \"Payment required\"."}}}}}}}}},"/api/services/ethereum_token_verification":{"post":{"summary":"Ethereum Token Verification: Check an Ethereum or EVM token contract before buying: rug pull, hidden tax, liquidity legitimacy and holder concentration risk. Token due diligence returned as a scan report.","tags":["Verification"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.000000"},"protocols":[{"x402":{}}],"asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"operationId":"ethereum_token_verification","description":"Call the service with inputs as a JSON body matching the requestBody schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string","description":"Chain name or EVM chain ID: ethereum (1), base (8453), arc (5042), robinhood (4663), optimism (10), polygon (137), arbitrum (42161), bsc (56), avalanche (43114), gnosis (100), blast (81457). Defaults to ethereum."},"contract_address":{"type":"string","description":"Token contract address"},"chain_id":{"type":"number","description":"Legacy: network, 1 mainnet or 2 testnet. Use chain instead."},"platform_id":{"type":"number","description":"Legacy: 1 Ethereum or 17 Base. Use chain instead."}},"required":["contract_address"]}}}},"responses":{"200":{"description":"Successful response: the service deliverable.","content":{"application/json":{"schema":{"type":"object","properties":{"scan_url":{"type":"string","description":"Scan URL."}},"required":["scan_url"]}}}},"402":{"description":"Payment required. The response carries a PAYMENT-REQUIRED header (base64-encoded JSON) listing the accepted payment options (scheme \"exact\", network, amount in atomic USDC, asset, payTo). Construct and sign an x402 \"exact\" payment and retry the request with a PAYMENT-SIGNATURE header to receive the deliverable.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded JSON of the accepted x402 payment requirements (accepts[], each with scheme/network/amount/asset/payTo).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Always \"Payment required\"."}}}}}}}}},"/api/services/media_content_verification":{"post":{"summary":"Media Content Verification: Check whether an image or video is authentic and where it came from: C2PA content credentials, provenance and metadata extraction, with an avatar and logo impersonation check. Detect AI-generated or tampered media before trusting it.","tags":["Verification"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.000000"},"protocols":[{"x402":{}}],"asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"operationId":"media_content_verification","description":"Call the service with inputs as a JSON body matching the requestBody schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"image_uri":{"type":"string","description":"Avatar/logo image URI: HTTPS URL or IPFS path"},"media_file_path":{"type":"string","description":"URL or path to the media file to verify"},"extract_metadata":{"type":"boolean","description":"Extract file metadata (default: true)"},"verify_authenticity":{"type":"boolean","description":"Verify content authenticity / C2PA provenance (default: true)"}},"required":["image_uri","media_file_path"]}}}},"responses":{"200":{"description":"Successful response: the service deliverable.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"Verification status (e.g., 'completed')"},"results":{"type":"object","description":"C2PA check, VirusTotal scan, and risk assessment"}},"required":["status","results"]}}}},"402":{"description":"Payment required. The response carries a PAYMENT-REQUIRED header (base64-encoded JSON) listing the accepted payment options (scheme \"exact\", network, amount in atomic USDC, asset, payTo). Construct and sign an x402 \"exact\" payment and retry the request with a PAYMENT-SIGNATURE header to receive the deliverable.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded JSON of the accepted x402 payment requirements (accepts[], each with scheme/network/amount/asset/payTo).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Always \"Payment required\"."}}}}}}}}},"/api/services/openclaw_ai_agent_verification":{"post":{"summary":"OpenClaw AI Agent Verification: Audit an AI agent configuration for security holes: prompt injection exposure, missing authentication, over-broad tool permissions and unsafe gateway settings. Check an agent before you trust it or connect to it.","tags":["Verification"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.000000"},"protocols":[{"x402":{}}],"asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"operationId":"openclaw_ai_agent_verification","description":"Call the service with inputs as a JSON body matching the requestBody schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"config":{"type":"string","description":"Agent configuration as a JSON string"},"tool":{"type":"string","description":"Tool to validate, as a JSON string"},"skills":{"type":"string","description":"Skills"},"message":{"type":"string","description":"Message"},"sessionId":{"type":"string","description":"Session ID"}},"required":["config"]}}}},"responses":{"200":{"description":"Successful response: the service deliverable.","content":{"application/json":{"schema":{"type":"object","properties":{"report":{"type":"string","description":"Report."}},"required":["report"]}}}},"402":{"description":"Payment required. The response carries a PAYMENT-REQUIRED header (base64-encoded JSON) listing the accepted payment options (scheme \"exact\", network, amount in atomic USDC, asset, payTo). Construct and sign an x402 \"exact\" payment and retry the request with a PAYMENT-SIGNATURE header to receive the deliverable.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded JSON of the accepted x402 payment requirements (accepts[], each with scheme/network/amount/asset/payTo).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Always \"Payment required\"."}}}}}}}}},"/api/services/post_launch_screening":{"post":{"summary":"Post-launch Screening: Score a live token launch under ERC-8376, the token launch abuse standard we co-authored. The twelve-signal vector is assembled from chain state and scored against the eleven deployer abuse patterns into an abuse score of 0 to 100, with confidence reported separately so a high score on thin evidence cannot read as a certainty. Signals that could not be computed are named rather than scored clean. Price decline is excluded by rule, so a launch that locked liquidity, sold nothing and fell 95 per cent still scores clean: falling is not fraud. Name the creator, because at most venues the token was deployed by the venue's own factory and the creating address is the launchpad rather than the applicant. A screening, not a bonded on-chain report.","tags":["Verification"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.000000"},"protocols":[{"x402":{}}],"asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"operationId":"post_launch_screening","description":"Call the service with inputs as a JSON body matching the requestBody schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","description":"Token contract address"},"creator":{"type":"string","description":"Wallet of the party who requested the launch, as connected at your venue. Without it the launch is unattributed and the signals about the deployer come back unavailable."},"chain":{"type":"string","description":"Chain name or EVM chain ID. base (8453) only for now, since the scoring contracts are deployed there."}},"required":["token"]}}}},"responses":{"200":{"description":"Successful response: the service deliverable.","content":{"application/json":{"schema":{"type":"object","properties":{"abuse_score":{"type":"number","description":"Highest score across the patterns that could be evaluated, 0 to 100"},"confidence":{"type":"number","description":"Measured certainty of the pattern reported, 0 to 100: the share of that pattern's own profile weight that was established. This is the number the containment ladder was driven by, so the action can be checked against the score and this figure together."},"confidence_basis":{"type":"string","description":"Which measurement confidence is. pattern_profile is the reported pattern's own established weight; vector is the fallback across all twelve signals."},"vector_established":{"type":"number","description":"The share of all twelve base signals that were established. Describes the launch rather than the pattern, which is why it is reported beside confidence rather than used as it."},"pattern":{"type":"string","description":"The pattern that scored highest"},"coverages":{"type":"object","description":"The same share for every pattern that scored, by name"},"conduct_coverage":{"type":"number","description":"The part of that share describing something the deployer actually did, rather than something it can do or never arranged. Zero means the score beside it is a ceiling rather than a measurement: a token holding a mint function with unlocked liquidity reads high coverage and no conduct."},"held_at_flag":{"type":"boolean","description":"Whether the action was withheld because nothing about conduct was established. We never contain a launch for what its code could one day do."},"sellability":{"type":"object","description":"Whether sampled holders can move the token to its pool, with the sample size. Null means too few holders could be sampled, in which case the honeypot pattern was not scored at all rather than scored clean."},"action":{"type":"string","description":"The containment action the score and its certainty justify, from the standard's ladder"},"signals":{"type":"object","description":"The twelve base signals, with unavailable ones named rather than zeroed"},"unavailable":{"type":"object","description":"Signals that could not be computed, and therefore excluded from the score"},"attribution":{"type":"object","description":"Who the signals are about, whether you declared them, and the factory that deployed the token"}},"required":["abuse_score","confidence","pattern","action","signals","unavailable","attribution"]}}}},"402":{"description":"Payment required. The response carries a PAYMENT-REQUIRED header (base64-encoded JSON) listing the accepted payment options (scheme \"exact\", network, amount in atomic USDC, asset, payTo). Construct and sign an x402 \"exact\" payment and retry the request with a PAYMENT-SIGNATURE header to receive the deliverable.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded JSON of the accepted x402 payment requirements (accepts[], each with scheme/network/amount/asset/payTo).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Always \"Payment required\"."}}}}}}}}},"/api/services/pre_launch_screening":{"post":{"summary":"Pre-launch Screening: Screen who is asking to launch, before you deploy anything for them. At most venues the launchpad creates the token, so the only thing in front of you beforehand is a connected wallet: this screens that wallet, and it includes the full wallet verification rather than a summary of one. OFAC SDN sanctions screening, the funding chain walked to depth across 33 chains, mixer contact including the Tornado Cash pools, dusting, control clusters and exchange reuse, with a risk score. Then the launch-specific half: allocations this wallet has taken from contracts before and whether it still holds them or sold them, and whether the ticker it wants collides with a token it already touched. Says what it could not establish rather than reporting it clean. Eight of the twelve ERC-8376 signals describe conduct during or after a sale and cannot exist yet, so this reports on the party and not on the launch.","tags":["Verification"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.000000"},"protocols":[{"x402":{}}],"asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"operationId":"pre_launch_screening","description":"Call the service with inputs as a JSON body matching the requestBody schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"creator":{"type":"string","description":"Wallet address of the party requesting the launch, as connected at your venue"},"ticker":{"type":"string","description":"Ticker or name they want, to check for collision with an existing project"},"chain":{"type":"string","description":"Chain name or EVM chain ID. Defaults to base (8453)."}},"required":["creator"]}}}},"responses":{"200":{"description":"Successful response: the service deliverable.","content":{"application/json":{"schema":{"type":"object","properties":{"riskLevel":{"type":"string","description":"Risk level from the full wallet verification, or unavailable where it could not run"},"walletVerification":{"type":"object","description":"The complete wallet verification: funding chain, mixer contact, dusting, control cluster, exchange reuse and score"},"sanctions":{"type":"string","description":"OFAC SDN screening result for the creator's wallet"},"wallet_age_days":{"type":"number","description":"Age of the wallet in days, or unavailable where its first transaction could not be read"},"prior_launches":{"type":"object","description":"Allocations taken from launchpad factories before, and what became of those tokens"},"collision":{"type":"object","description":"Existing tokens whose name or ticker matches the one requested"},"unavailable":{"type":"object","description":"Checks that could not be completed, and are therefore not claimed as clean"}},"required":["riskLevel","walletVerification","sanctions","wallet_age_days","prior_launches","collision","unavailable"]}}}},"402":{"description":"Payment required. The response carries a PAYMENT-REQUIRED header (base64-encoded JSON) listing the accepted payment options (scheme \"exact\", network, amount in atomic USDC, asset, payTo). Construct and sign an x402 \"exact\" payment and retry the request with a PAYMENT-SIGNATURE header to receive the deliverable.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded JSON of the accepted x402 payment requirements (accepts[], each with scheme/network/amount/asset/payTo).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Always \"Payment required\"."}}}}}}}}},"/api/services/private_data_verification":{"post":{"summary":"Private Data Verification: Prove a fact about private data without revealing the data: validates text integrity and returns a zero-knowledge proof (ZKP) with a verification ID and URL.","tags":["Verification"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.000000"},"protocols":[{"x402":{}}],"asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"operationId":"private_data_verification","description":"Call the service with inputs as a JSON body matching the requestBody schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"cpdv_data":{"type":"string","description":"Data (e.g., Test Data)"}},"required":["cpdv_data"]}}}},"responses":{"200":{"description":"Successful response: the service deliverable.","content":{"application/json":{"schema":{"type":"object","properties":{"proof_id":{"type":"string","description":"ZKP Verification ID"},"proof_url":{"type":"string","description":"ZKP Verification URL"}},"required":["proof_id","proof_url"]}}}},"402":{"description":"Payment required. The response carries a PAYMENT-REQUIRED header (base64-encoded JSON) listing the accepted payment options (scheme \"exact\", network, amount in atomic USDC, asset, payTo). Construct and sign an x402 \"exact\" payment and retry the request with a PAYMENT-SIGNATURE header to receive the deliverable.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded JSON of the accepted x402 payment requirements (accepts[], each with scheme/network/amount/asset/payTo).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Always \"Payment required\"."}}}}}}}}},"/api/services/quantum_cryptography_verification":{"post":{"summary":"Quantum Cryptography Verification: Encrypt text with quantum-resistant (post-quantum) cryptography, for secrets that must outlast classical encryption. Returns a record ID and a decrypt URL.","tags":["Verification"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.000000"},"protocols":[{"x402":{}}],"asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"operationId":"quantum_cryptography_verification","description":"Call the service with inputs as a JSON body matching the requestBody schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"cqcv_data":{"type":"string","description":"Any text data you want to encrypt and verify"}},"required":["cqcv_data"]}}}},"responses":{"200":{"description":"Successful response: the service deliverable.","content":{"application/json":{"schema":{"type":"object","properties":{"record_id":{"type":"string","description":"Record ID"},"decrypt_url":{"type":"string","description":"Decrypt URL"}},"required":["record_id","decrypt_url"]}}}},"402":{"description":"Payment required. The response carries a PAYMENT-REQUIRED header (base64-encoded JSON) listing the accepted payment options (scheme \"exact\", network, amount in atomic USDC, asset, payTo). Construct and sign an x402 \"exact\" payment and retry the request with a PAYMENT-SIGNATURE header to receive the deliverable.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded JSON of the accepted x402 payment requirements (accepts[], each with scheme/network/amount/asset/payTo).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Always \"Payment required\"."}}}}}}}}},"/api/services/solidity_code_verification":{"post":{"summary":"Solidity Code Verification: Audit Solidity smart contract source for vulnerabilities before you deploy or call it. Returns findings with a clear risk level.","tags":["Verification"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.000000"},"protocols":[{"x402":{}}],"asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"operationId":"solidity_code_verification","description":"Call the service with inputs as a JSON body matching the requestBody schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"solidity_code":{"type":"string","description":"Solidity Code"}},"required":["solidity_code"]}}}},"responses":{"200":{"description":"Successful response: the service deliverable.","content":{"application/json":{"schema":{"type":"object","properties":{"job_id":{"type":"string","description":"Job ID"},"overall_risk":{"type":"string","description":"Overall Risk Level"}},"required":["job_id","overall_risk"]}}}},"402":{"description":"Payment required. The response carries a PAYMENT-REQUIRED header (base64-encoded JSON) listing the accepted payment options (scheme \"exact\", network, amount in atomic USDC, asset, payTo). Construct and sign an x402 \"exact\" payment and retry the request with a PAYMENT-SIGNATURE header to receive the deliverable.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded JSON of the accepted x402 payment requirements (accepts[], each with scheme/network/amount/asset/payTo).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Always \"Payment required\"."}}}}}}}}},"/api/services/wallet_verification":{"post":{"summary":"Wallet Verification: Screen a wallet address for sanctions and risk: OFAC SDN sanctions screening, risk scoring and suspicious-activity detection across 33 EVM chains. Check a counterparty before you transact with it.","tags":["Verification"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.000000"},"protocols":[{"x402":{}}],"asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"operationId":"wallet_verification","description":"Call the service with inputs as a JSON body matching the requestBody schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"wallet_address":{"type":"string","description":"Wallet Address"}},"required":["wallet_address"]}}}},"responses":{"200":{"description":"Successful response: the service deliverable.","content":{"application/json":{"schema":{"type":"object","properties":{"report":{"type":"string","description":"Report"}},"required":["report"]}}}},"402":{"description":"Payment required. The response carries a PAYMENT-REQUIRED header (base64-encoded JSON) listing the accepted payment options (scheme \"exact\", network, amount in atomic USDC, asset, payTo). Construct and sign an x402 \"exact\" payment and retry the request with a PAYMENT-SIGNATURE header to receive the deliverable.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded JSON of the accepted x402 payment requirements (accepts[], each with scheme/network/amount/asset/payTo).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Always \"Payment required\"."}}}}}}}}},"/api/services/web_application_verification":{"post":{"summary":"Web Application Verification: Scan a website or dApp frontend for vulnerabilities using OWASP checks, before connecting a wallet to it or trusting it with user data.","tags":["Verification"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.000000"},"protocols":[{"x402":{}}],"asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"operationId":"web_application_verification","description":"Call the service with inputs as a JSON body matching the requestBody schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"target_url":{"type":"string","description":"Target URL"}},"required":["target_url"]}}}},"responses":{"200":{"description":"Successful response: the service deliverable.","content":{"application/json":{"schema":{"type":"object","properties":{"report_url":{"type":"string","description":"Report URL"}},"required":["report_url"]}}}},"402":{"description":"Payment required. The response carries a PAYMENT-REQUIRED header (base64-encoded JSON) listing the accepted payment options (scheme \"exact\", network, amount in atomic USDC, asset, payTo). Construct and sign an x402 \"exact\" payment and retry the request with a PAYMENT-SIGNATURE header to receive the deliverable.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded JSON of the accepted x402 payment requirements (accepts[], each with scheme/network/amount/asset/payTo).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Always \"Payment required\"."}}}}}}}}},"/api/catalog":{"get":{"operationId":"list_services","summary":"List services - every verification service with its live price, SLA and inputs","tags":["Discovery"],"security":[],"responses":{"200":{"description":"The service catalogue","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"priceUsd":{"type":"number"},"slaMinutes":{"type":"number"},"inputs":{"type":"array","items":{"type":"object"}}},"required":["name","title","priceUsd"]}}}}}}}},"/api/exploits":{"get":{"operationId":"recent_exploits","summary":"Recent exploits - real-world web3 exploits with losses, attack vectors and chains","tags":["Discovery"],"security":[],"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum incidents to return, 1 to 50. Defaults to 10.","schema":{"type":"integer","minimum":1,"maximum":50,"default":10}}],"responses":{"200":{"description":"The exploit window and its incidents","content":{"application/json":{"schema":{"type":"object","properties":{"windowDays":{"type":"number"},"totalIncidents":{"type":"number"},"totalLostUsd":{"type":"number"},"incidents":{"type":"array","items":{"type":"object"}}},"required":["windowDays","totalIncidents","incidents"]}}}}}}}}}