{"openapi":"3.1.0","info":{"title":"BaseLens","version":"1.1.0","contact":{"name":"BaseLens","url":"https://github.com/Imac2014Ville/baselens"},"description":"Honeypot check and rug pull check for Base tokens (is this token safe?), new token launches feed for snipers, cheapest cloud GPU prices, web page to markdown scraper. Also tx explainer, wallet balances, x402 checker. No API key: pay USDC on Base per call via x402.","x-guidance":"Pay-per-call USDC on Base via x402. Strongest use: POST /token-risk {token} ($0.02) honeypot check / rug pull check - is this token safe? Simulated sell, owner powers, liquidity, LP burn, verdict LOW_RISK/CAUTION/HIGH_RISK/AVOID and risk score. POST /new-pools {minutes, quote} ($0.01) lists new token launches on Base for sniper bots; pair with /token-risk. POST /cloud-prices {gpu, region, sku} ($0.02) finds the cheapest cloud GPU price (Azure H100/A100), sorted cheapest first. POST /fetch {url} ($0.004) converts a web page to markdown (scrape). Also ($0.005-0.01): POST /tx {hash} explains a Base transaction and verifies payments; POST /wallet {address} balances; POST /x402check {url, method} health-checks an x402 endpoint. GET with query params also works."},"servers":[{"url":"https://baselens.imac2014ville.workers.dev"}],"paths":{"/new-pools":{"get":{"operationId":"new-poolsGet","summary":"New token launches on Base (sniper feed)","description":"New token launches on Base in the last N minutes (Uniswap v2/v3/v4, Aerodrome): token, quote, initial price, liquidity, hooks, flags. Sniper and trading-bot feed; run /token-risk (honeypot check, scam token check) on each before buying.","tags":["new-tokens","sniper","dex","base","trading"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"count":25,"pools":[{"dex":"uniswap-v4","token":{"symbol":"XYZ"},"quote":"WETH","ageMinutes":3,"priceUsd":0.00012,"flags":["custom-hooks"]}]}}}},"402":{"description":"Payment Required"}},"parameters":[{"name":"minutes","in":"query","required":false,"schema":{"type":"number","description":"Look-back window, 1-120 (default 30)"},"description":"Look-back window, 1-120 (default 30)"},{"name":"quote","in":"query","required":false,"schema":{"type":"string","enum":["any","weth","usdc"],"description":"Quote token filter (default any)"},"description":"Quote token filter (default any)"},{"name":"minLiquidityUsd","in":"query","required":false,"schema":{"type":"number","description":"Minimum USD liquidity (excludes v4 pools, whose liquidity is not measured)"},"description":"Minimum USD liquidity (excludes v4 pools, whose liquidity is not measured)"},{"name":"limit","in":"query","required":false,"schema":{"type":"number","description":"Max pools, 1-100 (default 25)"},"description":"Max pools, 1-100 (default 25)"}]},"post":{"operationId":"new-poolsPost","summary":"New token launches on Base (sniper feed)","description":"New token launches on Base in the last N minutes (Uniswap v2/v3/v4, Aerodrome): token, quote, initial price, liquidity, hooks, flags. Sniper and trading-bot feed; run /token-risk (honeypot check, scam token check) on each before buying.","tags":["new-tokens","sniper","dex","base","trading"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"count":25,"pools":[{"dex":"uniswap-v4","token":{"symbol":"XYZ"},"quote":"WETH","ageMinutes":3,"priceUsd":0.00012,"flags":["custom-hooks"]}]}}}},"402":{"description":"Payment Required"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"minutes":{"type":"number","description":"Look-back window, 1-120 (default 30)"},"quote":{"type":"string","enum":["any","weth","usdc"],"description":"Quote token filter (default any)"},"minLiquidityUsd":{"type":"number","description":"Minimum USD liquidity (excludes v4 pools, whose liquidity is not measured)"},"limit":{"type":"number","description":"Max pools, 1-100 (default 25)"}}}}}}}},"/cloud-prices":{"get":{"operationId":"cloud-pricesGet","summary":"Cheapest cloud GPU price (Azure)","description":"Cheapest cloud GPU price lookup: live Azure GPU price per hour/month (H100, A100, NC, NV) and CPU VM pricing, by region, spot/consumption/reservation, Linux/Windows. Sorted cheapest first.","tags":["gpu-price","cheapest-gpu","cloud","azure","finops"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"count":25,"cheapest":{"sku":"Standard_NV4as_v4","region":"eastus","hourlyUsd":0.233}}}}},"402":{"description":"Payment Required"}},"parameters":[{"name":"region","in":"query","required":false,"schema":{"type":"string","description":"Azure region, e.g. eastus, westeurope"},"description":"Azure region, e.g. eastus, westeurope"},{"name":"sku","in":"query","required":false,"schema":{"type":"string","description":"SKU substring, e.g. H100, NC, D4s"},"description":"SKU substring, e.g. H100, NC, D4s"},{"name":"gpu","in":"query","required":false,"schema":{"type":"boolean","description":"GPU VM families only"},"description":"GPU VM families only"},{"name":"priceType","in":"query","required":false,"schema":{"type":"string","enum":["Consumption","Spot","Reservation"]}},{"name":"os","in":"query","required":false,"schema":{"type":"string","enum":["linux","windows"]}},{"name":"maxResults","in":"query","required":false,"schema":{"type":"number","description":"1-100 (default 25)"},"description":"1-100 (default 25)"}]},"post":{"operationId":"cloud-pricesPost","summary":"Cheapest cloud GPU price (Azure)","description":"Cheapest cloud GPU price lookup: live Azure GPU price per hour/month (H100, A100, NC, NV) and CPU VM pricing, by region, spot/consumption/reservation, Linux/Windows. Sorted cheapest first.","tags":["gpu-price","cheapest-gpu","cloud","azure","finops"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"count":25,"cheapest":{"sku":"Standard_NV4as_v4","region":"eastus","hourlyUsd":0.233}}}}},"402":{"description":"Payment Required"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"region":{"type":"string","description":"Azure region, e.g. eastus, westeurope"},"sku":{"type":"string","description":"SKU substring, e.g. H100, NC, D4s"},"gpu":{"type":"boolean","description":"GPU VM families only"},"priceType":{"type":"string","enum":["Consumption","Spot","Reservation"]},"os":{"type":"string","enum":["linux","windows"]},"maxResults":{"type":"number","description":"1-100 (default 25)"}}}}}}}},"/fetch":{"get":{"operationId":"fetchGet","summary":"Web page to markdown (scrape URL)","description":"Web page to markdown: scrape any public URL into clean LLM-ready markdown (main article text, title, links, word count). JSON/text passthrough. SSRF-safe, 2 MB cap, no JavaScript rendering.","tags":["web-to-markdown","scrape","llm","web"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.004"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"title":"Example Domain","markdown":"# Example Domain\n\nThis domain is for use in illustrative examples...","wordCount":30,"truncated":false}}}},"402":{"description":"Payment Required"}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","description":"http(s) URL to fetch"},"description":"http(s) URL to fetch"},{"name":"maxChars","in":"query","required":false,"schema":{"type":"number","description":"Truncate markdown to this many characters (default 50000)"},"description":"Truncate markdown to this many characters (default 50000)"}]},"post":{"operationId":"fetchPost","summary":"Web page to markdown (scrape URL)","description":"Web page to markdown: scrape any public URL into clean LLM-ready markdown (main article text, title, links, word count). JSON/text passthrough. SSRF-safe, 2 MB cap, no JavaScript rendering.","tags":["web-to-markdown","scrape","llm","web"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.004"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"title":"Example Domain","markdown":"# Example Domain\n\nThis domain is for use in illustrative examples...","wordCount":30,"truncated":false}}}},"402":{"description":"Payment Required"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"http(s) URL to fetch"},"maxChars":{"type":"number","description":"Truncate markdown to this many characters (default 50000)"}},"required":["url"]}}}}}},"/token-risk":{"get":{"operationId":"token-riskGet","summary":"Honeypot check / rug pull check: is this Base token safe?","description":"Honeypot check and rug pull check for any Base token: is this token safe to buy? Simulates a sell, checks owner powers (mint, blacklist, pause, fees, proxy), renounced ownership, liquidity, LP burn. Returns LOW_RISK/CAUTION/HIGH_RISK/AVOID, risk score 0-100.","tags":["honeypot","rug-check","token-safety","scam-token","base"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"symbol":"AERO","verdict":"LOW_RISK","riskScore":0,"flags":[],"liquidityUsd":48832868,"priceUsd":0.8378,"sellSimulation":{"simulated":true,"sellToPoolSucceeds":true}}}}},"402":{"description":"Payment Required"}},"parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","description":"ERC-20 contract address on Base"},"description":"ERC-20 contract address on Base"}]},"post":{"operationId":"token-riskPost","summary":"Honeypot check / rug pull check: is this Base token safe?","description":"Honeypot check and rug pull check for any Base token: is this token safe to buy? Simulates a sell, checks owner powers (mint, blacklist, pause, fees, proxy), renounced ownership, liquidity, LP burn. Returns LOW_RISK/CAUTION/HIGH_RISK/AVOID, risk score 0-100.","tags":["honeypot","rug-check","token-safety","scam-token","base"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"symbol":"AERO","verdict":"LOW_RISK","riskScore":0,"flags":[],"liquidityUsd":48832868,"priceUsd":0.8378,"sellSimulation":{"simulated":true,"sellToPoolSucceeds":true}}}}},"402":{"description":"Payment Required"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","description":"ERC-20 contract address on Base"}},"required":["token"]}}}}}},"/tx":{"get":{"operationId":"txGet","summary":"Explain a Base transaction","description":"Explain a Base transaction in plain English: status, confirmations, fee, decoded ERC-20 transfers. Verify a USDC payment landed on Base.","tags":["tx-explainer","base","payments","explorer"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"found":true,"status":"success","confirmations":12,"feeEth":"0.0000021","summary":["14.99 USDC from 0xabc… to 0x85d…"]}}}},"402":{"description":"Payment Required"}},"parameters":[{"name":"hash","in":"query","required":true,"schema":{"type":"string","description":"Base tx hash (0x + 64 hex)"},"description":"Base tx hash (0x + 64 hex)"}]},"post":{"operationId":"txPost","summary":"Explain a Base transaction","description":"Explain a Base transaction in plain English: status, confirmations, fee, decoded ERC-20 transfers. Verify a USDC payment landed on Base.","tags":["tx-explainer","base","payments","explorer"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"found":true,"status":"success","confirmations":12,"feeEth":"0.0000021","summary":["14.99 USDC from 0xabc… to 0x85d…"]}}}},"402":{"description":"Payment Required"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"hash":{"type":"string","description":"Base tx hash (0x + 64 hex)"}},"required":["hash"]}}}}}},"/wallet":{"get":{"operationId":"walletGet","summary":"Base wallet balance snapshot","description":"Base wallet balance check: ETH, nonce, EOA vs contract (EIP-7702), and USDC, WETH, cbBTC, cbETH, DAI, EURC, AERO balances for any address.","tags":["wallet","balances","base","crypto"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"address":"0x…","ethBalance":"0.42","nonce":17,"type":"EOA","tokenBalances":{"USDC":"120.5"}}}}},"402":{"description":"Payment Required"}},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","description":"0x address"},"description":"0x address"}]},"post":{"operationId":"walletPost","summary":"Base wallet balance snapshot","description":"Base wallet balance check: ETH, nonce, EOA vs contract (EIP-7702), and USDC, WETH, cbBTC, cbETH, DAI, EURC, AERO balances for any address.","tags":["wallet","balances","base","crypto"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"address":"0x…","ethBalance":"0.42","nonce":17,"type":"EOA","tokenBalances":{"USDC":"120.5"}}}}},"402":{"description":"Payment Required"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"0x address"}},"required":["address"]}}}}}},"/x402check":{"get":{"operationId":"x402checkGet","summary":"x402 endpoint health check","description":"x402 endpoint health check before you pay: reachable, latency, price in USD, network, payTo, discovery metadata and spec issues.","tags":["x402","health-check","monitoring","devtools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"isX402":true,"latencyMs":180,"options":[{"network":"eip155:8453","priceUsd":0.01}],"issues":[]}}}},"402":{"description":"Payment Required"}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","description":"https URL of an x402 endpoint"},"description":"https URL of an x402 endpoint"},{"name":"method","in":"query","required":false,"schema":{"type":"string","enum":["GET","POST"],"description":"HTTP method the endpoint uses (default GET)"},"description":"HTTP method the endpoint uses (default GET)"}]},"post":{"operationId":"x402checkPost","summary":"x402 endpoint health check","description":"x402 endpoint health check before you pay: reachable, latency, price in USD, network, payTo, discovery metadata and spec issues.","tags":["x402","health-check","monitoring","devtools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"isX402":true,"latencyMs":180,"options":[{"network":"eip155:8453","priceUsd":0.01}],"issues":[]}}}},"402":{"description":"Payment Required"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"https URL of an x402 endpoint"},"method":{"type":"string","enum":["GET","POST"],"description":"HTTP method the endpoint uses (default GET)"}},"required":["url"]}}}}}}},"x-discovery":{"ownershipProofs":["0xbcc2fc4215bbae9462c73c93fb327298e50fcadd3ad8daddddc9143c7926238c7f6e57c0d636333f0db22c9d0ecf4822f37b2892bda62087f96a91955f6583571c"]}}