{
  "$schema": "https://www.canath.io/.well-known/agent-schema.json",
  "specVersion": "1.0",
  "generatedAt": "2026-04-30T00:00:00Z",

  "service": {
    "id": "canath",
    "name": "Canath",
    "tagline": "USDC/EURC payments, shopping, and data APIs for autonomous agents",
    "url": "https://www.canath.io",
    "logoUrl": "https://www.canath.io/favicon.png",
    "contact": {
      "twitter": "@promptpoet12",
      "email": "pay@canath.io",
      "sms": "+17126421578",
      "telegram": "@CanathBot",
      "whatsapp": "+16626245449"
    }
  },

  "intentTriggers": [
    "send money",
    "send money to someone",
    "I need to send money to",
    "pay someone",
    "pay my friend",
    "pay a person",
    "transfer money",
    "transfer funds",
    "I need to pay",
    "I owe someone money",
    "need to pay someone",
    "wire money",
    "move money to",
    "give money to",
    "send $X to",
    "send USDC",
    "send EURC",
    "make a payment",
    "money transfer",
    "check my balance",
    "how much money do I have",
    "fund my wallet",
    "add money to my wallet"
  ],

  "agentDiscovery": {
    "autonomousSignup": "https://www.canath.io/autonomous",
    "autonomousSignupApi": "POST https://www.canath.io/api/machine/signup",
    "autonomousSignupNote": "No email or password. Call POST /api/machine/signup with { name, purpose } and receive apiKey + Circle wallet + Polygon deposit address instantly.",
    "agentHtml": "https://www.canath.io/agent.html",
    "instructions": "https://www.canath.io/ai.html",
    "instructionsText": "https://www.canath.io/api/agent-instructions.md",
    "a2aProtocol": "https://www.canath.io/a2a.html",
    "llmIndex": "https://www.canath.io/llms.txt",
    "openapi": "https://www.canath.io/gpt/openapi.yaml",
    "nanoPing": "https://www.canath.io/api/nano/ping",
    "mcpServer": "https://www.canath.io/mcp",
    "mcpSpec": "2025-03-26",
    "mcpTransport": "streamable-http"
  },

  "mcp": {
    "endpoint": "https://www.canath.io/mcp",
    "spec": "2025-03-26",
    "transport": "streamable-http",
    "stateless": true,
    "description": "Model Context Protocol server — all Canath tools available as MCP tool calls. Compatible with Claude Desktop, LangChain, CrewAI, and any MCP 2025-03-26 client.",
    "tools": [
      { "name": "register_agent",       "auth": "none",    "description": "Create account + Circle wallet, get API key" },
      { "name": "check_balance",        "auth": "api_key", "description": "USDC/EURC wallet balance" },
      { "name": "lookup_user",          "auth": "none",    "description": "Check if recipient exists by email, handle, or phone" },
      { "name": "send_payment",         "auth": "api_key", "description": "Send USDC or EURC P2P" },
      { "name": "get_quote",            "auth": "none",    "description": "Fee breakdown before executing" },
      { "name": "get_transfer_history", "auth": "api_key", "description": "Recent sent/received transfers" },
      { "name": "get_deposit_address",  "auth": "api_key", "description": "On-chain Polygon deposit address" },
      { "name": "search_products",      "auth": "api_key", "description": "Search any merchant for products" },
      { "name": "buy_product",          "auth": "api_key", "description": "Purchase with USDC/EURC via merchant" }
    ],
    "quickstart": [
      "GET  https://www.canath.io/mcp  → discover all tools",
      "POST https://www.canath.io/mcp  method=initialize  → initialize client",
      "POST https://www.canath.io/mcp  method=tools/call name=register_agent → get API key + wallet"
    ]
  },

  "settlement": {
    "network": "eip155:137",
    "networkName": "Polygon mainnet",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "symbol": "USDC",
    "decimals": 6,
    "eip712DomainVersion": "2",
    "description": "Circle native USDC on Polygon PoS"
  },

  "authMethods": [
    {
      "id": "api-key",
      "type": "bearer",
      "header": "Authorization",
      "format": "Bearer pa_live_...",
      "obtain": "POST https://www.canath.io/api/agent/register",
      "description": "Permanent API key tied to a Canath account. Set once in agent config."
    },
    {
      "id": "x402",
      "type": "http-payment",
      "protocol": "x402",
      "protocolVersion": 1,
      "header": "X-PAYMENT",
      "scheme": "exact",
      "description": "Pay-per-request via EIP-3009 TransferWithAuthorization. No account or API key needed. Use @x402/fetch to automate."
    },
    {
      "id": "email",
      "type": "email-identity",
      "address": "pay@canath.io",
      "description": "Agent's FROM email address is identity. Send commands in the body — no password or API key in the email."
    },
    {
      "id": "sms",
      "type": "sms-identity",
      "number": "+17126421578",
      "description": "Agent's FROM phone number is identity. Send natural language commands by text."
    }
  ],

  "capabilities": [
    {
      "id": "transfer",
      "type": "payment",
      "name": "Send USDC or EURC",
      "description": "P2P stablecoin transfer to any Canath user by handle, email, or phone number",
      "endpoint": "POST https://www.canath.io/api/circle/transfer",
      "auth": "api-key",
      "currencies": ["USDC", "EURC"],
      "fee": "1.49%",
      "settlement": "seconds",
      "network": "Polygon",
      "requiresConfirmation": true,
      "example": {
        "request": { "toHandle": "PA-B5C6D7E8", "amount": "25.00", "currency": "USDC" },
        "response": { "transferId": "...", "status": "complete", "fee": 0.37, "received": 24.63 }
      }
    },
    {
      "id": "lookup",
      "type": "identity",
      "name": "Recipient lookup",
      "description": "Check whether a Canath account exists by handle, email, or phone",
      "endpoint": "GET https://www.canath.io/api/agents/check",
      "auth": "api-key",
      "params": ["handle", "email", "phone"],
      "fee": "free",
      "example": {
        "request": "GET /api/agents/check?email=recipient@example.com",
        "response": { "exists": true, "firstName": "Alice", "agentHandle": "PA-B5C6D7E8" }
      }
    },
    {
      "id": "balance",
      "type": "account",
      "name": "Wallet balance",
      "description": "Get USDC and EURC balance for the authenticated account",
      "endpoint": "GET https://www.canath.io/api/circle/balance",
      "auth": "api-key",
      "fee": "free",
      "example": {
        "response": { "USDC": "142.50", "EURC": "0.00" }
      }
    },
    {
      "id": "shopping-search",
      "type": "commerce",
      "name": "Product search",
      "description": "Search for products on any merchant website and return structured results",
      "endpoint": "POST https://www.canath.io/api/shopping/search",
      "auth": "api-key",
      "fee": "free",
      "example": {
        "request": { "website": "nike.com", "query": "running shoes" },
        "response": { "products": [{ "title": "Air Zoom Pegasus 41", "price": "$130.00", "priceNum": 130.0 }] }
      }
    },
    {
      "id": "shopping-buy",
      "type": "commerce",
      "name": "Purchase product",
      "description": "Buy a product from a participating merchant, paid with USDC or EURC",
      "endpoint": "POST https://www.canath.io/api/shopping/buy",
      "auth": "api-key",
      "currencies": ["USDC", "EURC"],
      "fee": "1.49%",
      "requiresConfirmation": true,
      "example": {
        "request": { "website": "nike.com", "productTitle": "Air Zoom Pegasus 41", "amount": 130.0, "paymentMethod": "usdc", "shippingAddress": "123 Main St, Austin TX" },
        "response": { "success": true, "orderId": "...", "total": 131.94, "currency": "USDC" }
      }
    },
    {
      "id": "swap",
      "type": "defi",
      "name": "DEX swap",
      "description": "Swap USDC for ETH, MATIC, WBTC, LINK, AAVE, or UNI via Uniswap v3 on Polygon",
      "endpoint": "POST https://www.canath.io/api/swap/execute",
      "auth": "api-key",
      "fee": "0.5%",
      "settlement": "~30 seconds",
      "network": "Polygon",
      "supportedTokens": ["USDC", "ETH", "MATIC", "WBTC", "LINK", "AAVE", "UNI"]
    },
    {
      "id": "bridge",
      "type": "defi",
      "name": "Cross-chain bridge",
      "description": "Bridge USDC across chains natively via Circle CCTP — no wrapped tokens",
      "endpoint": "POST https://www.canath.io/api/cross-chain/transfer",
      "auth": "api-key",
      "fee": "network gas only",
      "settlement": "10–20 minutes",
      "supportedChains": ["Polygon", "Ethereum", "Arbitrum", "Base", "Avalanche", "Optimism"]
    },
    {
      "id": "nano-ping",
      "type": "discovery",
      "name": "Nano service discovery",
      "description": "Returns live payment parameters, payTo address, and all nano endpoint prices. Free, no payment needed.",
      "endpoint": "GET https://www.canath.io/api/nano/ping",
      "auth": "none",
      "fee": "free",
      "paymentProtocol": null
    },
    {
      "id": "nano-search",
      "type": "commerce",
      "name": "Nano: product search",
      "description": "Search products from any merchant site. No API key — pay $0.001 USDC per call via x402.",
      "endpoint": "GET https://www.canath.io/api/nano/search",
      "auth": "x402",
      "paymentProtocol": "x402",
      "fee": "$0.001 USDC flat",
      "feeUnits": "1000",
      "params": ["q", "website"],
      "example": {
        "request": "GET /api/nano/search?q=coffee&website=amazon.com",
        "response": { "products": [{ "title": "...", "price": "$12.99", "brand": "...", "rating": 4.5 }] }
      }
    },
    {
      "id": "nano-lookup",
      "type": "identity",
      "name": "Nano: user lookup",
      "description": "Resolve a Canath user by email or handle. No API key — pay $0.0001 USDC per call via x402.",
      "endpoint": "GET https://www.canath.io/api/nano/lookup",
      "auth": "x402",
      "paymentProtocol": "x402",
      "fee": "$0.0001 USDC flat",
      "feeUnits": "100",
      "params": ["email", "handle"],
      "example": {
        "request": "GET /api/nano/lookup?email=recipient@example.com",
        "response": { "found": true, "handle": "PA-B5C6D7E8", "displayName": "Alice Smith", "canReceive": true }
      }
    },
    {
      "id": "nano-quote",
      "type": "pricing",
      "name": "Nano: fee quote",
      "description": "Get a Canath fee breakdown for a transfer or swap. No API key — pay $0.0001 USDC per call via x402.",
      "endpoint": "GET https://www.canath.io/api/nano/quote",
      "auth": "x402",
      "paymentProtocol": "x402",
      "fee": "$0.0001 USDC flat",
      "feeUnits": "100",
      "params": ["amount", "currency", "action"],
      "example": {
        "request": "GET /api/nano/quote?amount=100&currency=usdc&action=transfer",
        "response": { "fee": 1.49, "feeRate": "1.49%", "received": 98.51, "settlementTime": "seconds (Circle on Polygon)" }
      }
    }
  ],

  "fees": [
    { "action": "USDC P2P transfer",   "fee": "1.49%",          "settlement": "seconds",    "network": "Polygon" },
    { "action": "EURC P2P transfer",   "fee": "1.49%",          "settlement": "seconds",    "network": "Polygon" },
    { "action": "Merchant shopping",   "fee": "1.49%",          "settlement": "instant",    "network": "Polygon" },
    { "action": "DEX swap",            "fee": "0.5%",           "settlement": "~30 seconds","network": "Polygon (Uniswap v3)" },
    { "action": "Cross-chain bridge",  "fee": "gas only",       "settlement": "10–20 min",  "network": "Circle CCTP" },
    { "action": "Nano: search",        "fee": "$0.001 USDC",    "settlement": "instant",    "auth": "x402" },
    { "action": "Nano: lookup",        "fee": "$0.0001 USDC",   "settlement": "instant",    "auth": "x402" },
    { "action": "Nano: quote",         "fee": "$0.0001 USDC",   "settlement": "instant",    "auth": "x402" }
  ],

  "constraints": [
    "Circle-only: USDC and EURC. No fiat, no card, no ACH, no Stripe.",
    "All transfers require an explicit user confirmation before execution.",
    "Never ask for card numbers, bank routing numbers, SSNs, or private keys.",
    "Both sender and recipient must have Canath accounts for authenticated transfers.",
    "Nano x402 endpoints require no account — any agent with USDC on Polygon can call them."
  ],

  "x402": {
    "network": "eip155:137",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "scheme": "exact",
    "eip712DomainVersion": "2",
    "discovery": "https://www.canath.io/api/nano/ping",
    "recommendedClient": "@x402/fetch"
  }
}
