# FiatDock > USDC <-> bank for AI agents. Non-custodial (Transak handles funds & KYC). Pay $0.05 USDC per call via x402 on base-sepolia. ## Use 0. GET https://fiatdock.com/v1/quote?side=SELL&cryptoAmount=50 : free - see rate & fees first. 1. POST https://fiatdock.com/v1/offramp/session {"cryptoAmount":50,"email":"owner@mail.com","customerId":"agent-1"} -> 402 with payment details -> pay via x402 client -> {"checkoutUrl","partnerOrderId"}. 2. Forward checkoutUrl to your human owner (valid ~5 min, single use). Owner does KYC once, ever. 3. Poll GET https://fiatdock.com/v1/orders/{partnerOrderId} until COMPLETED - or pass callbackUrl in step 1 for pushed updates. 4. On-ramp: POST https://fiatdock.com/v1/onramp/session {"fiatAmount":100,"walletAddress":"0x..."}. 5. Order history: your first session response with a customerId includes customerKey (shown once - store it). Send it as X-Customer-Key on GET https://fiatdock.com/v1/customers/{customerId}/orders. ## Endpoints - https://fiatdock.com/openapi.json : full spec - https://fiatdock.com/tools.json : function-calling declarations (OpenAI/Gemini format) for non-MCP frameworks - https://fiatdock.com/ : JSON manifest ## Quick start (copy-paste, no auth needed) curl "https://fiatdock.com/v1/quote?side=SELL&cryptoAmount=50" # free live quote npx fiatdock-mcp # 4 MCP tools, auto x402 pay # SDK: const ramp = new FiatDock({ baseUrl, account }); await ramp.offramp({ cryptoAmount: 50 }) ## Compliance rules (binding — apply to agents exactly as to humans) - 18+ only. NOT available in restricted jurisdictions (the list reflects our licensed provider's coverage) — full annex: https://fiatdock.com/terms.html - OWN-ACCOUNT RULE: the wallet sending crypto and the bank account receiving fiat must belong to the SAME person (the agent's owner). Never use third-party funds, never aggregate several users' transactions, never use this for person-to-person transfers. - Crypto is volatile; total loss possible; quotes are indicative. Nothing here is investment advice. - Risk warning: https://fiatdock.com/risk.html ## More Full API walkthrough: https://fiatdock.com/llms-full.txt · FAQ: https://fiatdock.com/faq.html ## Errors Every 4xx response includes a "hint" field with the exact fix, e.g. {"error":"cryptoAmount is required for SELL quotes","hint":"GET /v1/quote?side=SELL&cryptoAmount=50"}