{"x402Version":2,"name":"QuickBuild agent APIs (incl. LaunchCheck)","description":"Pay-per-call web, AI, browser, Base on-chain and LLM tools for AI agents over x402 (USDC on Base). Featured: LaunchCheck website launch-readiness report ($0.05, free tier at https://quickbuild.quynguyenbac.workers.dev/launchcheck). No accounts or API keys; errors are never charged.","site":"https://quickbuild.quynguyenbac.workers.dev","contact":"quickbuild@mail.grokbot.com","openapi":"https://quickbuild.quynguyenbac.workers.dev/openapi.json","mcp":"https://quickbuild.quynguyenbac.workers.dev/mcp","updated":"2026-10-24","resources":[{"url":"https://quickbuild.quynguyenbac.workers.dev/api/audit","method":"GET","title":"Pre-launch website audit (SEO, OG, security headers, broken links, leaked-key patterns)","description":"Pre-launch website audit: up to 3 pages crawled, 30 links checked, meta/OG/canonical, security headers, HTTPS, 404 handling, sitemap, and leaked-secret patterns in client JS (masked). Read-only.","tags":["seo","security","website-audit","broken-links","launch-check"],"price":"$0.05","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"50000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/launchcheck/full","method":"GET","title":"LaunchCheck full pre-launch report for one URL: broken links, desktop+mobile screenshots, load time, alt text, headings, prioritized fix list","description":"LaunchCheck full report for one public URL: status code, HTTPS/redirects, title/description, Open Graph/Twitter card, robots.txt/sitemap/noindex, plus up to 50 links checked for breakage, og:image load check, desktop 1280x800 and mobile 390x844 JPEG screenshots, edge TTFB and real-browser load time, image alt text, heading outline, mobile overflow, and a P1-P3 prioritized fix list. Read-only. Unreachable sites are not charged.","tags":["launch-check","website-audit","seo","broken-links","screenshot"],"price":"$0.05","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"50000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/meta","method":"GET","title":"URL -> title, description, Open Graph, Twitter card, canonical, favicon, feeds, JSON-LD types, links","description":"Fetch one public web page and return structured metadata: title, meta description, canonical, lang, robots, Open Graph and Twitter card tags, favicon, RSS/Atom feeds, JSON-LD @types, and internal/external links (up to 100 each). Good for link previews, unfurling and quick site triage.","tags":["metadata","open-graph","link-preview","unfurl","seo","web"],"price":"$0.005","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"5000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/markdown","method":"GET","title":"URL -> clean Markdown of the main content (for LLM context)","description":"Fetch one public web page and return its main content (article/main/body, scripts/nav/footer stripped) as clean Markdown with absolute links, plus title and length. Up to 2 MB HTML, 10 s timeout; optional maxChars (default 50000, max 200000).","tags":["markdown","scrape","extract","llm","rag","web"],"price":"$0.005","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"5000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/summarize","method":"GET","title":"URL or text -> structured JSON brief (summary, key points, entities, topics, facts, sentiment) for agents","description":"Fetch a public web page (or take raw text) and return a structured JSON brief made by Llama 3.3 70B: title, language, contentType, summary, keyPoints, named entities with types, topic tags, concrete facts (prices, dates, versions, limits) as label/value pairs, sentiment and audience. Grounded in the page only, no invented facts. Reads up to 24,000 chars of main content (2 MB HTML, 10 s fetch timeout). All params optional: with none it summarizes https://example.com. GET with query params, or POST a JSON body for long text (up to 200,000 chars accepted, first 24,000 analyzed).","tags":["ai","summarize","summary","extract","structured-data","json","llm","research","web"],"price":"$0.02","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"20000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/translate","method":"GET","title":"Translate text or a whole web page (as Markdown) between 36 languages; auto-detects the source language","description":"LLM translation (Meta Llama 4 Scout on Workers AI, M2M100 fallback). Give `text`, or a `url` whose main content is extracted as Markdown and translated in blocks, preserving Markdown formatting, URLs and code blocks. Source language auto-detected (or set `from`). Up to 20,000 chars per call (default 8,000). All params optional: with none it translates a short Spanish sample to English. Languages: en,es,fr,de,it,pt,nl,ru,uk,pl,cs,ro,hu,el,bg,sv,da,no,fi,tr,ar,he,fa,hi,bn,ur,ta,zh,ja,ko,vi,th,id,ms,tl,sw.","tags":["ai","translate","translation","i18n","localization","multilingual","language","web"],"price":"$0.005","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"5000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/image","method":"GET","title":"Text-to-image: prompt -> 1024x1024 image (FLUX.1 schnell), returned as base64 in JSON or as raw JPEG","description":"Generate an original 1024x1024 image from a text prompt with FLUX.1 [schnell] on Workers AI (about 2-5 s). Returns JSON with image_base64 + mimeType, or the raw image bytes with format=jpeg. Content policy: no sexual/nude, gore, hate, real or famous people, or ID documents/currency; such prompts get HTTP 400 and are not charged. All params optional: with no prompt a sample watercolor lighthouse is drawn.","tags":["ai","image","image-generation","text-to-image","flux","art","illustration"],"price":"$0.01","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/screenshot","method":"GET","title":"URL -> screenshot (PNG/JPEG) rendered in real headless Chrome, as base64 JSON or raw image","description":"Render a public web page in a real headless Chrome (JavaScript executed, waits for network idle) and return a screenshot: viewport (default 1280x800) or full page (up to 8000 px tall), PNG or JPEG, optional dark mode and extra wait. JSON with image_base64 + finalUrl/status/title, or raw image bytes with format=png|jpeg. Typically 2-6 s (up to ~25 s when busy). Use it for visual QA, link previews, archiving, checking what a page really shows, or feeding a vision model. Adult/malware domains (Cloudflare family DNS) and private addresses are refused. All params optional: with none it captures https://example.com. Errors are never charged.","tags":["screenshot","browser","headless-chrome","render","capture","web","visual","vision","qa"],"price":"$0.008","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"8000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/tts","method":"GET","title":"Text-to-speech: text -> natural voice audio (WAV) in en/es/fr/zh/ja/ko, base64 JSON or raw audio","description":"Turn text (up to 2000 chars) into spoken audio with MeloTTS on Cloudflare Workers AI, in English, Spanish, French, Chinese, Japanese or Korean. Returns JSON with audio_base64 + mimeType (audio/wav, 44.1 kHz mono), or the raw audio bytes with format=wav. Good for voice replies, narration, accessibility and language practice. Text with sexual, hateful or violent content is refused (HTTP 400, not charged). All params optional: with none it speaks a short English sample. GET with query params or POST a JSON body.","tags":["ai","tts","text-to-speech","speech","voice","audio","narration","accessibility"],"price":"$0.005","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"5000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/base/gas","method":"GET","title":"Base gas now: base fee, priority-fee tiers, block, and USD cost of a transfer/ERC-20 transfer/swap incl. L1 data fee","description":"Live gas snapshot for Base mainnet (chain 8453) read from public Base RPC: latest block number/time/utilization, base fee, eth_gasPrice, eth_maxPriorityFeePerGas, the last 10 blocks of base fees, slow/standard/fast EIP-1559 fee suggestions (10th/50th/90th percentile tips) in gwei and wei, and the estimated total cost (L2 execution + OP Stack L1 data-fee upper bound) of an ETH transfer, an ERC-20 transfer and a swap in ETH and USD (Chainlink ETH/USD on Base). No params. Cached 4 s. Errors are never charged.","tags":["base","gas","crypto","onchain","evm"],"price":"$0.001","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/base/wallet","method":"GET","title":"Base wallet balances: ETH + USDC/USDT/DAI/WETH/cbETH/wstETH/AERO + any ERC-20s you list, with USD totals","description":"Balances of one address on Base mainnet in a single call: native ETH, the well-known tokens USDC, USDT, USDbC, DAI, WETH, cbETH, wstETH, AERO (non-zero only, or all with includeZero=true), plus up to 10 extra ERC-20 contracts you pass in `tokens` (symbol/name/decimals read on-chain). Also nonce, account type (EOA, EIP-7702 delegated EOA, or contract) and a USD total for ETH/WETH (Chainlink) and stablecoins. Read live from public Base RPC via Multicall3; cached 10 s. All params optional: defaults to a well-known public address. Invalid input = 400, never charged.","tags":["base","wallet","balance","crypto","usdc"],"price":"$0.002","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"2000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/base/token","method":"GET","title":"Base ERC-20 token info: name, symbol, decimals, total supply, proxy implementation, is-contract check, optional holder balance","description":"Inspect a token or any address on Base mainnet: contract vs EOA (incl. EIP-7702 delegation), bytecode size, ERC-20 name/symbol/decimals/totalSupply (raw and formatted; bytes32 symbols handled), proxy implementation (EIP-1967, beacon, ZeppelinOS/FiatToken), whether it is a well-known Base token (guards against spoofed symbols), and optionally the balance of `holder`. Read live from public Base RPC; metadata cached 1 h. All params optional: defaults to USDC on Base. Invalid input = 400, never charged.","tags":["base","erc20","token","crypto","onchain"],"price":"$0.002","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"2000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/base/tx","method":"GET","title":"Base transaction status: success/failed/pending, confirmations, fee (L2 + L1) in ETH/USD, decoded ERC-20 transfers","description":"Look up one transaction on Base mainnet by hash: status (success, failed or pending), block, timestamp, confirmations, from/to, value, method id, gas used, effective gas price, fee split into L2 execution and L1 data fee (ETH and USD), contract created, and decoded ERC-20 Transfer events (token, symbol, from, to, amount; up to 20). Useful to confirm a payment landed. Read live from public Base RPC. All params optional: defaults to a confirmed USDC x402 payment. Unknown hash = 404, invalid hash = 400, never charged.","tags":["base","transaction","receipt","crypto","onchain"],"price":"$0.002","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"2000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/v1/chat/completions","method":"POST","title":"OpenAI-compatible chat completions (Llama 3.1 8B default; Llama 3.2 3B/1B, Mistral 7B, Granite 4) per call, no API key","description":"Drop-in OpenAI Chat Completions endpoint: POST {model, messages, max_tokens, temperature, top_p, seed, stream, response_format} and get a chat.completion object (or SSE chunks with stream=true). Models (Cloudflare Workers AI): llama-3.1-8b (default), llama-3.2-3b, llama-3.2-1b, mistral-7b, granite-4.0-micro; any other model name maps to the default (actual model is in the response). Text only, no tool calling; max_tokens capped at 512, input up to 24000 chars. Latest user message checked by Llama Guard 3 (unsafe = 400). Fixed price per call. If the daily capacity is used up you get 503 \"capacity\". Errors are never charged. GET with ?prompt= also works; with no params it answers a short sample question. Free model list: GET /v1/models.","tags":["llm","chat","openai-compatible","inference","ai"],"price":"$0.003","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"3000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/chat","method":"GET","title":"Simple LLM call: prompt (+ optional system/messages) -> answer text, Llama 3.1 8B default, no API key","description":"One-shot LLM completion on Cloudflare Workers AI with a minimal interface: give `prompt` (and optionally `system`, or OpenAI-style `messages`), get {text, model, finish_reason, usage}. Models: llama-3.1-8b (default), llama-3.2-3b, llama-3.2-1b, mistral-7b, granite-4.0-micro. max_tokens capped at 512, input up to 24000 chars, Llama Guard 3 safety check, 503 \"capacity\" when the daily budget is used up. Errors are never charged. All params optional: with none it answers a short sample question. For the OpenAI wire format use POST /v1/chat/completions.","tags":["llm","chat","ai","inference","text-generation"],"price":"$0.003","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"3000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/v1/embeddings","method":"POST","title":"OpenAI-compatible text embeddings (bge-m3 multilingual 1024-d default; bge-large/base/small, EmbeddingGemma) per call, no API key","description":"Drop-in OpenAI Embeddings endpoint: POST {input: string | string[], model, encoding_format: float|base64, dimensions} and get {object: \"list\", data: [{embedding, index}], model, usage}. Models (Cloudflare Workers AI): bge-m3 (1024-d, multilingual (100+ languages), 8192-token context); bge-large-en-v1.5 (1024-d, English); bge-base-en-v1.5 (768-d, English); bge-small-en-v1.5 (384-d, English, fastest); embeddinggemma-300m (768-d, multilingual (Google EmbeddingGemma)). Any other model name (e.g. text-embedding-3-small) maps to bge-m3; the actual model is in the response. `dimensions` truncates and re-normalizes. Up to 100 inputs per call, 8000 chars each, 60000 chars total, one fixed price per call. For RAG, semantic search, clustering and dedupe. Errors are never charged. GET ?input= also works; with no params it embeds a sample sentence.","tags":["embeddings","openai-compatible","rag","vector","ai"],"price":"$0.001","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/v1/rerank","method":"POST","title":"Rerank up to 100 documents against a query (Cohere/Jina-compatible; BGE cross-encoder), per call, no API key","description":"Cohere/Jina-style rerank: POST {query, documents: string[] | {text}[], top_n, return_documents} and get {results: [{index, relevance_score, document?}]} sorted by relevance. Models (Cloudflare Workers AI): bge-reranker-base (cross-encoder, English/Chinese, scores 0..1); bge-m3 (multilingual similarity scoring) (default bge-reranker-base; other names map to it). Up to 100 documents, each scored on its first 4000 chars; one fixed price per call. Use after vector search to pick the best passages for an LLM. Errors are never charged. All params optional: with none it ranks a small sample.","tags":["rerank","rag","search","relevance","ai"],"price":"$0.002","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"2000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/ip","method":"GET","title":"Your public IP as seen by Cloudflare + approximate geo (country, region, city, lat/lon, timezone), ASN/ISP, edge colo","description":"Returns the caller's public IP address (IPv4/IPv6) as seen at the Cloudflare edge, with approximate geolocation (country, EU flag, continent, region, city, postal code, latitude/longitude, timezone), network (ASN and AS organization), the Cloudflare colo that served the request, HTTP protocol and TLS version. Useful for an agent to check its own egress IP/region, confirm a proxy or VPN, or smoke-test an x402 wallet with a cheap paid call. No params. Errors are never charged.","tags":["ip","geolocation","network","whoami","test"],"price":"$0.001","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/crypto/price","method":"GET","title":"Crypto token prices by ticker, CoinGecko id or contract address: price, market cap, 24h volume and change in up to 5 currencies","description":"Live crypto prices for up to 25 coins per call: pass tickers in `symbols` (BTC,ETH,SOL,AERO,...; common tickers built in, others resolved by CoinGecko search to the largest coin with that ticker), CoinGecko `ids`, or one token `address` + `chain` (base default; ethereum, arbitrum, optimism, polygon, bsc, avalanche, solana). Returns price, market cap, 24h volume and 24h % change in each `vs` currency (usd default; up to 5, e.g. usd,eur,btc) plus last-updated time. Data: CoinGecko public API, cached 30 s; falls back to Coinbase spot rates (price only) if CoinGecko is unavailable. All params optional: with none it returns BTC and ETH in USD. Unknown coins = 404, invalid input = 400, never charged.","tags":["crypto","price","market-data","token","defi"],"price":"$0.001","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"url":"https://quickbuild.quynguyenbac.workers.dev/api/fx/rate","method":"GET","title":"Fiat currency exchange rates + conversion: live rates for 160+ currencies (and gold/silver), or historical ECB rates for any date since 1999","description":"Foreign-exchange rates from one base currency (`from`, default USD) to a list of currencies (`to`, comma-separated, or \"all\"; default 14 majors incl. EUR, GBP, JPY, CNY, INR, KRW, VND), with `amount` converted. Live mode uses Coinbase public exchange rates (updated about every minute, 160+ ISO 4217 currencies plus XAU/XAG), falling back to exchangerate-api daily rates. With `date=YYYY-MM-DD` it returns the ECB reference rates for that day (Frankfurter, ~30 major currencies, back to 1999-01-04). All params optional: with none it returns USD to 14 major currencies. Invalid codes = 400, never charged.","tags":["fx","forex","currency","exchange-rate","finance"],"price":"$0.002","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"2000","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]}]}