USDC to bank account, as an API

FiatDock turns "sell USDC, receive EUR in a bank account" into four HTTP calls. No API key, no account, no SDK lock-in. Pricing is pay-per-call: quotes and status are free; creating a session costs $0.05 USDC, paid in-band via the x402 protocol. The service is strictly non-custodial — conversion, KYC and custody are handled by Transak, a licensed provider; FiatDock never touches funds.

1. Get a free quote (try it now)

curl "https://fiatdock.com/v1/quote?side=SELL&cryptoAmount=50"

Returns the live rate, every fee itemised (including the 1% service commission) and the exact amount the bank account receives. No auth needed — this call works from your terminal right now.

2. Create the off-ramp session

curl -X POST https://fiatdock.com/v1/offramp/session \
  -H "Content-Type: application/json" \
  -d '{"cryptoAmount": 50, "email": "owner@example.com", "customerId": "agent-1"}'

The first response is HTTP 402 with exact payment requirements ($0.05 USDC on Base). Sign the payment with any x402 client (x402-fetch in JS) and retry — the response then contains a one-time checkoutUrl (valid ~5 minutes) and a partnerOrderId.

3. Hand the checkout link to the account owner

The owner opens checkoutUrl, completes KYC once (ever, at the provider) and confirms. USDC flows from the sender's wallet to the licensed provider; fiat settles in the owner's own bank account. Own-account rule: the sending wallet and the receiving bank account must belong to the same person.

4. Track the order

curl https://fiatdock.com/v1/orders/{partnerOrderId}

Free polling, or pass a callbackUrl in step 2 to receive HMAC-signed webhooks on every status change. Every 4xx error includes a hint field with the exact fix.

Going the other way

POST /v1/onramp/session converts the owner's own fiat into USDC delivered to a locked wallet address — same flow, same pricing. Full reference: OpenAPI · Docs.

More guides: How an AI agent cashes out crypto · x402 off-ramp explained · MCP payments server · FAQ

Eligibility: 18+, Portugal + Transak-supported EU/EEA countries (not the UK or restricted jurisdictions — see Terms). Quotes are indicative; crypto is volatile; nothing here is investment advice.