fiatdock-mcp
MCP serverAI & modelsFiatDock lets your AI cash out USDC it holds into a real bank account, with no third party holding the funds along the way. It also gives your AI access to Base network data and an included marketplace.
Use fiatdock-mcp in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add fiatdock-mcp and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use fiatdock-mcp to get quote
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Details
Available today. Use it from your connected AI after setup.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
After adding it, ask your AI to cash out USDC to your bank account or to pull Base network data.
What your AI can do with it
- Cash out USDC to a real bank account
- Convert an AI agent's USDC without handing the funds to a custodian
- Look up data from the Base network
- Browse the included marketplace
Install fiatdock-mcp
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user fiatdock-mcp 'https://fiatdock.com/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://fiatdock.com/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=fiatdock-mcp&config=eyJ1cmwiOiJodHRwczovL2ZpYXRkb2NrLmNvbS9tY3AifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://fiatdock.com/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add fiatdock-mcp --url 'https://fiatdock.com/mcp'Run it once, then sign in with codex mcp login fiatdock-mcp if the server asks for an account.
From the project's README
As published by fiatdock/fiatdock in README.md.
A marketplace where AI agents discover MCP services and buy them from other agents per call, in USDC. Payment goes over x402 straight to the seller's wallet — no accounts, no API keys, no subscriptions, and FiatDock never holds the money. You are charged only if the seller actually answers: settlement happens AFTER delivery, never before. A call that returns no answer costs you nothing — but an answer you merely dislike is still a delivered call, and is paid. Sellers list for free, and FiatDock's gateway commission is currently waived for every seller — they keep 100% of each paid call (the standard rate is 1%).
Also included: cash out an agent's USDC to a real bank account — its owner receives the money in their own bank account, in any of 18 currencies, with conversion, KYC and custody handled by a licensed payment partner (Mt Pelerin) and FiatDock never touching the funds. It has a floor of about CHF 50, one step only a human can complete, and order status you poll. Plus first-party on-chain Base data and token-safety screening.
Setup — two steps
# 1. Give the agent a payment wallet (the step everyone skips — without it every paid
# tool stops at an HTTP 402 "payment required" challenge and NOTHING works past free):
# create a FRESH wallet, fund it with a few USDC on Base, and export its key:
export AGENT_PRIVATE_KEY=0x... # dedicated low-balance wallet — never your main key
# 2. Run the server — 47 MCP tools over stdio, paid calls settle automatically:
npx -y fiatdock-mcp
No wallet yet? Everything marked free below still works — start with get_quote and token_price, add the wallet when you want the paid tools.
4 ramp tools (USDC ↔ your own bank) + 13 data tools (crypto + on-chain intelligence, a web page reader, an email check) + 5 marketplace tools (discover & call other agents' MCP services — and search & pay ANY x402 endpoint in the public index) — all non-custodial. Take only the group you need with FIATDOCK_TOOLS:
| Tool | Cost | What it does |
|---|---|---|
get_quote | free | Live rate + the exact amount received, net of every provider fee (incl. the 1% service commission) |
create_offramp_session | $0.01 USDC via x402 | Agent's USDC → owner's own bank account; returns a one-time checkoutUrl |
create_onramp_session | $0.01 USDC via x402 | Owner's own fiat → USDC to the agent's wallet (address locked) |
get_order_status | free | Track an order by partnerOrderId |
token_price | free | Real-time price/liquidity/volume/change for any EVM token by contract address (DexScreener), or a major symbol spot price |
token_safety | $0.0045 USDC via x402 | On-chain safety verdict (honeypot / tax / owner-privilege / holder-concentration) safe|caution|danger (GoPlus + DexScreener); not charged if data unavailable |
stablecoin_intel | $0.002 USDC via x402 | Stablecoin supply, $1.00 peg deviation & per-chain breakdown incl. Base (DefiLlama); not charged if data unavailable |
gas_price | $0.001 USDC via x402 | Base gas price (wei + gwei) |
block_number | $0.001 USDC via x402 | Base latest block height + timestamp |
eth_balance | $0.001 USDC via x402 | ETH balance of any address on Base |
usdc_balance | $0.001 USDC via x402 | USDC balance of any address on Base |
token_metadata | $0.002 USDC via x402 | ERC-20 name / symbol / decimals / total supply on Base |
tx_status | $0.001 USDC via x402 | Base tx: success or failed, block, confirmations, gas, from/to |
address_intel | $0.0045 USDC via x402 | Enrich any Base address — EOA/contract/ERC-20, nonce, ETH+USDC balance, keyless security verdict (phishing / sanctioned / mixer) |
token_report | $0.0045 USDC via x402 | Full ERC-20 report in ONE call: price + liquidity + volume and the complete safety verdict |
web_read | $0.0018 USDC via x402 | Any public web page as clean text — title, description, canonical, readable body, first 50 links, word count; a page that cannot be read is not charged |
email_check | $0.001 USDC via x402 | Is this email worth sending to? Syntax, DNS (MX, then A/AAAA), disposable / role / free-provider lists, a typo suggestion, a normalized form, a risk verdict with reasons — no SMTP probe |
perp_market | $0.001 USDC via x402 | Hyperliquid perps — mark/oracle price, funding rate + APR, open interest, 24h volume — with the next Binance/Bybit funding beside it |
prediction_markets | $0.0045 USDC via x402 | Live Polymarket odds on any topic — outcome prices (implied probability), volume, liquidity; a search with no match is not charged |
defi_yields | $0.001 USDC via x402 | Best DeFi yields by chain and token (DefiLlama) — APY base vs rewards, 30-day mean, TVL, IL risk |
fx_rates | $0.001 USDC via x402 | Live FX rates and conversion for ~170 currencies, with the ECB reference rate beside each |
wallet_portfolio | $0.0045 USDC via x402 | Every token a Base wallet holds — priced, with a USD total; spam flagged and excluded |
token_holders | $0.0027 USDC via x402 | Top holders of an ERC-20 — contract/locked/burn flags, locked LP, concentration |
domain_intel | $0.0045 USDC via x402 | Registrar, age and expiry (RDAP), DNS, SPF/DMARC and the TLS certificate of any domain |
site_contacts | $0.0027 USDC via x402 | A website's social profiles, role emails (info@, sales@) and tel: phones — persons' addresses never returned |
crypto_news | $0.001 USDC via x402 | Latest crypto headlines from nine newsrooms, filterable by keyword |
sec_filings | $0.0027 USDC via x402 | A US company's latest SEC filings by ticker — 10-K, 10-Q, 8-K items, Form 4 — with sec.gov links |
prompt_injection_check | $0.0045 USDC via x402 | Scan untrusted text for prompt-injection patterns before your agent reads it |
token_screener | $0.009 USDC via x402 | New and boosted tokens from DexScreener's lists — price, liquidity, volume, buys/sells, age |
paper_search | $0.009 USDC via x402 | Academic papers from OpenAlex (Crossref fallback) — authors, year, DOI, citations, abstract |
satellite_scenes | $0.009 USDC via x402 | Latest Sentinel-2 satellite images of any point — date, cloud cover, preview, full image |
seo_audit | $0.009 USDC via x402 | Technical SEO audit of a page — issues by severity and a 0-100 score |
x402_top_services | $0.009 USDC via x402 | The x402 market by seller — est. revenue, paid calls, paying wallets, price |
ens_resolve | $0.0027 USDC via x402 | ENS names and Basenames ↔ addresses, with profile records |
timezone_convert | $0.001 USDC via x402 | One instant in up to 20 IANA time zones, DST-aware |
public_holidays | $0.001 USDC via x402 | A country’s public holidays, and whether a date is one |
weather_forecast | $0.0018 USDC via x402 | Weather forecast for any point (MET Norway) |
wiki_summary | $0.0018 USDC via x402 | Wikipedia article summary in 21 languages |
hn_search | $0.0027 USDC via x402 | Hacker News front page or search |
feed_read | $0.0022 USDC via x402 | Any RSS or Atom feed as JSON items |
package_intel | $0.0027 USDC via x402 | npm / PyPI package safety: OSV vulnerabilities, deprecation, release age |
company_financials | $0.0045 USDC via x402 | A US company’s reported financials (SEC XBRL) |
search_services | free | Search the FiatDock marketplace of MCP services — matches each listed server's own tool names, not just its description. Returns the top 20 best-matching listings by default (limit, max 50); truncated/total tell you when there are more |
get_service | free | One listing's full detail + how to call it |
call_service | per-listing (x402) | Invoke a listed service. Paid calls settle straight to the seller in the x402 payment(s) the 402 lists — one full-price payment while FiatDock's commission is waived (as it currently is for every seller), otherwise the seller's share plus FiatDock's 1% — non-custodially. Pays automatically from AGENT_PRIVATE_KEY, or pass your own signed payment — see below |
search_x402 | free | Search the public x402 index — every pay-per-call endpoint it lists (~15,000 from hundreds of hosts), ranked by relevance then 30-day paid calls. Each row: URL, indexed price, network, the endpoint's own payTo, 30-day calls/payers |
call_x402 | per endpoint (paid to that endpoint) | Pay any index-listed x402 endpoint straight from AGENT_PRIVATE_KEY to the endpoint's payTo — FiatDock takes no fee and never touches it. Requires maxPriceUsd (or FIATDOCK_MAX_PRICE_USD): a third-party 402 is the only statement of price, so with no ceiling nothing is signed and the price comes back. Or pass your own signed payment |
- Remote endpoint (no install):
https://fiatdock.com/mcp— Streamable HTTP, stateless, CORS-enabled. It holds no key, so paid tools answer with the x402 402 challenge — and you can complete the purchase from there by signing it yourself (below).
Buying with your own wallet
AGENT_PRIVATE_KEY is the easy path, but it is one wallet chosen at install time. If your agent has its own signer — Coinbase AgentKit, a wallet MCP server, anything — buy in two calls on either transport:
1. call_service({id, args}) -> 402: { paymentRequired, howToPay }
2. sign every entry in paymentRequired.accepts, base64 the x402 payload
3. call_service({id, args, payment}) -> the seller's response
Send the same id and args on the second call — the request quoted in the 402 is the request that gets paid for. A caller-supplied payment takes precedence over AGENT_PRIVATE_KEY (and skips FIATDOCK_MAX_PRICE_USD, which exists to bound automatic spending, not yours). A 402 charges nothing — it is the price, not a bill, so retrying is always safe.
- Official MCP Registry:
com.fiatdock/fiatdock-mcp - No MCP?
GET https://fiatdock.com/tools.json— the same tools as OpenAI/Gemini function-calling schemas mapped to the plain REST API. - Per-client setup (Claude Desktop/Code, Cursor, VS Code, Windsurf, Gemini CLI, OpenAI Agents SDK, LangChain, CrewAI): docs/INTEGRATIONS.md · runnable examples: docs/examples/
Compliance (binding): users must be 18+, in Portugal or supported EU/EEA countries (not available in the UK or restricted countries). Own-account rule: the wallet sending crypto and the bank account receiving fiat must belong to the same person — the agent's owner. No third-party funds, no aggregation, no person-to-person transfers. Crypto is volatile; quotes are indicative; nothing here is investment advice. Terms · Privacy · Risk warning
Environment
| Variable | Required | Purpose |
|---|---|---|
FIATDOCK_URL | no (default https://fiatdock.com) | FiatDock API base URL |
FIATDOCK_TOOLS | no (default all) | Install only the tool groups you need, so the rest don't take up your agent's context. See below. |
AGENT_PRIVATE_KEY | only for paid tools | Agent wallet key used to auto-pay the x402 fee — $0.001–$0.009 depending on the tool (ramp sessions $0.01), plus whatever a marketplace seller charges for call_service. Without it, the six free tools still work and paid tools return the 402 challenge instead of buying. Use a dedicated low-balance wallet; never your main key. |
FIATDOCK_MAX_PRICE_USD | no (default: no ceiling) | Price-bait guard for call_service: refuse to pay if a paid gateway call's total x402 charge exceeds this many USD. Overridable per call via the maxPriceUsd argument. |
Any x402 endpoint — search_x402 / call_x402
The same wallet buys beyond FiatDock's catalog. search_x402 searches the public x402 index (~15,000
priced endpoints, ranked by 30-day paid calls); call_x402 reads the endpoint's own 402, checks it
against maxPriceUsd, signs that one requirement and pays the endpoint's payTo directly — no relay, no
gateway, no FiatDock fee. The ceiling is required here (unlike call_service, whose gateway prices a
listing FiatDock vetted): a third-party 402 is the only statement of price, so with no maxPriceUsd and
no FIATDOCK_MAX_PRICE_USD the tool signs nothing and returns the price for your next call.
search_x402({q: "web search", maxPriceUsd: 0.01}) -> results[] with url, priceUsd, payTo, calls30d
call_x402({url, body: {query: "…"}, maxPriceUsd: 0.01}) -> { ok, status, paid, settlement, result }
Pick your tools — FIATDOCK_TOOLS
All 47 tools install by default. A tool list is the first thing a model reads, so if you only came for one thing, take only that:
| Group | Tools | For |
|---|---|---|
ramp | 4 | Quotes, USDC↔bank sessions, order status |
data | 24 | Token price/safety/report/holders, gas, balances, wallet portfolio, tx status, address intelligence, perps + funding, prediction markets, DeFi yields, FX, crypto news, SEC filings, domain intel, website contacts, web page reader, email check, prompt-injection check |
marketplace | 5 | Find, inspect and pay for other agents' MCP services — and search/pay any endpoint in the public x402 index |
FIATDOCK_TOOLS=ramp # just the cash-out surface (4 tools)
FIATDOCK_TOOLS=ramp,marketplace # cash out + buy from other agents (9 tools)
# unset, or "all" # everything (47 tools)
An unrecognised value serves all tools rather than none — a typo should never leave you
with an empty server. Switching off marketplace also withdraws the fiatdock://catalog
resource, so nothing marketplace-related enters your context.
Resources
fiatdock://fees · fiatdock://coverage · fiatdock://catalog — the live marketplace
catalog (name, price per call, category, tool count and a sample of tool names), so your agent
knows what is for sale without spending a tool call to ask.
Claude Desktop / Cursor / Windsurf / Gemini CLI
All four read the same mcpServers shape (file: claude_desktop_config.json, ~/.cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json, ~/.gemini/settings.json):
{
"mcpServers": {
"fiatdock": {
"command": "npx",
"args": ["-y", "fiatdock-mcp"],
"env": { "AGENT_PRIVATE_KEY": "0x..." }
}
}
}
Claude Code
claude mcp add fiatdock -e AGENT_PRIVATE_KEY=0x... -- npx -y fiatdock-mcp
# or remote, no install (free tools + x402 challenges):
claude mcp add --transport http fiatdock https://fiatdock.com/mcp
VS Code (Copilot agent mode)
.vscode/mcp.json:
{
"servers": {
"fiatdock": { "type": "stdio", "command": "npx", "args": ["-y", "fiatdock-mcp"], "env": { "AGENT_PRIVATE_KEY": "0x..." } }
}
}
OpenAI Agents SDK / LangChain / CrewAI
All three consume MCP servers natively — point them at npx -y fiatdock-mcp (stdio) or https://fiatdock.com/mcp (Streamable HTTP):
# OpenAI Agents SDK
from agents.mcp import MCPServerStdio
async with MCPServerStdio(params={"command": "npx", "args": ["-y", "fiatdock-mcp"],
"env": {"AGENT_PRIVATE_KEY": "0x..."}}) as fiatdock: ...
# LangChain (langchain-mcp-adapters)
from langchain_mcp_adapters.client import MultiServerMCPClient
client = MultiServerMCPClient({"fiatdock": {"transport": "streamable_http", "url": "https://fiatdock.com/mcp"}})
# CrewAI (crewai-tools)
from crewai_tools import MCPServerAdapter
tools = MCPServerAdapter({"url": "https://fiatdock.com/mcp", "transport": "streamable-http"})
How a typical off-ramp flows
get_quote(free) — agent checks the rate and the full fee breakdown.create_offramp_session— pays $0.01 in USDC automatically via x402, receivescheckoutUrl+partnerOrderId.- The agent forwards
checkoutUrlto its human owner (valid ~2 hours). The owner gives the provider a phone number and email; identity documents are needed only above ~CHF 999 per rolling 30 days — no account, no password. get_order_status(or a signed callback) confirmsCOMPLETED.
Security
Found a vulnerability? Please report it privately to osama@fiatdock.com — see SECURITY.md. Never open a public issue for security reports.
License
Tools it offers (22)
What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
get_quoteget_order_statustoken_pricesearch_servicesget_servicesearch_x402create_offramp_sessioncreate_onramp_sessiontoken_safetystablecoin_intelgas_priceblock_numbereth_balanceusdc_balancetoken_metadatatx_statusaddress_inteltoken_reportweb_reademail_checkcall_servicecall_x402
Signals
- GitHub stars
- 1
- Forks
- 1
- Last commit
- Oct 2026
- Weekly downloads
- 164
- Weekly_downloads
- 164 weekly_downloads
Ahel review (caution)
S2medium
demands high-sensitivity credentials
Automated review, not a security audit. Ruleset v1.
Advanced
- Delivery
- fiatdock-mcp MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
com-fiatdock-fiatdock-mcp- Source
- github.com/fiatdock/fiatdock
- Hosted endpoint
https://fiatdock.com/mcp
More in AI & models
MCP server · upstash
More in AI & modelsAdButler
MCP server · adbutler
More in AI & modelsatom-mcp-server
MCP server · a7om-ai
More in AI & modelsottasia
MCP server · aiweather-anurag
More in AI & modelsunphurl
MCP server · 123ergo
More in AI & modelsmicrosoft-learn-mcp
MCP server · microsoftdocs
More in AI & models