{"openapi":"3.1.0","info":{"title":"VAPE","description":"Autonomous on-chain security detective for Base — pay-per-call audits and safety scans.","version":"1.0.0","x-guidance":"VAPE is an autonomous on-chain security detective for Base (ERC-8004 identity #59900).\nEvery endpoint below is a single x402-gated GET returning real data from live sources —\nno simulated or placeholder responses. When a source is unavailable the response says so\nrather than inventing a result.\n\n## Paying\n- All routes settle in USDC on Base (eip155:8453) via the x402 protocol, v2.\n- Request the URL with no payment to receive a 402 and the PAYMENT-REQUIRED challenge header,\n  then retry with the X-PAYMENT header. Prices below are per-call and flat.\n\n## Security scans (/scan/*)\n- exploit_check ($0.01) — contract verification + proxy-swap surface.\n- token_safety_check ($0.02) — token-safety + liquidity scan with a weighted 0-100 score.\n- liquidity_check ($0.02) — liquidity depth and top pair DEX.\n- rug_pull_alert ($0.03) — owner-power and rug-risk flags.\n- market_intel ($0.07) — Base TVL trend, per-protocol share/category breakdown, concentration risk, DEX volume, gainers/losers, prices, sentiment, and a narrative summary.\n- dossier_check ($0.10) — VAPE's deepest instant verdict; score, meme-factory-template\n  detection, recent-hack correlation, web-reputation and declared-socials checks, plus a\n  frontier-LLM read of the verified source.\n- tx_decode ($0.05) — plain-language decode + risk flags for any Base/EVM tx hash.\n- community_intel_broadcast ($0.10) — VAPE's latest 6-hourly consolidated intel broadcast.\n- bulk_safety_bundle ($0.50) — token_safety_check batched over 5-25 tokens, flat-priced.\n- website_review ($0.15) — phishing/scam-page red-flag read of a plain website URL.\n- bounty_deep_dive / deep_contract_audit ($1.00) — asynchronous. Payment queues a real\n  Slither/Halmos/Mythril/Aderyn + frontier-LLM audit and returns a job id immediately;\n  the finished report is delivered privately by polling or an optional callback_url,\n  never published publicly.\n\n## Market data (/data/*)\nKeyless, mostly $0.01 each: token price-oracle intel and charts, protocol TVL/fees/\nunlocks/treasury, chain overviews, DEX volumes, yields, stablecoin depeg, and bridge\nvolumes. wallet_pnl_deepdive ($0.25) returns real Base-mainnet wallet\nbalances with a per-holding unrealized-P&L estimate.\n\nFree, unpaid context endpoints: https://vape-x402.vapex402.workers.dev/ (offering catalog) and https://vape-x402.vapex402.workers.dev/x402/feed\n(VAPE's own settled-job ledger, useful for verifying this service's real usage history).","contact":{"name":"VAPE","email":"apevape007@gmail.com","url":"https://github.com/jUXTAPOSITION1/V.A.P.E"}},"servers":[{"url":"https://vape-x402.vapex402.workers.dev"}],"x-agentcash-guidance":{"llmsTxtUrl":"https://vape-x402.vapex402.workers.dev/llms.txt"},"tags":[{"name":"security","description":"Contract, token, and website security analysis"},{"name":"market-data","description":"Keyless on-chain market and protocol data"}],"paths":{"/scan/exploit_check":{"get":{"operationId":"vape_exploit_check","summary":"VAPE exploit_check — Contract verification + proxy-swap surface check. Real on-chain/market data, no simulation.","tags":["security","on-chain-forensics","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"address","schema":{"type":"string","description":"Base (chain 8453) contract/token address to analyze"},"description":"Base (chain 8453) contract/token address to analyze","required":true},{"in":"query","name":"chain","schema":{"type":"string","description":"optional chain id override, defaults to 8453"},"description":"optional chain id override, defaults to 8453"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/scan/token_safety_check":{"get":{"operationId":"vape_token_safety_check","summary":"VAPE token_safety_check — Full token safety + liquidity scan with a weighted 0-100 risk score. Real on-chain/market data, no simulation.","tags":["security","on-chain-forensics","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"address","schema":{"type":"string","description":"Base (chain 8453) contract/token address to analyze"},"description":"Base (chain 8453) contract/token address to analyze","required":true},{"in":"query","name":"chain","schema":{"type":"string","description":"optional chain id override, defaults to 8453"},"description":"optional chain id override, defaults to 8453"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/scan/liquidity_check":{"get":{"operationId":"vape_liquidity_check","summary":"VAPE liquidity_check — Liquidity depth + top pair DEX for a Base token. Real on-chain/market data, no simulation.","tags":["security","on-chain-forensics","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"address","schema":{"type":"string","description":"Base (chain 8453) contract/token address to analyze"},"description":"Base (chain 8453) contract/token address to analyze","required":true},{"in":"query","name":"chain","schema":{"type":"string","description":"optional chain id override, defaults to 8453"},"description":"optional chain id override, defaults to 8453"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/scan/rug_pull_alert":{"get":{"operationId":"vape_rug_pull_alert","summary":"VAPE rug_pull_alert — Owner-power / rug-risk flags (mint, blacklist, pausable transfers, LP concentration). Real on-chain/market data, no simulation.","tags":["security","on-chain-forensics","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"address","schema":{"type":"string","description":"Base (chain 8453) contract/token address to analyze"},"description":"Base (chain 8453) contract/token address to analyze","required":true},{"in":"query","name":"chain","schema":{"type":"string","description":"optional chain id override, defaults to 8453"},"description":"optional chain id override, defaults to 8453"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/scan/market_intel":{"get":{"operationId":"vape_market_intel","summary":"VAPE market_intel — Base TVL with 24h/7d change, per-protocol share/category breakdown, concentration risk, 24h DEX volume, top gainers/losers, ETH/BTC prices, Fear & Greed index, global market cap, and a real-data narrative summary. Takes no input -- always a whole-of-Base snapshot, not a per-token lookup. Real on-chain/market data, no simulation.","tags":["security","on-chain-forensics","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.07"},"protocols":[{"x402":{}}]},"parameters":[],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/scan/dossier_check":{"get":{"operationId":"vape_dossier_check","summary":"VAPE dossier_check — VAPE's deepest instant verdict: weighted 0-100 risk score, meme-factory-template detection, recent-hack correlation, public web-reputation search, a live check of the project's declared socials, and a frontier-LLM quick read of the verified source. Real on-chain/market data, no simulation.","tags":["security","on-chain-forensics","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"address","schema":{"type":"string","description":"Base (chain 8453) contract/token address to analyze"},"description":"Base (chain 8453) contract/token address to analyze","required":true},{"in":"query","name":"chain","schema":{"type":"string","description":"optional chain id override, defaults to 8453"},"description":"optional chain id override, defaults to 8453"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/scan/bounty_deep_dive":{"get":{"operationId":"vape_bounty_deep_dive","summary":"VAPE bounty_deep_dive — Submission-ready PoC and full technical detail: real recon + Slither + frontier-model line-by-line source review, delivered as a real committed report — VAPE's deepest automated pass. Supply a contract address, or a GitHub owner/repo to have VAPE audit a specific bounty program directly.","tags":["security","on-chain-forensics","base","premium"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.00"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"address","schema":{"type":"string","description":"Base (chain 8453) contract/token address to audit"},"description":"Base (chain 8453) contract/token address to audit","required":true},{"in":"query","name":"chain","schema":{"type":"string","description":"optional chain id override, defaults to 8453"},"description":"optional chain id override, defaults to 8453"},{"in":"query","name":"callback_url","schema":{"type":"string","description":"optional webhook to POST the completed report to"},"description":"optional webhook to POST the completed report to"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/scan/deep_contract_audit":{"get":{"operationId":"vape_deep_contract_audit","summary":"VAPE deep_contract_audit — slither+aderyn+mythril severity-rated audit + 0-100 score for a Base/EVM contract address — the same real-tool pipeline as bounty_deep_dive, address-only.","tags":["security","on-chain-forensics","base","premium"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.00"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"address","schema":{"type":"string","description":"Base (chain 8453) contract/token address to audit"},"description":"Base (chain 8453) contract/token address to audit","required":true},{"in":"query","name":"chain","schema":{"type":"string","description":"optional chain id override, defaults to 8453"},"description":"optional chain id override, defaults to 8453"},{"in":"query","name":"callback_url","schema":{"type":"string","description":"optional webhook to POST the completed report to"},"description":"optional webhook to POST the completed report to"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/scan/tx_decode":{"get":{"operationId":"vape_tx_decode","summary":"VAPE tx_decode — Plain-language transaction decode + risk flags for any Base/EVM tx hash — real on-chain tx/receipt/logs plus method/event-signature lookup, no simulation.","tags":["security","on-chain-forensics","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"tx_hash","schema":{"type":"string","description":"0x-prefixed 32-byte transaction hash"},"description":"0x-prefixed 32-byte transaction hash","required":true},{"in":"query","name":"chain","schema":{"type":"string","description":"optional chain id override, defaults to 8453"},"description":"optional chain id override, defaults to 8453"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/scan/community_intel_broadcast":{"get":{"operationId":"vape_community_intel_broadcast","summary":"VAPE community_intel_broadcast — VAPE's latest 6-hourly consolidated security + market intel broadcast — real committed output from agents/broadcast.py, not generated per-request.","tags":["market-data","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{}}]},"parameters":[],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/scan/bulk_safety_bundle":{"get":{"operationId":"vape_bulk_safety_bundle","summary":"VAPE bulk_safety_bundle — token_safety_check batched over 5-25 tokens in one job, flat-priced.","tags":["security","on-chain-forensics","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.50"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"addresses","schema":{"type":"string","description":"5-25 comma-separated Base (chain 8453) token addresses"},"description":"5-25 comma-separated Base (chain 8453) token addresses","required":true},{"in":"query","name":"chain","schema":{"type":"string","description":"optional chain id override, defaults to 8453, applies to all addresses"},"description":"optional chain id override, defaults to 8453, applies to all addresses"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/scan/website_review":{"get":{"operationId":"vape_website_review","summary":"VAPE website_review — Phishing/scam-page red-flag read of a website: fake contract addresses, wallet-drainer patterns, brand mismatch, copy-paste scam-site boilerplate — real scrape + frontier-LLM read, not a smart-contract audit (see bounty_deep_dive for that).","tags":["security","phishing","web"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.15"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"url","schema":{"type":"string","description":"http(s) URL of the website to review"},"description":"http(s) URL of the website to review","required":true}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/scan/web_research":{"get":{"operationId":"vape_web_research","summary":"VAPE web_research — General web research: search + scrape a handful of real results, tag on-chain addresses/tx hashes/CVEs/$TICKERs, and return a dense, agent-consumable summary grounded only in what was actually found. Built for AI-agent callers (structured JSON, no marketing prose) as much as human ones.","tags":["research","web","agent-tooling"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"query","schema":{"type":"string","description":"research query"},"description":"research query","required":true}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/token_intel":{"get":{"operationId":"vape_token_intel","summary":"VAPE token_intel — A full independent read on one token: current price + a 0-1 confidence score, first-ever-recorded price (an oracle-derived age signal harder to spoof than a DEX pair timestamp), the token's real logo, and — when a protocol slug is given — fees/revenue, the next unlock event, and treasury own-token share.","tags":["price-oracle","token","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"address","schema":{"type":"string","description":"token contract address"},"description":"token contract address","required":true},{"in":"query","name":"chain","schema":{"type":"string","description":"chain slug, default 'base'"},"description":"chain slug, default 'base'"},{"in":"query","name":"slug","schema":{"type":"string","description":"optional protocol slug to add fees/unlocks/treasury"},"description":"optional protocol slug to add fees/unlocks/treasury"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/token_chart":{"get":{"operationId":"vape_token_chart","summary":"VAPE token_chart — Daily price series for a token (default 30d), plus the token's real logo — feeds sparklines and a rule-based volatility read.","tags":["price-oracle","chart","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"address","schema":{"type":"string","description":"token contract address"},"description":"token contract address","required":true},{"in":"query","name":"chain","schema":{"type":"string","description":"chain slug, default 'base'"},"description":"chain slug, default 'base'"},{"in":"query","name":"span","schema":{"type":"number","description":"days of history, default 30"},"description":"days of history, default 30"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/protocol":{"get":{"operationId":"vape_protocol","summary":"VAPE protocol — Full protocol record: per-chain TVL, category, audits, the official logo, Twitter, and description — the 'who is this protocol' snapshot.","tags":["tvl","protocol"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"slug","schema":{"type":"string","description":"protocol slug, e.g. 'aerodrome'"},"description":"protocol slug, e.g. 'aerodrome'","required":true}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/protocol_fees":{"get":{"operationId":"vape_protocol_fees","summary":"VAPE protocol_fees — A protocol's real earned fees + revenue (24h/7d/30d/1y/all-time) with its logo — 'does this actually make money, or is it just parked TVL?', a legitimacy signal raw TVL misses.","tags":["fees","revenue","protocol"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"slug","schema":{"type":"string","description":"protocol slug"},"description":"protocol slug","required":true}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/unlocks":{"get":{"operationId":"vape_unlocks","summary":"VAPE unlocks — Token unlock / emission schedule for a protocol — surfaces the next upcoming unlock event (a concrete dump-risk an investigator must flag) and how many days out it is.","tags":["unlocks","emissions","risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"slug","schema":{"type":"string","description":"protocol slug"},"description":"protocol slug","required":true}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/treasury":{"get":{"operationId":"vape_treasury","summary":"VAPE treasury — A protocol's on-chain treasury composition — total USD, own-token USD, and the own-token share (a treasury that's ~all its own token is a fragility signal).","tags":["treasury","risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"slug","schema":{"type":"string","description":"protocol slug"},"description":"protocol slug","required":true}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/chain_protocols":{"get":{"operationId":"vape_chain_protocols","summary":"VAPE chain_protocols — Top protocols on a chain by TVL (default Base), each with its real logo, category, and 24h/7d change — the chain-ecosystem view.","tags":["tvl","chain","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"chain","schema":{"type":"string","description":"chain display name, default 'Base'"},"description":"chain display name, default 'Base'"},{"in":"query","name":"limit","schema":{"type":"number","description":"how many protocols, default 20"},"description":"how many protocols, default 20"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/chain_overview":{"get":{"operationId":"vape_chain_overview","summary":"VAPE chain_overview — A chain's headline TVL and its rank among all tracked chains (default Base).","tags":["tvl","chain","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"chain","schema":{"type":"string","description":"chain display name, default 'Base'"},"description":"chain display name, default 'Base'"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/chain_fees":{"get":{"operationId":"vape_chain_fees","summary":"VAPE chain_fees — Fee-earning protocols on a chain, ranked, each with its logo (default Base) — the chain's real economic activity, not just parked capital.","tags":["fees","chain","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"chain","schema":{"type":"string","description":"chain slug, default 'base'"},"description":"chain slug, default 'base'"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/dex_volumes":{"get":{"operationId":"vape_dex_volumes","summary":"VAPE dex_volumes — DEX trading volume on a chain by venue, each with its logo (default Base) — real trading activity across the chain's exchanges.","tags":["dex","volume","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"chain","schema":{"type":"string","description":"chain slug, default 'base'"},"description":"chain slug, default 'base'"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/yields":{"get":{"operationId":"vape_yields","summary":"VAPE yields — Yield pools filtered by chain/project/symbol, ranked by TVL, with apy/apyBase/ilRisk/exposure — enough to tell a real yield venue from a trap (huge APY + tiny TVL = red flag).","tags":["yields","apy"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"chain","schema":{"type":"string","description":"chain filter, e.g. 'Base'"},"description":"chain filter, e.g. 'Base'"},{"in":"query","name":"project","schema":{"type":"string","description":"project filter, e.g. 'aave-v3'"},"description":"project filter, e.g. 'aave-v3'"},{"in":"query","name":"symbol","schema":{"type":"string","description":"symbol filter, e.g. 'USDC'"},"description":"symbol filter, e.g. 'USDC'"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/stablecoins":{"get":{"operationId":"vape_stablecoins","summary":"VAPE stablecoins — Stablecoins by circulating supply with live peg price and a computed depeg amount — a de-pegging stablecoin is a live systemic threat signal.","tags":["stablecoins","depeg","risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/bridges":{"get":{"operationId":"vape_bridges","summary":"VAPE bridges — Tracked bridges ranked by recent daily volume — bridge exploits are a top attack class, and this is the capital-flow data that category needs a source for.","tags":["bridges","volume","threat"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/data/wallet_pnl_deepdive":{"get":{"operationId":"vape_wallet_pnl_deepdive","summary":"VAPE wallet_pnl_deepdive — A real wallet holdings + P&L estimate: current token balances with USD values, and an unrealized-P&L estimate per holding (current value vs. price at first incoming transfer) — an approximation, not full trade-by-trade accounting. Base mainnet only.","tags":["wallet","pnl","portfolio","base"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.25"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"address","schema":{"type":"string","description":"wallet address"},"description":"wallet address","required":true}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}}}}