{"version":1,"name":"GEDX402","description":"Cloudflare Workers AI x402 hub — pay USDC per request, no API keys. Default: four AM-winning routes (chat/completions, /search, scrape, translate). Full catalog: ?full=1.","role":"hub","hub":"https://gedx402.com","origin":"https://gedx402.com","payments":{"asset":"USDC","facilitator":"coinbase-cdp","networks":[{"id":"base","label":"Base","caip":"eip155:8453","asset":"USDC","family":"evm"},{"id":"polygon","label":"Polygon","caip":"eip155:137","asset":"USDC","family":"evm"},{"id":"arbitrum","label":"Arbitrum","caip":"eip155:42161","asset":"USDC","family":"evm"},{"id":"world","label":"World","caip":"eip155:480","asset":"USDC","family":"evm"},{"id":"solana","label":"Solana","caip":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"USDC","family":"solana"}],"primary_network":"base"},"default_filter":"winners","winners_manifest":"https://gedx402.com/.well-known/agents.json?bundle=winners","full_catalog":"https://gedx402.com/.well-known/agents.json?full=1","instructions":"GEDX402 x402 APIs on Cloudflare Workers AI. **Start:** GET https://gedx402.com/.well-known/agents.json?bundle=winners. **Inference:** POST https://chat.gedx402.com/v1/chat/completions (OpenAI body). **Search:** POST https://search.gedx402.com/v1/search { query } or /v1/exa/search { query }. **Scrape:** POST https://browser.gedx402.com/v1/firecrawl/scrape { url }. **Translate:** POST https://embed.gedx402.com/v1/translate. Hub routes are discovery only — pay on shard origins. Default manifest: AM-winner shapes (https://gedx402.com/.well-known/agents.json?bundle=winners). Full catalog: https://gedx402.com/.well-known/agents.json?full=1. Pay USDC on Base via @x402/fetch. MCP operator-only — see https://gedx402.com/docs/mcp-setup. Pay per request with USDC on Base, Polygon, Arbitrum, World, Solana via x402 v2 (Coinbase CDP facilitator). Choose any listed network in the 402 accepts[] response.","shards":[{"id":"chat","serviceName":"GEDX402 Chat","origin":"https://chat.gedx402.com","openapi":"https://chat.gedx402.com/openapi.json","route_count":18,"tags":["chat","llm","inference","usdc","multi-chain"],"description":"OpenAI-compatible chat/completions — Venice-shaped winner on Workers AI.","starter_route":"/v1/chat/completions","catalog_filter":"GET https://gedx402.com/v1/models?shard=chat"},{"id":"llm","serviceName":"GEDX402 LLM","origin":"https://llm.gedx402.com","openapi":"https://llm.gedx402.com/openapi.json","route_count":21,"tags":["llm","reasoning","code","inference","usdc","multi-chain"],"description":"Qwen3 30B FP8 frontier — reasoning, code, and agent tiers via ?full=1.","starter_route":"/v1/llm/qwen3-30b-a3b-fp8","catalog_filter":"GET https://gedx402.com/v1/models?shard=llm"},{"id":"embed","serviceName":"GEDX402 Knowledge","origin":"https://embed.gedx402.com","openapi":"https://embed.gedx402.com/openapi.json","route_count":15,"tags":["embeddings","rag","translate","nlp","usdc","multi-chain"],"description":"M2M100 translate — customer revenue SKU on Workers AI NLP.","starter_route":"/v1/translate","catalog_filter":"GET https://gedx402.com/v1/models?shard=embed","rag_bundle_filter":"GET https://gedx402.com/v1/models?bundle=rag","competitive_bundle_filter":"GET https://gedx402.com/v1/models?bundle=competitive"},{"id":"image","serviceName":"GEDX402 Image","origin":"https://image.gedx402.com","openapi":"https://image.gedx402.com/openapi.json","route_count":12,"tags":["image","diffusion","inference","usdc","multi-chain"],"description":"Flux schnell text-to-image — fast generation, one x402 payment per image.","starter_route":"/v1/image/flux-1-schnell","margin_hint":"highest margin","catalog_filter":"GET https://gedx402.com/v1/models?shard=image"},{"id":"media","serviceName":"GEDX402 Media","origin":"https://media.gedx402.com","openapi":"https://media.gedx402.com/openapi.json","route_count":18,"tags":["vision","audio","tts","asr","usdc","multi-chain"],"description":"Voice agent bundle — prepaid flux ASR, smart-turn, chat/fast, and TTS loop.","starter_route":"/v1/asr/flux","catalog_filter":"GET https://gedx402.com/v1/models?shard=media","voice_bundle_filter":"GET https://gedx402.com/v1/models?bundle=voice"},{"id":"browser","serviceName":"GEDX402 Firecrawl","origin":"https://browser.gedx402.com","openapi":"https://browser.gedx402.com/openapi.json","route_count":34,"tags":["firecrawl","scrape","crawl","search","extract","browser","usdc","multi-chain"],"description":"Firecrawl v2 on x402 — scrape, search, crawl, map, batch, extract, agent, parse, interact, monitor at /v1/firecrawl/*.","starter_route":"/v1/firecrawl/scrape","margin_hint":"highest margin","catalog_filter":"GET https://gedx402.com/v1/models?shard=browser","browser_bundle_filter":"GET https://gedx402.com/v1/models?bundle=browser","competitive_bundle_filter":"GET https://gedx402.com/v1/models?bundle=competitive"},{"id":"search","serviceName":"GEDX402 Search","origin":"https://search.gedx402.com","openapi":"https://search.gedx402.com/openapi.json","route_count":20,"tags":["open-web","search","search-lite","serp","tavily","exa","neural-search","agents","usdc","multi-chain"],"description":"AM winner POST /v1/search — Tavily-shaped web search, $0.01 USDC. Exa neural search at /v1/exa/search|contents.","starter_route":"/v1/search","catalog_filter":"GET https://gedx402.com/v1/models?shard=search","search_bundle_filter":"GET https://gedx402.com/v1/models?bundle=search","competitive_bundle_filter":"GET https://gedx402.com/v1/models?bundle=competitive","winners_bundle_filter":"GET https://gedx402.com/v1/models?bundle=winners","rag_bundle_filter":"GET https://gedx402.com/v1/models?bundle=rag"},{"id":"aisearch","serviceName":"GEDX402 AI Search","origin":"https://rag.gedx402.com","openapi":"https://rag.gedx402.com/openapi.json","route_count":6,"tags":["rag","ai-search","hybrid-search","mcp","agents","usdc","multi-chain"],"description":"Cited RAG answer — index URL(s), hybrid query, one payment.","starter_route":"/v1/aisearch/outcome/answer","catalog_filter":"GET https://gedx402.com/v1/models?shard=aisearch","managed_rag_bundle_filter":"GET https://gedx402.com/v1/models?bundle=managed-rag"},{"id":"jobs","serviceName":"GEDX402 Jobs","origin":"https://jobs.gedx402.com","openapi":"https://jobs.gedx402.com/openapi.json","route_count":1,"tags":["jobs","async","browser","agents","usdc","multi-chain"],"description":"Async browser fallback — prefer sync POST /v1/firecrawl/scrape. Not in default discovery.","starter_route":"/v1/jobs/browser","catalog_filter":"GET https://gedx402.com/v1/models?shard=jobs"},{"id":"gateway","serviceName":"GEDX402 Gateway","origin":"https://gateway.gedx402.com","openapi":"https://gateway.gedx402.com/openapi.json","route_count":2,"tags":["unified","frontier","anthropic","openai","google","usdc","multi-chain"],"description":"Frontier chat via Workers AI unified catalog — OpenAI chat/completions or POST /v1/unified/run; per-model x402 pricing.","starter_route":"/v1/chat/completions","catalog_filter":"GET https://gedx402.com/v1/models?shard=gateway"},{"id":"agents","serviceName":"GEDX402 Agents","origin":"https://agents.gedx402.com","openapi":"https://agents.gedx402.com/openapi.json","route_count":2,"tags":["agents","sessions","durable-objects","search","inference","usdc","multi-chain"],"description":"Hosted agent session — pay per turn on Durable Objects. Omitted from default shard OpenAPI (jobs/agents/d1); use GET /v1/models?shard=agents.","starter_route":"/v1/agents/sessions","catalog_filter":"GET https://gedx402.com/v1/models?shard=agents"},{"id":"images-api","serviceName":"GEDX402 Images API","origin":"https://images-api.gedx402.com","openapi":"https://images-api.gedx402.com/openapi.json","route_count":1,"tags":["images","transform","resize","format","agents","usdc","multi-chain"],"description":"Resize, fit, and transcode remote or base64 images — one x402 per transform. Bundle: GET /v1/models?bundle=artifacts.","starter_route":"/v1/images/transform","catalog_filter":"GET https://gedx402.com/v1/models?shard=images-api","artifacts_bundle_filter":"GET https://gedx402.com/v1/models?bundle=artifacts"},{"id":"storage","serviceName":"GEDX402 Storage","origin":"https://storage.gedx402.com","openapi":"https://storage.gedx402.com/openapi.json","route_count":1,"tags":["storage","objects","artifacts","r2","agents","usdc","multi-chain"],"description":"Agent artifact put/get on R2 — one x402 per mutating request. Discover via GET /v1/models?bundle=artifacts.","starter_route":"/v1/objects/:key","catalog_filter":"GET https://gedx402.com/v1/models?shard=storage","artifacts_bundle_filter":"GET https://gedx402.com/v1/models?bundle=artifacts"},{"id":"d1","serviceName":"GEDX402 Memory","origin":"https://db.gedx402.com","openapi":"https://db.gedx402.com/openapi.json","route_count":3,"tags":["database","memory","sql","agents","usdc","multi-chain"],"description":"SQL read/write on shared agent memory — prepaid sessions or per-query x402. Omitted from default shard OpenAPI (jobs/agents/d1); use GET /v1/models?bundle=memory.","starter_route":"/v1/sql/query","catalog_filter":"GET https://gedx402.com/v1/models?shard=d1","memory_bundle_filter":"GET https://gedx402.com/v1/models?bundle=memory"},{"id":"turnstile","serviceName":"GEDX402 Verify","origin":"https://verify.gedx402.com","openapi":"https://verify.gedx402.com/openapi.json","route_count":1,"tags":["verify","captcha","bot-challenge","turnstile","browser","agents","usdc","multi-chain"],"description":"Turnstile siteverify — validate bot-challenge tokens server-side for browser agents. One x402 per verification.","starter_route":"/v1/turnstile/verify","catalog_filter":"GET https://gedx402.com/v1/models?shard=turnstile"},{"id":"social","serviceName":"GEDX402 Social","origin":"https://social.gedx402.com","openapi":"https://social.gedx402.com/openapi.json","route_count":4,"tags":["social","tiktok","instagram","youtube","twitter","ingest","sociavault","agents","usdc","multi-chain"],"description":"SociaVault social data ingest — profile, posts, transcript, and full API proxy. One x402 payment per outcome.","starter_route":"/v1/social/outcome/profile","catalog_filter":"GET https://gedx402.com/v1/models?shard=social","social_bundle_filter":"GET https://gedx402.com/v1/models?bundle=social"}],"operator_mcp_doc":"https://gedx402.com/docs/mcp-setup","full_catalog_mcp":"https://gedx402.com/.well-known/agents.json?full=1","bundle":"winners","bundle_doc":"https://gedx402.com/llms.txt","agent_flow":"POST chat.gedx402.com/v1/chat/completions · search.gedx402.com/v1/search · browser.gedx402.com/v1/firecrawl/scrape · embed.gedx402.com/v1/translate","tool_count":4,"tools":[{"name":"gedx402_search","description":"Tavily web search — one x402 payment on search.gedx402.com. POST { query, max_results?: 5, search_depth?: basic|advanced } → ranked { title, url, snippet, content }[] via Tavily Search API. AM-winning shape at POST /v1/search. Wire: npm run pricing:report (ged-x402). Hero: GET /heroes/search · GET /docs/search-bundle.","endpoint":"https://search.gedx402.com/v1/search","method":"POST","shard":"search","kind":"search","tags":["inference","catalog","usdc","multi-chain","search","search-bundle","competitive","tavily"],"model":"tavily","payment":"x402","price_usd":0.022,"price_display":"$0.022","worst_case_price_usd":0.042,"worst_case_price_display":"$0.042","input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Open-web search query."},"max_results":{"type":"integer","description":"Max SERP links to return (1-10, default 5)."},"search_depth":{"type":"string","enum":["basic","advanced"],"description":"Tavily search depth (advanced uses 2 credits)."}},"required":["query"]},"example_request":{"query":"GEDX402 x402 API pricing","max_results":5},"example_response":{"query":"GEDX402 x402 API pricing","results":[{"rank":1,"title":"GEDX402 pricing","url":"https://gedx402.com/v1/models","snippet":"Pay-per-request inference with dynamic USDC pricing…"}],"count":1},"hint":"Aliases accepted (not in input_schema): query←q|search_query|question; max_results←top_k|limit|num_results. RAG-shaped {namespace, query} without vector upsert fields runs web search.","starter":true,"single_hop":true},{"name":"gedx402_firecrawl_scrape","description":"Run Firecrawl inference (firecrawl) via POST JSON. Pay per request with USDC on Base, Polygon, Arbitrum, World, or Solana (x402 v2); see x-payment-info for price bounds and accepted networks.","endpoint":"https://browser.gedx402.com/v1/firecrawl/scrape","method":"GET|POST","shard":"browser","kind":"firecrawl","tags":["inference","catalog","usdc","multi-chain","firecrawl","browser-bundle","competitive","scrape"],"model":"firecrawl","payment":"x402","price_usd":0.01,"price_display":"$0.010","worst_case_price_usd":0.042,"worst_case_price_display":"$0.042","input_schema":{"type":"object","properties":{"url":{"type":"string","description":"HTTPS URL to scrape as clean Markdown."},"html":{"type":"string","description":"Raw HTML to render instead of fetching a URL."},"gotoOptions":{"type":"object","description":"Puppeteer goto options (e.g. waitUntil)."},"viewport":{"type":"object","description":"Browser viewport width/height/deviceScaleFactor."}},"required":["url"]},"example_request":{"url":"https://example.com"},"example_response":{"success":true,"markdown":"# Example\n\nPage content as Markdown.","metadata":{"sourceURL":"https://example.com","statusCode":200,"browser_ms":1200},"action":"outcome/scrape"},"starter":true,"single_hop":true},{"name":"gedx402_translate","description":"M2M100 machine translation — one x402 payment on embed.gedx402.com. POST { text, source_lang, target_lang } → { translated_text }; wire settlement USDC per request (see npm run pricing:report) worst-case. Hero: GET /heroes/translate. Competitive discovery alongside embed ping; not in the five-step AOV ladder.","endpoint":"https://embed.gedx402.com/v1/translate","method":"POST","shard":"embed","kind":"translate","tags":["inference","catalog","usdc","multi-chain","translate","competitive","translation","m2m100"],"model":"@cf/meta/m2m100-1.2b","payment":"x402","price_usd":0.004,"price_display":"$0.0040","worst_case_price_usd":0.01,"worst_case_price_display":"$0.010","input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Source text to translate."},"source_lang":{"type":"string","description":"ISO language code for the source text."},"target_lang":{"type":"string","description":"ISO language code for the desired output."}},"required":["text","source_lang","target_lang"]},"example_request":{"text":"Hello","source_lang":"en","target_lang":"es"},"example_response":{"translated_text":"Hola"},"hint":"Aliases accepted (not in input_schema): text←content|input|source_text; source_lang←from|source|source_language|src_lang; target_lang←to|target|target_language|tgt_lang.","starter":true},{"name":"gedx402_chat_completions","description":"Multi-model chat completions. POST messages[] and set model to any LLM id from GET /v1/models; dynamic USDC pricing scales with model and token usage. Hero: GET /heroes/chat-completions.","endpoint":"https://chat.gedx402.com/v1/chat/completions","method":"POST","shard":"chat","kind":"llm","tags":["inference","catalog","usdc","multi-chain","chat","completions","openai","llm"],"model":"@cf/ibm-granite/granite-4.0-h-micro","payment":"x402","price_usd":0.001,"price_display":"$0.0010","worst_case_price_usd":0.001,"worst_case_price_display":"$0.0010","input_schema":{"type":"object","properties":{"model":{"type":"string","description":"Model id or tier alias (fast, smart, micro). See GET /v1/models."},"messages":{"type":"array","description":"Conversation turns in order (system, user, assistant).","items":{"type":"object","properties":{"role":{"type":"string","enum":["system","user","assistant"],"description":"Speaker role for this turn."},"content":{"type":"string","description":"Message text for this turn."}},"required":["role","content"]}},"max_tokens":{"type":"integer","minimum":1,"maximum":4096,"description":"Maximum tokens to generate in the assistant reply."}},"required":["messages"]},"example_request":{"model":"fast","messages":[{"role":"user","content":"Say hello in one sentence."}],"max_tokens":128},"example_response":{"id":"chatcmpl-example","object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello!"},"finish_reason":"stop"}]},"hint":"Aliases accepted (not in input_schema): messages←prompt|input|message; plain string body wraps to one user turn; message content[] arrays flatten to text.","starter":true}]}