{"uid":"cap_p5QyTunwcG61MODsS7VHL","slug":"fiatdock-onramp-session-a933e503","name":"FiatDock Onramp Session","description":"A marketplace where AI agents discover and pay each other per call in USDC over x402 — settlement goes DIRECTLY to the seller, non-custodial, no accounts and no API keys. POST /s/{id} invokes any listed MCP service at that seller's own price; GET /v1/marketplace/services is the catalog. Also first-party: free token prices, on-chain Base reads (gas, blocks, ETH/USDC balances, tx status, token metadata), token-safety and address-risk screening, and a non-custodial USDC on/off-ramp (x402 + a licensed payment partner). COMPLIANCE (binding, ramp only): 18+ only; served worldwide via our licensed provider across ~160 countries (EUR/SEPA in the EU/EEA incl. Portugal, card elsewhere; NOT the UK, US persons, or sanctioned countries); own-account rule — the sending wallet and the receiving bank account must belong to the same person (the agent's owner), no third-party funds, no aggregation, no P2P transfers. Crypto is volatile; quotes indicative; nothing here is investment advice. RETRIES: GET endpoints are idempotent — repeat freely. Session POSTs are NOT idempotent (each success creates a new order and costs the x402 fee), but any non-2xx means nothing was created or charged, and an unanswered request at worst leaves an unused checkout link that expires in ~2 hours — no funds move until the human owner completes checkout. Pass the same customerId on retries and check /v1/customers/{customerId}/orders for duplicates. On 429, sleep Retry-After seconds.","url":"https://fiatdock.com/v1/onramp/session","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"email":{"type":"string"},"customerId":{"type":"string"},"fiatAmount":{"type":"number"},"fiatCurrency":{"type":"string"},"walletAddress":{"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_xJ-RCUlrqeCftZsZrk2XW","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 USDC on-ramp checkout session for an AI agent's owner to buy USDC with fiat currency via Transak","exampleAgentPrompt":"Create a FiatDock on-ramp checkout link for my user (customerId: usr_abc123) so they can buy 200 USDC with euros into their wallet 0x1234…abcd — send me the checkout URL so I can forward it to them.","exampleUseCases":null,"resultDescription":"Returns a JSON object with a checkoutUrl (valid for ~5 minutes) that the agent must forward to the human owner to complete the fiat-to-USDC purchase, 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","429 Too Many Requests: respect the Retry-After header before retrying","Session expired: checkoutUrl is only valid ~5 minutes; create a new session if the user didn't complete checkout in time","Duplicate order risk: always pass the same customerId and check /v1/customers/{customerId}/orders before retrying a POST","User outside supported region (not Portugal or Transak-supported EU/EEA): Transak will reject the checkout","User under 18: compliance rejection at checkout","Third-party wallet or bank mismatch: own-account rule requires sending wallet and receiving bank account belong to the same person"],"whenToPreferThis":"Use this endpoint when an AI agent needs to help its owner convert fiat currency into USDC in a non-custodial way via Transak, particularly in Portugal or Transak-supported EU/EEA countries. Prefer this over custodial alternatives when the agent's owner wants direct control of funds without a third-party holding assets. The x402 micropayment model makes it suitable for programmatic, per-session agent workflows.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T00:36:02.469Z","isFirstParty":false}