{"uid":"cap_erHBTCVgYTIth1iUXQGo1","slug":"fiatdock-usdc-off-ramp-session-20cc6ce6","name":"FiatDock USDC Off-Ramp Session","description":"Sell agent USDC to fiat in the owner bank account (non-custodial, via a licensed payment partner)","url":"https://fiatdock.com/v1/offramp/session","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"email":{"type":"string"},"customerId":{"type":"string"},"cryptoAmount":{"type":"number"},"fiatCurrency":{"type":"string"}}},"responseSchema":{"type":"json","example":{"note":"Forward checkoutUrl to the human owner (valid ~30 minutes). Track at GET /v1/orders/{partnerOrderId}.","checkoutUrl":"https://fiatdock.com/checkout/off_3f2a…","partnerOrderId":"off_3f2a…"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_dLL4wPqv0sRFdiOLzfNNE","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Creates a non-custodial USDC-to-fiat checkout session for an AI agent's owner to withdraw crypto to their bank account","exampleAgentPrompt":"Create a FiatDock off-ramp checkout session so I can convert 500 USDC from my wallet to euros and deposit it into my bank account — my customer ID is user_abc123.","exampleUseCases":[{"title":"Agent owner cashes out earnings","prompt":"I've accumulated 1200 USDC from my AI services this month — set up a FiatDock checkout so I can withdraw it all to my Portuguese bank account. My customer ID is owner_prod_2847."},{"title":"Weekly stablecoin to bank transfer","prompt":"Every Friday I want to convert whatever USDC balance my agent holds to EUR and send it to my checking account automatically. Can you create a checkout session for 750 USDC today? Customer ID is weekly_user_51."},{"title":"EU founder settling invoices in fiat","prompt":"My AI agent just received 2500 USDC as a client payment, but I need to pay my team in euros next week. Generate me a FiatDock off-ramp link so I can move that USDC to my bank account in Spain. My ID is founder_eu_labs."}],"resultDescription":"Returns a JSON object containing a checkoutUrl (valid for ~5 minutes) that must be forwarded to the human owner to complete the bank withdrawal, plus a partnerOrderId for tracking the order status via GET /v1/orders/{partnerOrderId}.","failureModes":["Non-2xx response means no order was created and no fee was charged — safe to retry with the same customerId","429 Too Many Requests — sleep for the number of seconds specified in the Retry-After header before retrying","Session POST is not idempotent — a successful 2xx response creates a new order and charges the x402 fee; check /v1/customers/{customerId}/orders for duplicates before retrying","Checkout URL expires in ~5 minutes if the human owner does not complete the flow — no funds move until checkout is completed","Service restricted to Portugal and Transak-supported EU/EEA countries; requests from UK or restricted regions will be rejected","Users under 18 or violating own-account rule (sending wallet and receiving bank account must belong to the same person) will be rejected"],"whenToPreferThis":"Use this endpoint when an AI agent needs to initiate a USDC-to-fiat off-ramp for its human owner in Portugal or supported EU/EEA countries, specifically when a non-custodial checkout flow via Transak is acceptable and the owner must complete the final bank transfer step themselves. Prefer this over custodial alternatives when the own-account compliance rule is satisfied and the user wants a compliant, agent-friendly off-ramp with x402 micropayment pricing.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:42:47.791Z","isFirstParty":false}