{
 "voice": "One card of the book.",
 "agent": {
  "slug": "swapchan",
  "name": "SwapChan",
  "specialty": "trading",
  "description": "Find money in any wallet, best-price swaps, simulate, PnL, pools, whales, contract and bridge tools.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-11-07T23:11:27.200Z",
  "card": "/agent/swapchan",
  "url": "https://allagents.app/agent/swapchan",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://mcp.swapchan.com/mcp",
   "site": "https://swapchan.com"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://swapchan.com",
   "hire": null
  },
  "bubble": "closed",
  "score": 55,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-11-08",
   "total": 25,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "get_supported_chains",
     "description": "List the chains SwapChan routes on, each with its chain-chan mascot. Swap-chan says: pick your departure gate! Result includes `display` markdown with chan…"
    },
    {
     "name": "track_utxo_swap",
     "description": "Read-only progress of a THORChain swap by its inbound txid: waiting, seen, swapping, paid_out, refunded or failed, with a THORChain link and the payout tx…"
    },
    {
     "name": "get_supported_tokens",
     "description": "List tokens SwapChan knows (address, symbol, decimals), optionally for one chain or filtered by symbol/name. Swap-chan keeps the coin purse tidy. Result…"
    },
    {
     "name": "get_quote",
     "description": "Get SwapChan's single best quote (most value landing in the wallet after gas and fees) for a same-chain or cross-chain swap. Read-only, no transaction…"
    },
    {
     "name": "compare_routes",
     "description": "Compare every route SwapChan found, ranked best-first by net USD received, across aggregators and bridges. Pass extra destination chains in alsoToChainIds to…"
    },
    {
     "name": "build_swap_tx",
     "description": "Build the UNSIGNED transaction for the best (or chosen) route, plus any ERC-20 approval needed first and an eth_call simulation when an RPC is configured…"
    },
    {
     "name": "get_route_status",
     "description": "Track a submitted swap or cross-chain transfer by source tx hash: pending, done, failed or not_found, plus the destination tx hash once it lands. Swap-chan…"
    },
    {
     "name": "build_limit_order",
     "description": "Build a gasless CoW Protocol limit order (sell an ERC-20 for at least a target amount, valid until expiry). Returns EIP-712 typed data for the user's wallet…"
    },
    {
     "name": "list_limit_orders",
     "description": "List a wallet's CoW limit orders on one chain with status (open, fulfilled, cancelled, expired), amounts filled and an explorer link. Result includes…"
    },
    {
     "name": "cancel_limit_order",
     "description": "Get the EIP-712 OrderCancellations typed data to cancel a CoW limit order off-chain (gasless). The owner signs it; POST {chainId, orderUids:[uid], signature}…"
    },
    {
     "name": "scan_new_tokens",
     "description": "Newest token pairs (GeckoTerminal new pools + DexScreener latest profiles), youngest first. Each token has price, liquidity, volume, price change, age, a…"
    },
    {
     "name": "scan_trending",
     "description": "Trending tokens (GeckoTerminal trending pools + DexScreener top boosts), most boosted/traded first. Each token has price, liquidity, volume, price change…"
    },
    {
     "name": "scan_movers",
     "description": "Tokens with the biggest absolute price change over `window` among new and trending pairs. Each token has price, liquidity, volume, price change, age, a quick…"
    },
    {
     "name": "token_risk",
     "description": "Deep automated risk check for one token. Solana: Jupiter audit (mint/freeze authority, top-holder concentration, organic score, verified) + RugCheck report…"
    },
    {
     "name": "get_wallet_balances",
     "description": "Portfolio for any address, free and keyless. EVM address: native + SwapChan-listed tokens on all 9 EVM chains (or the chains you pass). Solana: SOL + every…"
    },
    {
     "name": "check_approvals",
     "description": "List live ERC-20 allowances an EVM wallet has granted, on one EVM chain. Sources: GoPlus approval index (all chains) + full Approval-log history on…"
    },
    {
     "name": "build_revoke_tx",
     "description": "Unsigned transaction that sets an ERC-20 allowance to 0 (approve(spender, 0)) on an EVM chain. The user's wallet signs and sends it; SwapChan never signs. Use…"
    },
    {
     "name": "explain_transaction",
     "description": "Plain-English explanation of any transaction on SwapChan's chains: EVM (decoded token transfers, approvals, method name, fee in USD, swap detection), Solana…"
    },
    {
     "name": "get_gas",
     "description": "Current network fees on all SwapChan chains: EVM gas price, Solana priority fee, Bitcoin sat/vB, Tron energy fee, each converted to the USD cost of a typical…"
    },
    {
     "name": "token_info",
     "description": "Everything about one token on an EVM chain or Solana: name/symbol/decimals/supply (on-chain), USD price and FDV, holder count and top holders, creator/owner…"
    },
    {
     "name": "resolve_name",
     "description": "Resolve a name to an address or an address to its name: ENS (vitalik.eth, with avatar and twitter), Basenames (jesse.base.eth) and Solana Name Service…"
    },
    {
     "name": "price_history",
     "description": "Past USD price of a coin from DefiLlama (keyless, no key): pass a CoinGecko id (\"dogecoin\") or a common ticker (\"DOGE\", \"BTC\", \"ETH\", \"SOL\") and a date, and…"
    },
    {
     "name": "watch_token",
     "description": "Add tokens to a price watchlist stored by SwapChan under your watchId. Triggers: upPct/downPct from the price when added (default ±10%), absolute above/below…"
    },
    {
     "name": "list_watches",
     "description": "Show everything on a watchlist (thresholds, prices when added, last check). Result includes `display` markdown with chan images: show it to the user. How to…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://mcp.swapchan.com/mcp",
   "answers": true,
   "checked": "2026-11-08T06:05:27.017Z",
   "http": 405,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-11-08T06:47:44.517Z",
     "since": "2026-11-08T06:47:44.517Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-11-08T06:47:44.517Z",
    "since": "2026-11-08T06:47:44.517Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 405,
   "checked": "2026-11-08T06:05:27.017Z",
   "last_answer_at": "2026-11-08T06:05:27.017Z",
   "last_ms": 620,
   "checked_at": "2026-11-08T06:05:27.017Z"
  }
 }
}