{"version":1,"name":"x402-gateway","description":"MCP gateway — 21 paid tools. Per-tool prices on Base: markdown=$0.002, token_price=$0.002, wallet_portfolio=$0.002, whale_alerts=$0.002, cross_chain_balance=$0.002, changelog_openapi=$0.005, changelog_git=$0.005, mermaid=$0.005, html_to_markdown=$0.002, qr_generator=$0.002, og_image_generator=$0.002, jobs=$0.002, verify_semaphore=$0.002, verify_worldid=$0.005, verify_batch=$0.005, wallet_verify_siwe=$0.002, wallet_verify_nostr=$0.002, wallet_verify_solana=$0.002, wallet_checksum=$0.002, llm_chat=$0.002. giftcard_buy is dynamic (face value + fee). MCP flat rate $0.001 USDC.","role":"standalone","origin":"https://x402.freeq.one","payments":{"asset":"USDC","facilitator":"coinbase-cdp","networks":[{"id":"base","label":"Base","caip":"eip155:8453","asset":"USDC","family":"evm"}],"primary_network":"base"},"instructions":"POST /mcp with MCP JSON-RPC, or POST /tools/{name} for a single tool. Settle x402 USDC (Coinbase CDP facilitator) before tool execution. Per-tool prices: markdown=$0.002, token_price=$0.002, wallet_portfolio=$0.002, whale_alerts=$0.002, cross_chain_balance=$0.002, changelog_openapi=$0.005, changelog_git=$0.005, mermaid=$0.005, html_to_markdown=$0.002, qr_generator=$0.002, og_image_generator=$0.002, jobs=$0.002, verify_semaphore=$0.002, verify_worldid=$0.005, verify_batch=$0.005, wallet_verify_siwe=$0.002, wallet_verify_nostr=$0.002, wallet_verify_solana=$0.002, wallet_checksum=$0.002, llm_chat=$0.002. MCP flat rate $0.001. Market-scoped endpoints (per-channel pricing): agoragentic: https://x402.freeq.one/market/agoragentic/tools (flat $0.01), bazaar: https://x402.freeq.one/market/bazaar/tools (flat $0.001).","tool_count":21,"tools":[{"name":"markdown","description":"Fetch a URL and convert its main content to clean, LLM-ready Markdown (strips nav/ads/sidebars). Options: output_format (markdown|text|json), css_selector, max_length, include_links, include_images.","endpoint":"/markdown/v1/markdown","method":"POST","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"The URL to fetch and convert"},"options":{"type":"object","description":"Conversion options (output_format, css_selector, max_length, include_links, include_images)"}}},"payment":"x402"},{"name":"token_price","description":"Get the live price of a token by symbol (e.g. ETH, USDC, MATIC).","endpoint":"/blockchain/v1/token-price/{symbol}","method":"GET","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["symbol"],"properties":{"symbol":{"type":"string","description":"Token symbol, e.g. ETH"}}},"payment":"x402"},{"name":"wallet_portfolio","description":"Get a complete wallet portfolio for an Ethereum address: native ETH balance, ERC-20 balances, NFT holdings, recent transfers.","endpoint":"/blockchain/v1/wallet","method":"POST","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Ethereum address (0x-prefixed, 42 chars)"},"include_tokens":{"type":"boolean","description":"Include ERC-20 balances (default true)"},"include_nfts":{"type":"boolean","description":"Include NFT holdings (default false)"},"include_transfers":{"type":"boolean","description":"Include recent transfers (default false)"},"transfer_limit":{"type":"integer","description":"Max transfers (1-100, default 20)"},"chain":{"type":"string","description":"Chain key: eth, arb, base, polygon, opt"}}},"payment":"x402"},{"name":"whale_alerts","description":"Scan recent blocks for large ETH transfers involving an address. Filter by direction (in/out/both) and threshold.","endpoint":"/blockchain/v1/whale-alerts","method":"POST","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Ethereum address to monitor"},"direction":{"type":"string","description":"in, out, or both (default both)"},"min_value_eth":{"type":"number","description":"Minimum ETH value threshold"}}},"payment":"x402"},{"name":"cross_chain_balance","description":"Aggregate native balance and token/NFT counts for an address across eth, arb, base, polygon, opt.","endpoint":"/blockchain/v1/cross-chain","method":"POST","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Ethereum address"},"chains":{"type":"array","items":{"type":"string"},"description":"Chains to query: eth, arb, base, polygon, opt"}}},"payment":"x402"},{"name":"changelog_openapi","description":"Diff two OpenAPI specs and generate a structured breaking-change changelog (no LLM — deterministic diff). Provide base_spec_url and new_spec.","endpoint":"/changelog/changelogs/generate/openapi","method":"POST","price_usd":0.005,"price_display":"$0.005","worst_case_price_usd":0.005,"worst_case_price_display":"$0.005","input_schema":{"type":"object","required":["new_spec"],"properties":{"base_spec_url":{"type":"string","description":"URL of the base (old) OpenAPI spec"},"new_spec":{"type":"object","description":"New OpenAPI specification as a JSON object"}}},"payment":"x402"},{"name":"changelog_git","description":"Diff git commits and generate a structured breaking-change changelog. Provide repository_url, base_commit, and optional target_commit.","endpoint":"/changelog/changelogs/generate/git","method":"POST","price_usd":0.005,"price_display":"$0.005","worst_case_price_usd":0.005,"worst_case_price_display":"$0.005","input_schema":{"type":"object","required":["repository_url","base_commit"],"properties":{"repository_url":{"type":"string","description":"Git repo URL (https)"},"base_commit":{"type":"string","description":"Base commit SHA"},"target_commit":{"type":"string","description":"Head commit SHA (optional, defaults to repo HEAD)"}}},"payment":"x402"},{"name":"mermaid","description":"Render a Mermaid diagram to an image (PNG or SVG). Returns a base64-encoded image (MCP content type image). Options: format (png|svg), theme (default|dark|forest|neutral), scale (1-4, PNG only).","endpoint":"/mermaid/render","method":"POST","price_usd":0.005,"price_display":"$0.005","worst_case_price_usd":0.005,"worst_case_price_display":"$0.005","input_schema":{"type":"object","required":["code"],"properties":{"code":{"type":"string","description":"Mermaid diagram source code, e.g. 'graph TD; A-->B'. Max 50000 chars."},"format":{"type":"string","enum":["png","svg"],"description":"Output format (default png). SVG returns vector text."},"theme":{"type":"string","enum":["default","dark","forest","neutral"],"description":"Mermaid theme (default 'default')."},"scale":{"type":"number","description":"Raster scale 1-4, PNG only (default 2)."}}},"payment":"x402"},{"name":"html_to_markdown","description":"Convert an HTML string to clean, LLM-ready Markdown. Handles headings, links, images, tables, lists and code blocks. Options: heading style (atx|setext), bullet list marker, code block style, emphasis delimiters.","endpoint":"/html2md/convert","method":"POST","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["html"],"properties":{"html":{"type":"string","description":"HTML source string to convert to Markdown"},"options":{"type":"object","description":"Conversion options (headingStyle, bulletListMarker, codeBlockStyle, emDelimiter, strongDelimiter)"}}},"payment":"x402"},{"name":"qr_generator","description":"Generate a QR code or barcode as an image (SVG or PNG). Returns a base64-encoded image (MCP content type image). Symbologies: qrcode/qr, code128, code39, ean13, ean8, upca, upce, isbn10, isbn13, issn, itf, gs1-128, databar.","endpoint":"/qr/barcode/{format}/{data}","method":"GET","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["format","data"],"properties":{"format":{"type":"string","enum":["qrcode","code128","code39","ean13","ean8","upca","upce","isbn10","isbn13","issn","itf","gs1-128","databar"],"description":"Barcode symbology; use qrcode (or qr) for QR codes"},"data":{"type":"string","description":"Data to encode (URL or text for QR; numeric for EAN/UPC)"},"type":{"type":"string","enum":["svg","png"],"description":"Output image format (default svg)"}}},"payment":"x402"},{"name":"og_image_generator","description":"Generate an Open Graph social-card image (1200x630 PNG) from a title and description. Returns a base64-encoded image (MCP content type image). Optional image URL embeds a header graphic. Title truncated to 60 chars, description to 120.","endpoint":"/og/og-image","method":"GET","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["title"],"properties":{"title":{"type":"string","description":"Card title, max 60 chars"},"description":{"type":"string","description":"Card description, max 120 chars"},"image":{"type":"string","description":"Optional http(s) header image URL"}}},"payment":"x402"},{"name":"jobs","description":"Search live job postings by keywords and locations. Returns structured results: title, company, location, apply URL, work types, employment type, seniority, industry, salary, and description. Supports onsite/remote/hybrid preferences. One call covers the whole market for a keyword + location pair.","endpoint":"/jobs","method":"POST","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["keywords"],"properties":{"keywords":{"type":"array","items":{"type":"string"},"description":"Search terms, e.g. ['software engineer', 'rust']"},"searches":{"type":"array","description":"Search criteria list: {location: string (city/region/country), work_type: 'onsite'|'remote'|'hybrid'|''}","items":{"type":"object","properties":{"location":{"type":"string"},"work_type":{"type":"string"}}}}}},"payment":"x402"},{"name":"verify_semaphore","description":"Verify a Semaphore ZK proof locally using Groth16 (embedded official vkey). No external dependency. Send the proof object from @semaphore-protocol/proof generateProof().","endpoint":"/zk-verifier/verify/semaphore","method":"POST","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["proof"],"properties":{"proof":{"type":"object","description":"Semaphore proof: { merkleTreeDepth, merkleTreeRoot, nullifier, message, scope, points }"}}},"payment":"x402"},{"name":"verify_worldid","description":"Verify a World ID 4.0 proof via the Worldcoin Developer Portal API. Generates an RP signature server-side, then proxies the full IDKit proof to developer.world.org. Returns { valid, nullifier, worldcoin_response }.","endpoint":"/zk-verifier/verify/worldid","method":"POST","price_usd":0.005,"price_display":"$0.005","worst_case_price_usd":0.005,"worst_case_price_display":"$0.005","input_schema":{"type":"object","required":["proof"],"properties":{"proof":{"type":"object","description":"IDKit proof payload: { protocol_version, responses, action?, session_id? }"},"action":{"type":"string","description":"Action string (must match what IDKit used). Required for uniqueness proofs, omitted for session proofs."},"environment":{"type":"string","enum":["production","staging"],"description":"Worldcoin environment. Defaults to production."}}},"payment":"x402"},{"name":"verify_batch","description":"Batch verify up to 10 Semaphore proofs in a single request. Returns per-proof results with total count and average duration.","endpoint":"/zk-verifier/verify/batch","method":"POST","price_usd":0.005,"price_display":"$0.005","worst_case_price_usd":0.005,"worst_case_price_display":"$0.005","input_schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","description":"Array of up to 10 Semaphore proof objects to verify","maxItems":10,"items":{"type":"object","properties":{"proof":{"type":"object","description":"Semaphore proof object"}}}}}},"payment":"x402"},{"name":"wallet_verify_siwe","description":"Verify a Sign-In-With-Ethereum (EIP-4361) signature. Stateless oracle: checks the signature against the message and returns the wallet address + chainId. Never mints sessions or consumes nonces. Get a checksummed address first via wallet_checksum.","endpoint":"/wallet-auth/auth/siwe/verify","method":"POST","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["message","signature"],"properties":{"message":{"type":"string","description":"EIP-4361 SIWE message (line 2 must be a checksummed address)"},"signature":{"type":"string","description":"0x-prefixed personal_sign signature over the exact message bytes"}}},"payment":"x402"},{"name":"wallet_verify_nostr","description":"Verify a NIP-98 Nostr HTTP auth event. Returns the signer pubkey. Stateful replay protection: each event id can only be verified once.","endpoint":"/wallet-auth/auth/nostr/verify","method":"POST","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string","description":"Base64-encoded NIP-98 event, or 'Nostr <base64>' Authorization header value"},"url":{"type":"string","description":"Expected u-tag URL (optional; defaults to the request URL)"}}},"payment":"x402"},{"name":"wallet_verify_solana","description":"Verify an ed25519 Solana wallet signature over a message containing a 'Nonce: <value>' line. Returns the signer pubkey. Consumes the nonce — one verification per nonce.","endpoint":"/wallet-auth/auth/solana/verify","method":"POST","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["pubkey","message","signature"],"properties":{"pubkey":{"type":"string","description":"Base58 Solana public key of the signer"},"message":{"type":"string","description":"Signed message containing a 'Nonce: <value>' line (get one via the /auth/solana/nonce endpoint pattern)"},"signature":{"type":"string","description":"Base58 ed25519 signature"}}},"payment":"x402"},{"name":"wallet_checksum","description":"Convert an Ethereum address to its EIP-55 checksummed form. SIWE messages require the checksummed address on line 2 before signing.","endpoint":"/wallet-auth/auth/siwe/checksum?address={address}","method":"GET","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Ethereum address in any casing (0x...)"}}},"payment":"x402"},{"name":"llm_chat","description":"Chat with a language model. OpenAI-compatible /v1/chat/completions interface. Supports 50+ models. Free models (auto, eco, premium) are $0 — paid models (gpt-5.2, claude-opus-5, deepseek-v4-pro, ...) are charged at cost. See /tools/llm_chat/models for the full model list and rates.","endpoint":"/llm/v1/chat/completions","method":"POST","price_usd":0.002,"price_display":"$0.002","worst_case_price_usd":0.002,"worst_case_price_display":"$0.002","input_schema":{"type":"object","required":["messages"],"properties":{"model":{"type":"string","description":"Model ID. Examples: auto/eco/premium (free, $0.002), openai/gpt-5.2, anthropic/claude-opus-5, google/gemini-3.1-pro, deepseek/deepseek-v4-pro. Short names accepted (gpt-5.2, claude-opus-5). See /tools for full list."},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["system","user","assistant"],"description":"Message role"},"content":{"type":"string","description":"Message text content"}}},"description":"Conversation messages array"},"temperature":{"type":"number","description":"Sampling temperature 0-2 (default 0.7)"},"max_tokens":{"type":"integer","description":"Maximum tokens to generate (default 1024, max 4096). Lower values reduce cost for paid models."}}},"payment":"x402"},{"name":"giftcard_buy","description":"Buy a digital gift card and receive the code instantly. The price is returned in the 402 Payment-Required challenge before you sign (face value + fee). Stock is fulfilled from pre-purchased inventory first; otherwise sourced on demand. Payment settles on Base via x402.","endpoint":"/tools/giftcard/api/buy","method":"POST","price_usd":0.01,"price_display":"dynamic (face value + fee)","worst_case_price_usd":50.25,"worst_case_price_display":"$50.25 max","input_schema":{"type":"object","required":["product_id","email"],"properties":{"product_id":{"type":"string","description":"Gift card product id, e.g. foot-locker-usa. List available at /tools/giftcard/api/products."},"value":{"type":"number","description":"Face value in the product's currency (e.g. 25 for a $25 card). Optional if the product has a fixed denomination."},"email":{"type":"string","description":"Delivery email for the gift card code."}}},"payment":"x402"}]}