{"$schema":"https://x402.org/schemas/discovery.json","service":{"name":"three.ws","legal_name":"three.ws","tagline":"AI-powered 3D model viewer and validation agent.","description":"three.ws is an agent-first 3D model platform. Drag-and-drop glTF/GLB preview, model validation/inspection/optimization, plus Solana agent data — reachable both as MCP tool calls and as paid REST endpoints (x402 v2). USDC on Base, Arbitrum, and Solana mainnet.","operator":"three.ws","mission":"Make 3D model tooling and Solana agent data machine-native so any AI agent can transact with the HTTP 402 protocol.","website":"https://three.ws","docs":"https://three.ws/docs/mcp","repository":"https://github.com/nirholas/three.ws","contact":"https://three.ws/","tags":["x402","x402-v2","mcp","agent-first","3d","gltf","glb","three-js","solana","base","arbitrum","usdc"],"environment":"apex","origin":"https://three.ws"},"resources":[{"path":"/api/x402/model-check","url":"https://three.ws/api/x402/model-check","method":"GET","description":"Fetches a glTF/GLB model from a URL and returns structural stats (vertex/triangle counts, materials, textures, animations, extensions) plus a prioritized list of optimization recommendations. Single GET, ?url=…. CDP-Bazaar-cataloged.","mimeType":"application/json","serviceName":"three.ws Model Check","tags":["3d","gltf","glb","inspection","validation"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/model-check","extra":{"name":"USDC","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/model-check","extra":{"name":"USDC","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"eip155:42161","network_label":"arbitrum-one","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/model-check","extra":{"name":"USDC","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:42161","network_label":"arbitrum-one","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/model-check","extra":{"name":"USDC","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"1000","price":"$0.001","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/model-check","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"GET","discoverable":true,"input":{"url":"https://three.ws/avatar/character-studio/sample.glb"},"inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Public HTTPS URL of a glTF/GLB model."}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/mint-to-mesh","url":"https://three.ws/api/x402/mint-to-mesh","method":"GET","description":"Mint to Mesh — pass a Solana fungible-token mint, get back a binary glTF (GLB) cube themed for that token. Color is derived from a stable hash of the mint; when the off-chain Metaplex JSON exposes a PNG/JPEG, that image is embedded as a baseColor texture on every face. Asset.extras carry mint, name, symbol, and timestamp. Useful for any agent that needs an instantly renderable 3D representation of a token. CDP-Bazaar-cataloged.","mimeType":"application/json","serviceName":"three.ws Mint to Mesh","tags":["3d","gltf","solana","token","render"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/mint-to-mesh","extra":{"name":"USDC","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/mint-to-mesh","extra":{"name":"USDC","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"eip155:42161","network_label":"arbitrum-one","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/mint-to-mesh","extra":{"name":"USDC","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:42161","network_label":"arbitrum-one","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/mint-to-mesh","extra":{"name":"USDC","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"1000","price":"$0.001","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/mint-to-mesh","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"GET","discoverable":true,"input":{"mint":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"},"inputSchema":{"type":"object","required":["mint"],"properties":{"mint":{"type":"string","minLength":32,"maxLength":64,"description":"Base58 SPL mint address on Solana mainnet."}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/insights/revenue-vision","url":"https://three.ws/api/insights/revenue-vision","method":"GET","description":"Revenue Vision — agentic growth analysis powered by Claude. Hand over a mission_brief and get back a single prioritized next-best move, a data-grounded insight, and an honestly-calibrated confidence rating. CDP-Bazaar-cataloged.","mimeType":"application/json","serviceName":"three.ws Revenue Vision","tags":["ai","analysis","growth","insight","claude"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/insights/revenue-vision","extra":{"name":"USDC","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/insights/revenue-vision","extra":{"name":"USDC","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"eip155:42161","network_label":"arbitrum-one","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/insights/revenue-vision","extra":{"name":"USDC","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:42161","network_label":"arbitrum-one","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/insights/revenue-vision","extra":{"name":"USDC","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"1000","price":"$0.001","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/insights/revenue-vision","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"GET","discoverable":true,"input":{"agent_codename":"ledger-bot","power_request":"revenue-vision","mission_brief":"Find the highest-converting buyer segment this week."},"inputSchema":{"type":"object","required":["agent_codename","power_request","mission_brief"],"properties":{"agent_codename":{"type":"string"},"power_request":{"type":"string","enum":["revenue-vision"]},"mission_brief":{"type":"string","minLength":4,"maxLength":4000}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/mcp","url":"https://three.ws/api/mcp","method":"POST","description":"MCP 2025-06-18 Streamable HTTP transport — 3D avatar viewer, glTF model validation/inspection/optimization, and Solana agent data exposed as MCP tools. JSON-RPC 2.0 batch-aware. Currency: USDC.","mimeType":"application/json","serviceName":"three.ws MCP","tags":["mcp","3d","gltf","solana","agent"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"1000","price":"$0.001","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"discoverable":true,"info":{"input":{"type":"http","method":"POST","body":{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"validate_model","arguments":{"url":"https://example.com/model.glb"}}},"bodyType":"json"},"output":{"type":"json","example":{"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"{\"ok\":true,\"warnings\":[],\"meta\":{\"vertices\":12345}}"}]}}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["jsonrpc","method"],"properties":{"jsonrpc":{"type":"string","const":"2.0"},"id":{"type":["string","number"]},"method":{"type":"string","enum":["initialize","tools/list","tools/call","ping"],"description":"MCP JSON-RPC method."},"params":{"type":"object","description":"For tools/call: { name, arguments }. Tool names include validate_model, inspect_model, optimize_model, search_public_avatars, solana_register, solana_reputation, and others — see tools/list."}}}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"jsonrpc":{"type":"string","const":"2.0"},"id":{"type":["string","number"]},"result":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","required":["type","text"],"properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}}}}}},"error":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"}}}}}},"required":["type"]}},"required":["input"]}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}},"links":{"openapi":"https://three.ws/openapi.json","docs":"https://three.ws/docs/mcp","agent_card":"https://three.ws/.well-known/agent-card.json","payment_config":"https://three.ws/.well-known/x402"}},{"path":"/api/x402/agent-reputation","url":"https://three.ws/api/x402/agent-reputation","method":"GET","description":"Agent Reputation — return a reputation snapshot for a three.ws agent (USDC paid in to its pump-agent tokens, distinct payers, deployed mints, distribution success rate, Solana attestation counts). Built from three.ws's proprietary index of pump_agent_payments, pump_distribute_runs, and solana_attestations.","mimeType":"application/json","serviceName":"three.ws Agent Reputation","tags":["reputation","agent","solana","attestation","trust"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"10000","price":"$0.01","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/agent-reputation","extra":{"name":"USD Coin","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"10000","price":"$0.01","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/agent-reputation","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"10000","price":"$0.01","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/agent-reputation","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"GET","discoverable":true,"input":{"agent_id":"7b9a4f30-2d11-4e2d-9d12-1cdb1f6a3a55"},"inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string","format":"uuid"}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/onchain-identity-verify","url":"https://three.ws/api/x402/onchain-identity-verify","method":"GET","description":"On-Chain Identity Verifier — given a three.ws agent_id + CAIP-2 chain + contract/mint, verify ownership from the canonical meta.onchain index and return tx_hash/wallet/deploy time evidence when verified. Trust primitive before paying counterparty agents.","mimeType":"application/json","serviceName":"three.ws Identity Verify","tags":["identity","verification","agent","trust","onchain"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"5000","price":"$0.005","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/onchain-identity-verify","extra":{"name":"USD Coin","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"5000","price":"$0.005","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/onchain-identity-verify","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"5000","price":"$0.005","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/onchain-identity-verify","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"GET","discoverable":true,"input":{"agent_id":"7b9a4f30-2d11-4e2d-9d12-1cdb1f6a3a55","chain":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","contract_or_mint":"C3vQABCDEFGHJKLMNopqrstuvwxyZ12345abcdefghi"},"inputSchema":{"type":"object","required":["agent_id","chain","contract_or_mint"],"properties":{"agent_id":{"type":"string","format":"uuid"},"chain":{"type":"string","description":"CAIP-2 chain ID"},"contract_or_mint":{"type":"string"}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/pump-agent-audit","url":"https://three.ws/api/x402/pump-agent-audit","method":"GET","description":"Pump-Agent Audit — full operational audit of a pump.fun agent-payments token: total USDC in, unique payers, distribute/buyback success history, latest error reasons, and risk flags (never_distributed, high_distribute_failure_rate, no_buybacks_run). Backed by three.ws's indexed pump_distribute_runs and pump_buyback_runs tables.","mimeType":"application/json","serviceName":"three.ws Pump Audit","tags":["pump.fun","audit","agent","risk","solana"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"20000","price":"$0.02","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/pump-agent-audit","extra":{"name":"USD Coin","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"20000","price":"$0.02","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/pump-agent-audit","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"20000","price":"$0.02","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/pump-agent-audit","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"GET","discoverable":true,"input":{"mint":"C3vQABCDEFGHJKLMNopqrstuvwxyZ12345abcdefghi"},"inputSchema":{"type":"object","required":["mint"],"properties":{"mint":{"type":"string","minLength":32,"maxLength":44}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/pump-launch","url":"https://three.ws/api/x402/pump-launch","method":"POST","description":"Pump Launcher — deploy a brand-new pump.fun token in one paid call. Supply name + symbol and either a pre-pinned metadataUri or an imageUrl (we pin the image + descriptor to pump.fun IPFS). The server fronts the SOL deploy cost and signs the create-coin tx, so the buyer needs no SOL and no account. Creator rewards accrue to any Solana wallet you nominate; optional vanity prefix/suffix grinds a custom mint address. Returns mint + tx signature + pump.fun URL.","mimeType":"application/json","serviceName":"three.ws Pump Launcher","tags":["pump.fun","launch","deploy","token","solana"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"5000000","price":"$5","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/pump-launch","extra":{"name":"USD Coin","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"5000000","price":"$5","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/pump-launch","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"5000000","price":"$5","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/pump-launch","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"POST","discoverable":true,"input":{"name":"Helios","symbol":"HELIO","imageUrl":"https://example.com/helios.png","creator":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV"},"inputSchema":{"type":"object","required":["name","symbol"],"properties":{"name":{"type":"string","maxLength":32},"symbol":{"type":"string","maxLength":10},"metadataUri":{"type":"string","maxLength":2048},"imageUrl":{"type":"string","maxLength":2048},"description":{"type":"string","maxLength":2000},"creator":{"type":"string","minLength":32,"maxLength":44},"vanityPrefix":{"type":"string","maxLength":5},"vanitySuffix":{"type":"string","maxLength":5}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/skill-marketplace","url":"https://three.ws/api/x402/skill-marketplace","method":"GET","description":"Skill Marketplace — list active skill listings with prices across all three.ws agents. Filter by skill name to find the cheapest provider for a given capability. Returns price atomics, chain, currency, trial offer, and time-pass terms.","mimeType":"application/json","serviceName":"three.ws Skill Market","tags":["marketplace","agent","skills","pricing","discovery"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/skill-marketplace","extra":{"name":"USD Coin","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/skill-marketplace","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"1000","price":"$0.001","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/skill-marketplace","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"GET","discoverable":true,"input":{"skill":"inspect_model","limit":20},"inputSchema":{"type":"object","properties":{"skill":{"type":"string"},"limit":{"type":"integer","minimum":1,"maximum":200}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/symbol-availability","url":"https://three.ws/api/x402/symbol-availability","method":"GET","description":"Symbol Availability — pre-launch ticker collision check against three.ws's pump.fun mint index. Returns exact-symbol collisions plus trigram-similar tickers so launch agents can avoid name confusion and aggregator-search dilution.","mimeType":"application/json","serviceName":"three.ws Symbol Check","tags":["ticker","pump.fun","collision","launch","solana"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/symbol-availability","extra":{"name":"USD Coin","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/symbol-availability","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"1000","price":"$0.001","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/symbol-availability","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"GET","discoverable":true,"input":{"ticker":"HELIO","network":"mainnet"},"inputSchema":{"type":"object","required":["ticker"],"properties":{"ticker":{"type":"string","minLength":1,"maxLength":32},"network":{"type":"string","enum":["mainnet","devnet"]}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/vanity","url":"https://three.ws/api/x402/vanity","method":"GET","description":"Vanity Grinder — generate a brand-new Solana keypair whose Base58 address starts with a chosen prefix and/or ends with a chosen suffix. Returns the public address and its secret key (Base58 + 64-byte array) so it imports into any Solana wallet. Ground fresh per request in a Rust/WASM ed25519 engine and never stored. Difficulty-tiered price ($0.01 for 1 char, $0.05 for 2, $0.25 for 3); combined pattern capped at 3 Base58 characters. Settlement runs only after a successful grind, so an exhausted budget costs nothing.","mimeType":"application/json","serviceName":"three.ws Vanity Grinder","tags":["solana","vanity","keypair","wallet","address"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"10000","price":"$0.01","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/vanity","extra":{"name":"USD Coin","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"10000","price":"$0.01","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/vanity","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"10000","price":"$0.01","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/vanity","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"GET","discoverable":true,"input":{"prefix":"So","suffix":"","ignoreCase":"0"},"inputSchema":{"type":"object","anyOf":[{"required":["prefix"]},{"required":["suffix"]}],"properties":{"prefix":{"type":"string","maxLength":3,"description":"Base58 characters the address must start with (excludes 0, O, I, l). Combined with suffix, max 3."},"suffix":{"type":"string","maxLength":3,"description":"Base58 characters the address must end with. Combined with prefix, max 3."},"ignoreCase":{"type":"string","enum":["0","1","true","false"],"description":"When 1/true, match case-insensitively (faster, less specific)."}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/permit2-paid-demo","url":"https://three.ws/api/x402/permit2-paid-demo","method":"GET","description":"Permit2 + EIP-2612 Gas Sponsoring Demo — forces the gasless Permit2 path so a fresh wallet holding USDC but ZERO ETH can complete the flow. CDP's x402ExactPermit2Proxy submits the EIP-2612 permit + Permit2 transfer atomically via settleWithPermit. Response surfaces the on-chain tx hash and a Basescan link.","mimeType":"application/json","serviceName":"three.ws Permit2 Demo","tags":["x402","permit2","eip2612","gasless","demo"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/permit2-paid-demo","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}}],"extensions":{"bazaar":{"method":"GET","discoverable":true,"input":{},"inputSchema":{"type":"object","properties":{},"additionalProperties":false}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/mint-to-mesh-batch","url":"https://three.ws/api/x402/mint-to-mesh-batch","method":"POST","description":"Mint-to-Mesh (Batch) — resolve 1–10 Solana SPL mints to themed binary glTF cubes in a single paid call. Per-mint failures report ok:false individually instead of failing the whole batch. Output is base64 GLB bytes for Three.js / Babylon.js / model-viewer.","mimeType":"application/json","serviceName":"three.ws Mint Mesh Batch","tags":["3d","gltf","solana","batch","render"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"50000","price":"$0.05","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/mint-to-mesh-batch","extra":{"name":"USD Coin","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"50000","price":"$0.05","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/mint-to-mesh-batch","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"50000","price":"$0.05","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/mint-to-mesh-batch","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"POST","discoverable":true,"input":{"mints":["C3vQABCDEFGHJKLMNopqrstuvwxyZ12345abcdefghi","F7kXZYXWVUTSRQPONMLKJIHGFEDCba9876543210xyz"]},"inputSchema":{"type":"object","required":["mints"],"properties":{"mints":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"string","minLength":32,"maxLength":44}}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/dance-tip","url":"https://three.ws/api/x402/dance-tip","method":"GET","description":"three.ws Pole Club — tip a dancer to perform one routine on the 3D pole stage. Pay $0.001 USDC per performance. Pick a dancer slot (1-4) and a dance style. The settled call returns a performance ticket the /club page consumes to spawn the dancer and play the routine for ~12 seconds.","mimeType":"application/json","serviceName":"three.ws Pole Club","tags":["3d","avatar","club","tip","dance"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/dance-tip","extra":{"name":"USD Coin","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/dance-tip","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"1000","price":"$0.001","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/dance-tip","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"GET","discoverable":true,"input":{"dancer":"1","dance":"rumba"},"inputSchema":{"type":"object","required":["dancer","dance"],"properties":{"dancer":{"type":"string","enum":["1","2","3","4"],"description":"Stage slot 1-4 — which dancer should take the pole."},"dance":{"type":"string","enum":["rumba","silly","thriller","capoeira","hiphop"],"description":"Performance style — a clip in /animations/manifest.json."}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/asset-download","url":"https://three.ws/api/x402/asset-download","method":"GET","description":"three.ws Asset Bazaar — pay once in USDC to unlock a 3D asset (GLB, avatar, or accessory) hosted on R2. Wallets that have already paid can re-download for free by signing in with SIWX (CAIP-122). Each asset has its own price and creator payout address; the response carries a short-lived presigned R2 URL the client uses to fetch the file directly.","mimeType":"application/json","serviceName":"three.ws Asset Bazaar","tags":["3d","asset","glb","avatar","download"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"100000","price":"$0.1","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/asset-download","extra":{"name":"USD Coin","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"100000","price":"$0.1","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/asset-download","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"100000","price":"$0.1","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/asset-download","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"GET","discoverable":true,"input":{"slug":"pole-dancer-rumba"},"inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","minLength":1,"maxLength":128,"description":"Unique asset slug from the paid_assets catalog."}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/skill-call","url":"https://three.ws/api/x402/skill-call","method":"GET","description":"three.ws Skill Call — pay the per-call price of a marketplace skill in USDC (Base or Solana) and receive its executable payload: the tool schema and content the calling agent runs. Payment settles straight to the skill author's wallet. Per-call pricing — every invocation is a fresh payment.","mimeType":"application/json","serviceName":"three.ws Skill Call","tags":["skill","agent","tool","pay-per-call"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"10000","price":"$0.01","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/skill-call","extra":{"name":"USD Coin","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"10000","price":"$0.01","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/skill-call","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"10000","price":"$0.01","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/skill-call","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"GET","discoverable":true,"input":{"skill":"wallet-balance"},"inputSchema":{"type":"object","required":["skill"],"properties":{"skill":{"type":"string","minLength":1,"maxLength":128,"description":"Unique skill slug from the marketplace_skills catalog."}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/fact-check","url":"https://three.ws/api/x402/fact-check","method":"POST","description":"three.ws Fact Checker — pay $0.10 USDC to verify a factual claim. Generates search queries, runs multi-source web search, extracts per-source stance with an LLM, computes a weighted verdict + confidence, and returns supporting sources plus a SHA-256 attestation of the result.","mimeType":"application/json","serviceName":"three.ws Fact Checker","tags":["fact-check","search","verification","llm","attestation"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"100000","price":"$0.1","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/fact-check","extra":{"name":"USD Coin","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"100000","price":"$0.1","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/fact-check","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"100000","price":"$0.1","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/fact-check","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"POST","discoverable":true,"input":{"claim":"The Eiffel Tower is in Paris.","strictness":"medium"},"inputSchema":{"type":"object","required":["claim"],"properties":{"claim":{"type":"string","minLength":5,"maxLength":1000,"description":"The factual claim to verify."},"strictness":{"type":"string","enum":["high","medium","low"],"description":"high: penalizes low-authority sources. medium: default. low: accepts all sources equally."}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"path":"/api/x402/tutor","url":"https://three.ws/api/x402/tutor","method":"POST","description":"three.ws Pay-As-You-Learn Tutor — pay $0.01 USDC per answered question. Returns a leveled explanation, key points, a worked example, and a follow-up, plus a running session tab for a live itemized invoice. Pass a sessionId to accumulate a tab across questions.","mimeType":"application/json","serviceName":"three.ws Pay-As-You-Learn Tutor","tags":["tutor","education","llm","explain","pay-per-call"],"iconUrl":"https://three.ws/favicon.ico","accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"10000","price":"$0.01","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/tutor","extra":{"name":"USD Coin","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"10000","price":"$0.01","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/tutor","extra":{"name":"USD Coin","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"10000","price":"$0.01","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/x402/tutor","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"method":"POST","discoverable":true,"input":{"question":"Why is the sky blue?","level":"intermediate"},"inputSchema":{"type":"object","required":["question"],"properties":{"sessionId":{"type":"string","maxLength":100,"description":"Stable session identifier to accumulate a running tab. Omit to start a new session."},"question":{"type":"string","minLength":5,"maxLength":2000,"description":"The question to be explained."},"context":{"type":"string","maxLength":6000,"description":"Optional code or context to ground the explanation."},"level":{"type":"string","enum":["beginner","intermediate","expert"],"description":"Target expertise level — controls depth and assumed background."}}}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"type":"mcp","path":"/api/mcp","url":"https://three.ws/api/mcp","toolName":"render_avatar","method":"POST","description":"Produce an HTML <model-viewer> snippet that renders the given avatar. Return this text as an inline HTML artifact to display an interactive 3D avatar.","mimeType":"application/json","serviceName":"three.ws MCP","tags":["mcp","3d","gltf","solana","agent"],"iconUrl":"https://three.ws/favicon.ico","pricing":{"amount_usdc":0.005,"currency":"USDC","description":"Per call"},"accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"1000","price":"$0.001","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"info":{"input":{"type":"mcp","toolName":"render_avatar","description":"Produce an HTML <model-viewer> snippet that renders the given avatar. Return this text as an inline HTML artifact to display an interactive 3D avatar.","transport":"streamable-http","inputSchema":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"slug":{"type":"string"},"auto_rotate":{"type":"boolean","default":true},"background":{"type":"string","description":"CSS background color or gradient.","default":"transparent"},"height":{"type":"string","default":"480px"},"width":{"type":"string","default":"100%"},"camera_orbit":{"type":"string","description":"model-viewer camera-orbit value, e.g. \"0deg 80deg 2m\"."},"poster":{"type":"string","description":"Optional poster image URL shown while loading."},"ar":{"type":"boolean","default":true,"description":"Include AR button for mobile."}},"additionalProperties":false},"example":{}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"mcp"},"toolName":{"type":"string"},"description":{"type":"string"},"transport":{"type":"string","enum":["streamable-http"]},"inputSchema":{"type":"object"},"example":{"type":"object"}},"required":["type","toolName","inputSchema"],"additionalProperties":false}},"required":["input"]}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"type":"mcp","path":"/api/mcp","url":"https://three.ws/api/mcp","toolName":"validate_model","method":"POST","description":"Run the Khronos glTF-Validator against a remote GLB or glTF URL. Returns a structured report of errors, warnings, infos, and hints — the authoritative answer to \"is this file spec-compliant?\". SSRF-hardened: only public https URLs are fetched.","mimeType":"application/json","serviceName":"three.ws MCP","tags":["mcp","3d","gltf","solana","agent"],"iconUrl":"https://three.ws/favicon.ico","pricing":{"amount_usdc":0.01,"currency":"USDC","description":"Per call"},"accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"1000","price":"$0.001","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"info":{"input":{"type":"mcp","toolName":"validate_model","description":"Run the Khronos glTF-Validator against a remote GLB or glTF URL. Returns a structured report of errors, warnings, infos, and hints — the authoritative answer to \"is this file spec-compliant?\". SSRF-hardened: only public https URLs are fetched.","transport":"streamable-http","inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public https URL of a .glb or .gltf file."},"max_issues":{"type":"integer","minimum":1,"maximum":500,"default":100}},"required":["url"],"additionalProperties":false},"example":{"url":"example-url"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"mcp"},"toolName":{"type":"string"},"description":{"type":"string"},"transport":{"type":"string","enum":["streamable-http"]},"inputSchema":{"type":"object"},"example":{"type":"object"}},"required":["type","toolName","inputSchema"],"additionalProperties":false}},"required":["input"]}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"type":"mcp","path":"/api/mcp","url":"https://three.ws/api/mcp","toolName":"inspect_model","method":"POST","description":"Parse a remote GLB or glTF and return structural stats: scene/node/mesh counts, vertex and triangle totals, material and texture summaries, extensions used. Pure inspection — no optimization advice.","mimeType":"application/json","serviceName":"three.ws MCP","tags":["mcp","3d","gltf","solana","agent"],"iconUrl":"https://three.ws/favicon.ico","pricing":{"amount_usdc":0.01,"currency":"USDC","description":"Per call"},"accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"1000","price":"$0.001","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"info":{"input":{"type":"mcp","toolName":"inspect_model","description":"Parse a remote GLB or glTF and return structural stats: scene/node/mesh counts, vertex and triangle totals, material and texture summaries, extensions used. Pure inspection — no optimization advice.","transport":"streamable-http","inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public https URL of a .glb or .gltf file."}},"required":["url"],"additionalProperties":false},"example":{"url":"example-url"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"mcp"},"toolName":{"type":"string"},"description":{"type":"string"},"transport":{"type":"string","enum":["streamable-http"]},"inputSchema":{"type":"object"},"example":{"type":"object"}},"required":["type","toolName","inputSchema"],"additionalProperties":false}},"required":["input"]}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}},{"type":"mcp","path":"/api/mcp","url":"https://three.ws/api/mcp","toolName":"optimize_model","method":"POST","description":"Inspect the model and return actionable suggestions for reducing size and draw-call overhead: triangle budget, Draco/Meshopt compression, oversized textures, KTX2 transcoding, non-indexed primitives, redundant materials, and more.","mimeType":"application/json","serviceName":"three.ws MCP","tags":["mcp","3d","gltf","solana","agent"],"iconUrl":"https://three.ws/favicon.ico","pricing":{"amount_usdc":0.05,"currency":"USDC","description":"Per call"},"accepts":[{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","version":"2","decimals":6}},{"scheme":"exact","network":"eip155:8453","network_label":"base-mainnet","amount":"1000","price":"$0.001","payTo":"0x4022de2d36c334e73c7a108805cea11c0564f402","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","version":"2","decimals":6,"assetTransferMethod":"permit2","supportsEip2612":true}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_label":"solana-mainnet","amount":"1000","price":"$0.001","payTo":"wwwPqsM4N7T9J69tB82nLyzxqsH159j4orftLTQfUGV","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_symbol":"USDC","maxTimeoutSeconds":60,"resource":"https://three.ws/api/mcp","extra":{"name":"USDC","decimals":6,"feePayer":"2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"}}],"extensions":{"bazaar":{"info":{"input":{"type":"mcp","toolName":"optimize_model","description":"Inspect the model and return actionable suggestions for reducing size and draw-call overhead: triangle budget, Draco/Meshopt compression, oversized textures, KTX2 transcoding, non-indexed primitives, redundant materials, and more.","transport":"streamable-http","inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public https URL of a .glb or .gltf file."}},"required":["url"],"additionalProperties":false},"example":{"url":"example-url"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"mcp"},"toolName":{"type":"string"},"description":{"type":"string"},"transport":{"type":"string","enum":["streamable-http"]},"inputSchema":{"type":"object"},"example":{"type":"object"}},"required":["type","toolName","inputSchema"],"additionalProperties":false}},"required":["input"]}},"eip2612GasSponsoring":{"info":{"description":"The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount to approve (uint256). Typically MaxUint."},"nonce":{"type":"string","pattern":"^[0-9]+$","description":"The current nonce of the sender."},"deadline":{"type":"string","pattern":"^[0-9]+$","description":"The timestamp at which the signature expires."},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The 65-byte concatenated signature (r, s, v) as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","nonce","deadline","signature","version"]}},"erc20ApprovalGasSponsoring":{"info":{"description":"The facilitator broadcasts a pre-signed ERC-20 approve() transaction to grant Permit2 allowance.","version":"1"},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"from":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the sender (token owner)."},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The address of the spender (Canonical Permit2)."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"The amount approved (uint256). Always MaxUint256."},"signedTransaction":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"The RLP-encoded signed EIP-1559 transaction as a hex string."},"version":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)*$","description":"Schema version identifier."}},"required":["from","asset","spender","amount","signedTransaction","version"]}}}}]}