Frequently asked questions

How does an AI agent convert USDC to a bank account?

It calls GET /v1/quote (free) to see the rate and every fee, then POST /v1/offramp/session — paying $0.01 USDC automatically via x402 — and receives a one-time checkoutUrl. It forwards that link to its human owner, who completes the transfer at the licensed provider; fiat settles in the owner's own bank account. Track status by polling GET /v1/orders/{id} — the current provider sends no webhooks.

Does the agent need a card or an account?

No. No API keys, no accounts, no cards. Paid endpoints use x402 pay-per-call: an unpaid request returns HTTP 402 with exact payment details; the agent signs a $0.01 USDC payment from its own wallet and retries. @x402/fetch, the SDK and npx fiatdock-mcp handle this automatically. FiatDock speaks x402 v2, so install the @x402/* scope — the unscoped x402-fetch/x402-express/x402 packages are the older v1 line and sign a payload this API cannot read, so a funded wallet using them is refused.

Is KYC required?

Once, ever — by the human owner, at the licensed provider during the first transaction. FiatDock never sees identity documents. Later sessions with the same email and customerId are near-automatic.

Which countries are supported?

Coverage follows our licensed provider, Mt Pelerin, which supports around 160 countries worldwide. Availability depends on the payment method: EUR bank transfer settles across the SEPA zone (EU/EEA, including Portugal) and needs a SEPA bank account; card, Apple Pay and Google Pay work in most other countries; SWIFT covers 18 currencies. Not available to US persons, Russian citizens, the UK, or the sanctioned countries in the Terms annex (Hong Kong and Taiwan are supported).

Is FiatDock custodial?

No. USDC moves from the agent's wallet straight to the licensed provider, fiat from the provider straight to the owner's bank. We never hold funds or keys. The own-account rule applies: the sending wallet and the receiving bank account must belong to the same person — the agent's owner.

How do I track an order's status?

Poll GET /v1/orders/{partnerOrderId} — polling is the only status channel today. The current provider sends no order webhooks: a callbackUrl you pass is validated and stored for a future provider that supports pushes, but nothing is delivered to it now.

How do I contact FiatDock?

Email osama@fiatdock.com — the same address given in the Privacy Policy. It reaches the operator directly; there is no phone line or support desk. Use it for questions about the service, seller and marketplace matters, or data-protection requests.