{
  "name": "HiddenSwap",
  "description": "Read-only swap assistant for HiddenSwap, a no-KYC crypto exchange for crypto-to-crypto swaps: coin and network search, live swap estimates, pair details with a prefilled swap link, and order status. It never creates a swap, takes an address or moves funds: the person reviews and starts the swap on hiddenswap.com. No account, no email and no ID needed to swap.",
  "supportedInterfaces": [
    {
      "url": "https://hiddenswap.com/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    },
    {
      "url": "https://hiddenswap.com/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "0.3"
    }
  ],
  "provider": {
    "organization": "HiddenSwap",
    "url": "https://hiddenswap.com"
  },
  "version": "1.1.0",
  "documentationUrl": "https://hiddenswap.com/.well-known/agent-skills/hiddenswap-swap/SKILL.md",
  "iconUrl": "https://hiddenswap.com/icon-512.png",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "search_coins",
      "name": "Find coins and networks",
      "description": "Find the coin ids HiddenSwap uses, by ticker, name or network, for example \"usdt tron\", \"monero\" or \"eth base\". Each result gives the id to pass to the other tools, the network, whether the coin can be sent or received in a swap, whether a memo is usually needed, and the coin page when there is one. HiddenSwap is a no-KYC crypto exchange for crypto-to-crypto swaps. Read-only. No account, no email and no ID needed to swap. To call it, send one data part: {\"skill\": \"search_coins\", \"arguments\": {...}} with the same arguments as the MCP tool.",
      "tags": [
        "crypto",
        "coins",
        "networks",
        "search"
      ],
      "examples": [
        "{\"skill\":\"search_coins\",\"arguments\":{\"query\":\"usdt tron\"}}",
        "search usdt tron"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "get_quote",
      "name": "Get a swap estimate",
      "description": "Estimate a crypto-to-crypto swap on HiddenSwap, a no-KYC crypto exchange. Returns the amount the person would receive after all fees, the rate, the minimum and maximum, the payout fee, the usual duration and a prefilled swap link. Uses a quote recorded in the last two hours when one matches the exact amount (floating rate only, labelled with its time), otherwise a live quote. Read-only: it creates no order and moves no funds. Coin ids come from search_coins (for example btc, xmr, usdttrc20). No account, no email and no ID needed to swap. To call it, send one data part: {\"skill\": \"get_quote\", \"arguments\": {...}} with the same arguments as the MCP tool.",
      "tags": [
        "crypto",
        "swap",
        "quote",
        "estimate",
        "no-kyc"
      ],
      "examples": [
        "{\"skill\":\"get_quote\",\"arguments\":{\"from\":\"btc\",\"to\":\"xmr\",\"amount\":\"0.05\"}}",
        "quote 0.05 btc to xmr"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "get_pair_info",
      "name": "Check a swap pair",
      "description": "Check whether two coins can be swapped on HiddenSwap, a no-KYC crypto exchange, without asking for a live quote. Returns both coins with their networks, whether the pair can be swapped, fixed-rate support, the recorded limits and estimate when there are any, memo notes, the pair page and a prefilled swap link the person opens to finish on hiddenswap.com. Read-only. No account, no email and no ID needed to swap. To call it, send one data part: {\"skill\": \"get_pair_info\", \"arguments\": {...}} with the same arguments as the MCP tool.",
      "tags": [
        "crypto",
        "swap",
        "pair",
        "limits",
        "swap link"
      ],
      "examples": [
        "{\"skill\":\"get_pair_info\",\"arguments\":{\"from\":\"usdttrc20\",\"to\":\"xmr\",\"amount\":\"100\"}}",
        "pair usdttrc20 to xmr"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "get_order_status",
      "name": "Check an order",
      "description": "Check the stage of a HiddenSwap order by its order ID, for example awaiting deposit, confirming, swapping, sending, complete, needs support, refunded or expired. The order ID is private: anyone who has it can open the order page, which shows the addresses and amounts. Only use an order ID the person gave you, and never repeat it anywhere else. Returns the stage, a short label, whether it is final, when it last changed, and links to the order page and support. It never returns addresses, amounts or transaction hashes. Read-only. No account, no email and no ID needed to swap. To call it, send one data part: {\"skill\": \"get_order_status\", \"arguments\": {...}} with the same arguments as the MCP tool.",
      "tags": [
        "swap",
        "order",
        "status",
        "tracking"
      ],
      "examples": [
        "{\"skill\":\"get_order_status\",\"arguments\":{\"orderId\":\"0123456789abcd\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    }
  ],
  "url": "https://hiddenswap.com/a2a",
  "preferredTransport": "JSONRPC",
  "protocolVersion": "0.3.0",
  "additionalInterfaces": [
    {
      "url": "https://hiddenswap.com/a2a",
      "transport": "JSONRPC"
    }
  ]
}
