FiatDock
UnexploredCash out an AI agent's USDC to a real bank account (non-custodial). Plus Base data + a marketplace
Install
Terminal
$npx -y fiatdock-mcpmcp_config.json
{
"mcpServers": {
"com-fiatdock-fiatdock-mcp": {
"env": {
"FIATDOCK_URL": "${FIATDOCK_URL}",
"FIATDOCK_TOOLS": "${FIATDOCK_TOOLS}",
"AGENT_PRIVATE_KEY": "${AGENT_PRIVATE_KEY}",
"FIATDOCK_MAX_PRICE_USD": "${FIATDOCK_MAX_PRICE_USD}"
},
"args": [
"-y",
"fiatdock-mcp"
],
"command": "npx"
}
}
}Documentation
fiatdock-mcp
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
Sourced from the repository README.
More in AI & Agents
- PonytailMakes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.109,599
- AgentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity39,079
- Frontend SlidesCreate beautiful slides on the web using a coding agent's frontend skills28,060
- Agent Skills Search ServerSearch and discover Agent Skills from the skills.sh registry. Powered by HAPI MCP server.25,980
- Agency Agents Zh🎭 267 个即插即用的 AI 专家角色 — 支持 Hermes Agent/Claude Code/Cursor/Copilot 等 18 种工具,覆盖工程/设计/营销/金融等 20 个部门。含 52 个中国市场原创智能体(小红书/抖音/微信/飞书/钉钉等)。搭配编排器 agency-orchestrator,一句话即可让多位专家按 DAG 自动协作。19,868
- Watermarks RemoverStrip multi-vendor AI provenance marks: Unicode text hygiene, statistical rewrite hooks, and C2PA/metadata from PNG/JPEG/SVG/PDF/DOCX/HTML/MD17,822