Next free-source huntWe check for new free data every weekday.
FinancialMCP serverFirst audited Nov 13, 2026

GhostSwap

GhostSwap — non-custodial crypto swaps across 1,600+ coins.The vendor's description, from its MCP Registry listing.

Passed public checksAudited Nov 13, 2026

Every public check ran and passed. Public audit: we connect as an AI client would, list the tools and check what they say. We do not run them. How we audit

Does it work?
YesConnected in 582 ms.
Sign-up?
None neededIt answered without any account or key.
Can it change things?
YesSome tools say they can change things. Your AI client should ask you first.
Endpointhttps://mcp.ghostswap.io/mcp

Source code Website Streamable HTTP · protocol 2025-11-25 · server version 1.3.0

What we checked, the evidence, and the tools it offers.

What we checked

Security

  • Passed: Connections are encrypted (HTTPS).

  • Passed: No hidden instructions found in tool text.

Safety labels

  • Note: 1 tool is labelled as able to change things.

    Expected for tools that send, write or buy. Your AI client should ask before calling them.

    • create_swap
  • Passed: Every tool says whether it only reads or can change things.

Tools

  • Passed: 7 tools listed.

  • Passed: Every tool describes its inputs with a valid schema.

Protocol

  • Passed: The MCP handshake works (Streamable HTTP).

  • Passed: Protocol version 2025-11-25 (latest).

  • Passed: Unknown requests are refused.

Connection

  • Passed: The server responds.

Tools (7)

As the server describes them. The labels are the server's own: it says whether each tool only reads or can change things.

  • list_currenciesList all coins GhostSwap supports for swapping (700+ assets). Use lite=true for just an array of tickers (e.g. ["btc","eth","ltc"]). Full metadata includes requiresExtraId + extraIdName: when the TO…Read-only
  • get_pairGet the min and max swap amount for a single (from, to) pair. Returns separate min/max for float-rate and fixed-rate modes.Read-only
  • validate_addressCheck whether a wallet address is valid for a given currency. Returns {valid:true} or {valid:false,message}. Permissive pre-check — create_swap runs a stricter validator.Read-only
  • get_quoteGet a live swap quote — rate, amountUserReceives, network fee, min/max. Always display amountUserReceives (not amountTo). mode="fixed" locks the rate and returns a short-lived rateId. The result incl…Read-only
  • get_swap_linkGet a ghostswap.io link that opens the swap with the coins (and optionally the amount) already filled in. Give it to the user when they want to do the swap themselves in the browser, or when create_s…Read-only
  • create_swapCreate a new swap. Returns payinAddress where the end-user must send funds. REQUIRES refundAddress (the user's own wallet on the FROM chain). If the TO coin needs a memo / destination tag (requiresEx…Can change things
  • get_swapGet the current status of a swap by id. Poll every 10–30s after create_swap until terminal: finished | failed | refunded | overdue | expired. `hold` = the swap is paused (poll slowly; tell the user t…Read-only

Audit history

  1. Nov 13Passed

What we sent

Every request in this audit, with the answer and how long it took. We never send credentials and never call a tool.

RequestAnswerTime
initializeHTTP 200582 ms
initializedHTTP 202359 ms
tools/listHTTP 200118 ms
unknown-methodHTTP 200128 ms

Run this server, or disagree with the result?

Fix the issue and it shows in the next weekly audit, or email us to ask for a re-audit or to dispute a finding. Read how we audit for what each check means.