Creates a payment quote with a locked exchange rate and fee breakdown for a prospective transfer. Quotes expire after a short window; reference the returned quote ID when executing the transaction. Pass an Idempotency-Key header to safely retry.
A disallowed source→destination instrument pair is rejected with 422 unsupportedInstrumentCombination before any quote is created; the error body carries a details object of { source, destination, supportedDestinations }. (Not modeled as a typed error arm here so the other 422 codes on this operation keep their shape.)
The instrument that receives the funds. Pick a type: a wallet (walletCrypto / walletExternal), a bank account (bankUs / bankIban / bankCanada), a card, or cash.
When true, OMS absorbs the on-chain gas cost for the destination delivery. Only true is currently supported. Ignored for non-crypto destinations (no on-chain leg).
The request has succeeded and a new resource has been created as a result.
A price quote for moving money between two instruments. It locks an exchange rate and the amounts for a short window; execute it by creating a transaction that references this quote's id.
Where last-mile delivery is sent from, as a uniform {type, id} reference — response-only. id is the Virtual Account (va_) or OMS wallet (wlt_) funding the leg; left out before execution (Quote / Deposit Address echo the choice only) or when the origin has no partner-visible resource. Rail identifiers for the last-mile transfer live in the top-level tracking array with leg: destination — not here.
Whose legal identity the payment is sent under. Determined by OMS from the route's configuration — not a request field. Left out when OMS cannot determine it, and on destinations that have no sending legal identity (cash payouts, and crypto payouts outside a Deposit Address). A bank payout that goes out under the payment provider or the partner records that holder just before it is sent to the provider, and reports it only while a payout was or may have been created there; a send interrupted after the holder was recorded and before it went out has an unknown outcome and may report it. A failed send known to have created no payout at the provider, and a payout sent before holders were recorded whose holder could not be recovered afterwards, report the fallback value instead, which may differ from the holder actually used. The fallback value, also reported before a holder is recorded and for payouts that always go out under the customer's own name, is the holder the Deposit Address fixed for the destination type the transaction pays on a transaction created from a Deposit Address, and the value its route implies on any other.
The legal name the payment is sent under, resolved from accountHolder — the customer's own legal name for customer, the owning customer's legal name for partner (for now; a partner-level name may replace it later), or the payment provider's name for paymentProvider, which differs between a bank origin ("Coinme Inc FBO its Customers") and a blockchain origin. This is what the recipient sees as the sender. Like accountHolder and unlike id, it is populated as soon as it is determinable, so it appears on Quote, Deposit Address and Virtual Account responses as well as Transactions. Left out whenever accountHolder is, and when the customer's name cannot be read at that moment.
On the source, the gross amount the customer pays; on the destination, the amount that arrives. A decimal string at the asset's precision. Always set on the source; set on the destination once priced.
On the source, the gross amount the customer pays; on the destination, the amount that arrives. A decimal string at the asset's precision. Always set on the source; set on the destination once priced.
Mid-market rate from the source asset to the destination asset, set together with the destination amount. Identity: (source.amount − Σ source fees) × exchangeRate = destination.amount + Σ destination fees.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Polygon Developer Docs","colors":{"primary":"#670DE5","light":"#9551F5","dark":"#500AB2"},"logo":{"light":"https://mintcdn.com/polygon-labs/ll1LL3IdpC3YxXZu/logo/light.svg?fit=max\u0026auto=format\u0026n=ll1LL3IdpC3YxXZu\u0026q=85\u0026s=d54ddb30492807a0eadf38093c075f2f","dark":"https://mintcdn.com/polygon-labs/ll1LL3IdpC3YxXZu/logo/dark.svg?fit=max\u0026auto=format\u0026n=ll1LL3IdpC3YxXZu\u0026q=85\u0026s=3b2b67f82ff1720328da11b176a86499"},"favicon":"https://mintcdn.com/polygon-labs/Xy_MJE0q00vmTroE/favicon.svg?fit=max\u0026auto=format\u0026n=Xy_MJE0q00vmTroE\u0026q=85\u0026s=3c26f9a9ab4a7a50ac3da5c9ad26c954","api":{"openapi":"api-reference/openapi.yaml","params":{"expanded":"all"},"playground":{"display":"interactive"},"mdx":{"server":["https://sandbox-api.polygon.technology/v0.13","https://api.polygon.technology/v0.13"]}},"appearance":{"default":"light"},"navbar":{"links":[{"href":"/resources/build-with-ai","label":"Build with AI"},{"href":"https://polygon.technology/get-access?utm_source=docs\u0026utm_medium=navbar\u0026utm_campaign=oms_access","label":"Request OMS Access"}]},"footer":{"socials":{"x":"https://x.com/0xPolygon","github":"https://github.com/0xPolygon","linkedin":"https://www.linkedin.com/company/polygonlabs","discord":"https://discord.com/invite/polygon-support-635865020172861441"},"links":[{"items":[{"label":"Support","href":"https://support.polygon.technology/support/home"}]}]},"fonts":{"family":"Fustat"},"integrations":{"ga4":{"measurementId":"G-RJ6JC0EEY5"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"polygon-labs","hasAudioNarration":false,"actualSubdomain":"polygon-labs","customDomains":["docs.polygon.technology"],"gitSource":{"type":"github","owner":"0xpolygon","repo":"new-polygon-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"contextualFeedback":{"allowEmail":true},"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af4bdb4c5d18096e680b150","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Polygon Chain","count":385},{"language":"default","tag":"Wallets","count":174},{"language":"default","tag":"Developer Tools","count":94},{"language":"default","tag":"API Reference","count":86},{"language":"default","tag":"Agglayer","count":73},{"language":"default","tag":"Platform","count":71},{"language":"default","tag":"SDK","count":62},{"language":"default","tag":"Non-custodial","count":60},{"language":"default","tag":"Matic.js","count":59},{"language":"default","tag":"Guides","count":48}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@polygon.technology","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"69cbd3d67f226f107dbd9b72","deploymentId":"69a9bcc427671ec5a2e05f92","questionText":"Can I move assets between different chains with OMS?","status":"active","generatedBy":"manual","createdAt":"2026-03-31T14:01:58.134Z","updatedAt":"2026-03-31T14:01:58.134Z","__v":0},{"_id":"69cbd3b07f226f107dbd9a9b","deploymentId":"69a9bcc427671ec5a2e05f92","questionText":"What are my options for integrating a wallet?","status":"active","generatedBy":"manual","createdAt":"2026-03-31T14:01:20.206Z","updatedAt":"2026-03-31T14:01:20.206Z","__v":0},{"_id":"69cbd3737f226f107dbd9910","deploymentId":"69a9bcc427671ec5a2e05f92","questionText":"How does KYC / KYB work in OMS?","status":"active","generatedBy":"manual","createdAt":"2026-03-31T14:00:19.974Z","updatedAt":"2026-03-31T14:00:19.974Z","__v":0}],"googleFontsInlined":true},"customCss":[{"filePath":"custom.css","content":".nav-tabs{gap:0!important;align-items:center!important}div:has(>.nav-tabs){height:58px!important}.nav-tabs a.nav-tabs-item{padding:7px 12px!important;font-size:14px;font-weight:500;color:#64708F!important;transition:color 120ms ease, background 120ms ease}.nav-tabs a.nav-tabs-item:hover{color:#141635!important}html.dark .nav-tabs a.nav-tabs-item{color:rgba(255, 255, 255, 0.55)!important}html.dark .nav-tabs a.nav-tabs-item:hover{color:#fff!important}.fam-grp{display:inline-flex;align-items:center;gap:4px}.fam-gap{width:1px;height:22px;background:#DFE3F0;margin:0 16px;flex-shrink:0}.fam-grp .nav-tabs-item>div{display:none!important}.fam-grp .nav-tabs-item{padding:7px 12px!important;border-radius:8px;font-size:14px;font-weight:500;color:#64708F!important;white-space:nowrap;text-decoration:none;transition:color 120ms ease, background 120ms ease!important}.fam-grp .nav-tabs-item:hover{color:#141635!important}.fam-grp .nav-tabs-item.fam-active-tab{background:#EAE4F5!important;color:#500AB2!important;font-weight:500!important}.fam-grp .nav-tabs-item.fam-active-tab svg{color:#500AB2!important}html.dark .fam-gap{background:rgba(255, 255, 255, 0.14)}html.dark .fam-grp .nav-tabs-item{color:rgba(255, 255, 255, 0.55)!important}html.dark .fam-grp .nav-tabs-item:hover{color:#fff!important}html.dark .fam-grp .nav-tabs-item.fam-active-tab{background:rgba(103, 13, 229, 0.22)!important;color:#A78BFA!important}html.dark .fam-grp .nav-tabs-item.fam-active-tab svg{color:#A78BFA!important}#navbar a[href*=\"build-with-ai\"]{background:#fff!important;color:#141635!important;border:1px solid #C8CFE1!important;font-weight:600!important;transition:border-color 140ms ease, background 140ms ease!important}#navbar a[href*=\"build-with-ai\"]:hover{border-color:#141635!important;background:#F6F6FC!important}html.dark #navbar a[href*=\"build-with-ai\"]{background:transparent!important;color:#fff!important;border-color:rgba(255, 255, 255, 0.25)!important}html.dark #navbar a[href*=\"build-with-ai\"]:hover{border-color:#fff!important;background:rgba(255, 255, 255, 0.06)!important}#navbar a[href*=\"get-access\"]{background:#0B0814!important;color:#fff!important;border:1px solid #0B0814!important;transition:background 140ms ease!important}#navbar a[href*=\"get-access\"]:hover{background:#2A2640!important}html.dark #navbar a[href*=\"get-access\"]{background:#FFFFFF!important;color:#0B0814!important;border-color:#FFFFFF!important}html.dark #navbar a[href*=\"get-access\"]:hover{background:#E5E7EB!important;border-color:#E5E7EB!important}#sidebar-content a.text-primary,#sidebar-content a[class*=\"text-primary-light\"]{background-color:transparent!important}#sidebar-content a:not(.text-primary):not([class*=\"text-primary-light\"]):hover{background-color:rgba(103, 13, 229, 0.06)!important}#content-area:has(.api-section) #page-title{font-size:1.75rem;line-height:2.25rem}#content-area:has(.api-section) #header .prose{font-size:0.9375rem;line-height:1.6}@container page-header (min-width: 520px){#content-area:has(.api-section) #header:has(.eyebrow) .eyebrow{display:flex;align-items:center;min-height:2.25rem;padding-right:11rem}#content-area:has(.api-section) #header:has(.eyebrow) .eyebrow~div:has(#page-context-menu){position:static}#content-area:has(.api-section) #header:has(.eyebrow) .eyebrow~div #page-context-menu{position:absolute;top:0;right:0;margin:0}}.api-section[data-api-section=\"authorizations\"]:has(+.api-section[data-api-section=\"headers\"]) .api-section-heading-title{font-size:0}.api-section[data-api-section=\"authorizations\"]:has(+.api-section[data-api-section=\"headers\"]) .api-section-heading-title::after{content:\"Authorization and headers\";font-size:1.125rem}.api-section[data-api-section=\"authorizations\"]+.api-section[data-api-section=\"headers\"] .api-section-heading{display:none}.api-section[data-api-section=\"authorizations\"]:has(+.api-section[data-api-section=\"headers\"]) .primitive-param-field:last-child{border-bottom-width:1px}.api-section .api-section-heading .border-b,.api-section .primitive-param-field{border-color:#D1D5DB}html.dark .api-section .api-section-heading .border-b,html.dark .api-section .primitive-param-field{border-color:#374151}.api-section .primitive-param-field>.py-6{padding-top:0.875rem;padding-bottom:0.875rem}.api-section .primitive-param-field .mt-4{margin-top:0.5rem}@media (min-width: 1600px){#body-content:has(.api-section){max-width:1760px}#body-content:has(.api-section) #content-container{max-width:1440px}}"},{"filePath":"oms-visuals.css","content":"@font-face{font-family:\"Fustat\";src:url(\"/fonts/Fustat-VariableFont_wght.woff2\") format(\"woff2\");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:\"Geist Mono\";src:url(\"/fonts/GeistMono-VariableFont_wght.woff2\") format(\"woff2\");font-weight:100 900;font-style:normal;font-display:swap}.oms-v{--oms-purple-50: #f6f3fb;--oms-purple-100: #eae4f5;--oms-purple-200: #d5c4f2;--oms-purple-300: #b78eef;--oms-purple-400: #9551f5;--oms-purple-500: #670de5;--oms-purple-600: #500ab2;--oms-purple-700: #400a8e;--oms-slate-50: #f6f6fc;--oms-slate-100: #eef0f9;--oms-slate-200: #dfe3f0;--oms-slate-300: #c8cfe1;--oms-slate-400: #929eba;--oms-slate-500: #64708f;--oms-slate-600: #48526f;--oms-slate-700: #363e5c;--oms-slate-800: #222744;--oms-slate-900: #141635;--oms-slate-950: #090624;--oms-btn-primary: #090624;--oms-btn-primary-hover: #222744;--oms-btn-primary-text: #ffffff;--ss-font: \"Fustat\", \"Inter\", system-ui, sans-serif;--ss-mono: \"Geist Mono\", \"JetBrains Mono\", ui-monospace, monospace;--ss-accent: #670de5;--ss-accent-2: #9551f5;--ss-accent-soft: #eae4f5;--ss-accent-text: #500ab2;--ss-canvas: #f6f6fc;--ss-well: #f6f6fc;--ss-surface: #ffffff;--ss-raised: #ffffff;--ss-chrome: #ffffff;--ss-fill: #eef0f9;--ss-line: #c8cfe1;--ss-line-faint: #dfe3f0;--ss-text-strong: #141635;--ss-text: #48526f;--ss-text-faint: #64708f;--ss-icon: #48526f;--ss-icon-faint: #929eba;--ss-ink-1: rgba(20, 22, 53, 0.04);--ss-ink-2: rgba(20, 22, 53, 0.06);--ss-ink-3: rgba(20, 22, 53, 0.08);--ss-ink-4: rgba(20, 22, 53, 0.10);--ss-ink-5: rgba(20, 22, 53, 0.15);--ss-success: #10b981;--ss-success-soft: #ecfdf5;--ss-success-text: #047857;--ss-warning: #b45309;--ss-warning-soft: #fff7ed;--ss-warning-text: #b45309;--ss-danger: #dc2626;--ss-danger-soft: #fef2f2;--ss-danger-text: #b91c1c;--ss-radius-sm: 6px;--ss-radius-md: 8px;--ss-radius-lg: 12px;--ss-radius-window: 12px;--ss-radius-pill: 999px;--ss-shadow-window: 0 0 0 1px rgba(0, 0, 0, 0.06), 0 4px 16px rgba(0, 0, 0, 0.08);--ss-shadow-float: 0px 4px 6px -4px rgba(0, 0, 0, 0.1), 0px 10px 15px -3px rgba(0, 0, 0, 0.1);--ss-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.04);--ss-shadow-hero: 0 0 0 1px rgba(0, 0, 0, 0.06), 0 30px 60px -12px rgba(50, 50, 93, 0.25), 0 18px 36px -18px rgba(0, 0, 0, 0.3);--ss-shadow-lift: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 12px 28px -6px rgba(50, 50, 93, 0.28), 0 6px 12px -6px rgba(0, 0, 0, 0.16);--ss-shadow-satellite: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 14px 32px -8px rgba(50, 50, 93, 0.24), 0 4px 10px -4px rgba(0, 0, 0, 0.1);--ss-shadow-ground: 0 0 0 1px rgba(50, 50, 93, 0.06), 0 24px 48px -24px rgba(50, 50, 93, 0.18);--ss-ease: cubic-bezier(0.16, 1, 0.3, 1);font-family:var(--ss-font);color:var(--ss-text);-webkit-font-smoothing:antialiased}html.dark .oms-v{--oms-btn-primary: #ffffff;--oms-btn-primary-hover: #e5e7eb;--oms-btn-primary-text: #090624;--ss-accent: #9551f5;--ss-accent-2: #b78eef;--ss-accent-soft: rgba(149, 81, 245, 0.16);--ss-accent-text: #b78eef;--ss-canvas: #0b0a10;--ss-well: #131218;--ss-surface: #1a1922;--ss-raised: #23212d;--ss-chrome: #16151d;--ss-fill: #2a2834;--ss-line: rgba(255, 255, 255, 0.10);--ss-line-faint: rgba(255, 255, 255, 0.06);--ss-text-strong: #eef0f9;--ss-text: #c8cfe1;--ss-text-faint: #929eba;--ss-icon: #c8cfe1;--ss-icon-faint: #64708f;--ss-ink-1: rgba(255, 255, 255, 0.05);--ss-ink-2: rgba(255, 255, 255, 0.07);--ss-ink-3: rgba(255, 255, 255, 0.10);--ss-ink-4: rgba(255, 255, 255, 0.13);--ss-ink-5: rgba(255, 255, 255, 0.20);--ss-success: #34d399;--ss-success-soft: rgba(16, 185, 129, 0.16);--ss-success-text: #34d399;--ss-shadow-window: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 4px 16px rgba(0, 0, 0, 0.4);--ss-shadow-float: 0 0 0 1px rgba(255, 255, 255, 0.1), 0 4px 16px rgba(0, 0, 0, 0.4), 0 12px 32px rgba(0, 0, 0, 0.3);--ss-shadow-card: 0 0 0 1px rgba(255, 255, 255, 0.05);--ss-shadow-hero: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 30px 60px -12px rgba(0, 0, 0, 0.6);--ss-shadow-lift: 0 0 0 1px rgba(255, 255, 255, 0.1), 0 12px 28px -6px rgba(0, 0, 0, 0.6);--ss-shadow-satellite: 0 0 0 1px rgba(255, 255, 255, 0.1), 0 14px 32px -8px rgba(0, 0, 0, 0.7), 0 4px 10px -4px rgba(0, 0, 0, 0.5);--ss-shadow-ground: 0 0 0 1px rgba(255, 255, 255, 0.1), 0 24px 48px -24px rgba(0, 0, 0, 0.6)}.oms-v-fit{position:relative;width:100%}.oms-v-stage{position:absolute;top:0;left:0;transform-origin:0 0;overflow:hidden}.oms-v *,.oms-v *::before,.oms-v *::after{box-sizing:border-box}.oms-v :where(h1,h2,h3,h4,p,ul,ol){margin:0}.oms-v .oms-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;border-radius:16px;border:0.5px solid transparent;font-family:var(--ss-font);font-weight:500;font-size:12px;line-height:1;white-space:nowrap;text-box:trim-both cap alphabetic}.oms-v .oms-badge--info{background:#f6f3fb;border-color:#d5c4f2;color:#500ab2}.oms-v .oms-badge--neutral{background:#f6f6fc;border-color:#c8cfe1;color:#141635}.oms-v .oms-badge--success{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.oms-v .oms-badge--warning{background:#fff7ed;border-color:#fed7aa;color:#b45309}.oms-v .oms-badge--danger{background:#fef2f2;border-color:#fecaca;color:#b91c1c}html.dark .oms-v .oms-badge--info{background:rgba(149, 81, 245, 0.14);border-color:rgba(183, 142, 239, 0.35);color:#c9b0f5}html.dark .oms-v .oms-badge--neutral{background:rgba(255, 255, 255, 0.05);border-color:rgba(255, 255, 255, 0.14);color:#c8cfe1}html.dark .oms-v .oms-badge--success{background:rgba(16, 185, 129, 0.14);border-color:rgba(52, 211, 153, 0.35);color:#6ee7b7}html.dark .oms-v .oms-badge--warning{background:rgba(251, 191, 36, 0.12);border-color:rgba(251, 191, 36, 0.3);color:#fcd34d}html.dark .oms-v .oms-badge--danger{background:rgba(248, 113, 113, 0.12);border-color:rgba(248, 113, 113, 0.3);color:#fca5a5}.oms-v .oms-phone{position:relative;flex-shrink:0;--oms-phone-glass: #0b0b0c;--oms-phone-rim: #2c2c2d;--oms-phone-band-1: #e3e3e6;--oms-phone-band-2: #9a9ba0;--oms-phone-band-3: #cfd0d4;--oms-phone-band-4: #85868b;--oms-phone-band-5: #c9cacd;box-shadow:0 calc(var(--ps) * 40) calc(var(--ps) * 80) calc(var(--ps) * -16) rgba(50, 50, 93, 0.25),\n 0 calc(var(--ps) * 24) calc(var(--ps) * 48) calc(var(--ps) * -24) rgba(0, 0, 0, 0.3)}html.dark .oms-v .oms-phone{--oms-phone-band-1: #5b5c61;--oms-phone-band-2: #2b2c2f;--oms-phone-band-3: #48494d;--oms-phone-band-4: #232427;--oms-phone-band-5: #404145}.oms-v .oms-phone__bands{position:absolute;inset:0;overflow:visible;pointer-events:none}.oms-v .oms-phone__glass{position:relative;height:100%}.oms-v .oms-phone__window{position:relative;overflow:hidden;isolation:isolate}.oms-v .oms-phone__screen{position:absolute;top:0;left:0;width:402px;height:874px;display:flex;flex-direction:column;overflow:hidden;background:#fff;color:#000;font-family:-apple-system, system-ui, sans-serif;font-size:15px;letter-spacing:-0.015em;transform-origin:0 0;-webkit-font-smoothing:antialiased}.oms-v .oms-phone[data-dark] .oms-phone__screen{background:#000;color:#fff}.oms-v .oms-phone__status{position:absolute;top:0;right:0;left:0;z-index:2;height:62px;transition:color 0.3s ease;will-change:transform}.oms-v .oms-phone__time{position:absolute;top:21.5px;left:0;width:138.5px;line-height:22px;text-align:center;font-family:\"SF Pro Text\", -apple-system, system-ui, sans-serif;font-variation-settings:\"opsz\" 17;font-size:17.67px;font-weight:590;letter-spacing:0}.oms-v .oms-phone__glyphs{position:absolute;top:25.33px;left:285.25px;display:flex;align-items:flex-start;gap:8px}.oms-v .oms-phone__glyphs svg{display:block}.oms-v .oms-phone__signal{margin-top:1px}.oms-v .oms-phone__battery{margin-top:0.33px}.oms-v .oms-phone__island{position:absolute;top:14px;left:50%;z-index:3;width:95px;height:37px;border-radius:18.5px;background:#000;transform:translateX(-50%)}.oms-v .oms-phone__content{position:relative;flex:1;min-height:0;padding-top:62px}.oms-v .oms-phone__home{position:absolute;bottom:8px;left:50%;z-index:2;width:144px;height:5px;border-radius:2.5px;background:currentColor;transform:translateX(-50%);transition:color 0.3s ease;will-change:transform}.obz{overflow:hidden;border-radius:14px;background:linear-gradient(110deg, rgba(255, 255, 255, 0.18) 0%, transparent 22%, transparent 32%, rgba(255, 255, 255, 0.1) 44%, transparent 60%),\n linear-gradient(135deg, var(--obz-from) 0%, var(--obz-to) 100%);--obz-ink: var(--ss-text-strong);--obz-faint: var(--oms-slate-500);--obz-app: var(--oms-slate-50);--obz-card: #fff;--obz-rule: var(--oms-slate-200)}.obz--payouts{--obz-from: #7c3aed;--obz-to: #3b0764}.obz--rewards{--obz-from: #10b981;--obz-to: #064e3b}html.dark .obz{--obz-faint: var(--oms-slate-400);--obz-app: #0b0a10;--obz-card: #1a1922;--obz-rule: rgba(255, 255, 255, 0.08)}.obz .obz-phone{position:absolute;top:30px;left:30px}.obz .obz-app{position:absolute;inset:0;padding-top:62px;background:var(--obz-app);color:var(--obz-ink);text-align:left;font-family:var(--ss-font)}.obz .obz-btn .obz-states,.obz .obz-status,.obz .obz-big--count{transition:opacity 0.38s ease}.obz .obz-app[data-fade] :is(.obz-btn .obz-states,.obz-status,.obz-big--count){opacity:0}.obz .obz-title{transition:opacity 0.2s ease}.obz .obz-app[data-notif] .obz-title{opacity:0}.obz .obz-head{display:flex;align-items:baseline;justify-content:space-between;padding:8px 36px 14px}.obz--payouts .obz-head{padding-bottom:10px}.obz--rewards .obz-head{padding-bottom:34px}.obz .obz-title{font-size:32px;font-weight:700;line-height:38px;letter-spacing:-0.02em;color:var(--obz-ink)}.obz .obz-head__meta{font-size:19px;line-height:25px;color:var(--obz-faint)}.obz .obz-card{display:block;margin:0 16px 12px;border-radius:22px;background:var(--obz-card);box-shadow:0 0 0 0.5px var(--obz-rule)}.obz .obz-batch,.obz .obz-balance{display:grid;justify-items:start;padding:18px 20px 20px}.obz--payouts .obz-batch{padding-bottom:16px}.obz .obz-label{font-size:19px;line-height:25px;color:var(--obz-faint)}.obz .obz-big{margin-top:2px;font-size:50px;font-weight:700;line-height:58px;letter-spacing:-0.03em;color:var(--obz-ink)}.obz .obz-big--count{margin:4px 0 2px;font-size:60px;line-height:68px}.obz .obz-count{display:inline-flex;align-items:baseline;white-space:nowrap;font-variant-numeric:tabular-nums}.obz .obz-count__char{display:inline-block;font-variant-numeric:normal}.obz .obz-count__digit{display:inline-block;height:1em;overflow:hidden;line-height:1;vertical-align:baseline;mask-image:linear-gradient(to bottom, transparent, #000 8%, #000 92%, transparent)}.obz .obz-count__strip{display:flex;flex-direction:column;will-change:transform;transition:transform 900ms cubic-bezier(0.3, 0.75, 0.1, 1)}.obz .obz-count__strip>span{display:block;height:1em;line-height:1}.obz .obz-count__unit{display:inline-block;margin-left:8px;font-size:22px;font-weight:600;letter-spacing:0;color:var(--obz-faint)}.obz .obz-btn{position:relative;isolation:isolate;display:grid;place-items:center;justify-self:stretch;height:58px;margin-top:14px;border-radius:16px;color:var(--oms-btn-primary-text);font-size:20px;font-weight:600}.obz .obz-btn::before{content:\"\";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--oms-btn-primary);transition:transform 0.15s ease, background-color 0.2s ease}.obz .obz-btn[data-pressed]::before{transform:scale(0.97);background:var(--oms-btn-primary-hover)}.obz .obz-btn__group{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:180px;height:26px}.obz .obz-btn__group--icon{justify-content:flex-start;padding-left:44px}.obz .obz-btn__group svg{flex:none}.obz .obz-spin{animation:obz-spin 0.8s linear infinite}@keyframes obz-spin{to{transform:rotate(360deg)}}.obz .obz-touch{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:rgba(255, 255, 255, 0.35);box-shadow:0 0 0 1.5px rgba(255, 255, 255, 0.55);opacity:0;transform:scale(0.6);transition:opacity 0.3s ease, transform 0.3s ease;pointer-events:none}.obz .obz-touch[data-on]{opacity:1;transform:scale(1);transition:opacity 0.08s ease, transform 0.12s ease}.obz .obz-states{display:inline-grid;align-items:center;justify-items:center}.obz .obz-states__item{display:inline-flex;grid-area:1 / 1;align-items:center;opacity:0;filter:blur(2px);will-change:transform;transform:translate3d(0, 4px, 0);transition:opacity 0.15s ease, filter 0.15s ease, transform 0s 0.15s}.obz .obz-states__item[data-on]{opacity:1;filter:none;transform:translate3d(0, 0, 0);transition:opacity 0.25s ease-out 0.07s, filter 0.25s ease-out 0.07s, transform 0.3s cubic-bezier(0.22, 1, 0.36, 1) 0.07s}.obz .obz-status{display:inline-grid;justify-items:end;margin-right:10px;flex:none}.obz--payouts .obz-status{margin-right:6px}.obz--rewards .obz-status{width:96px}.obz .obz-list{padding:4px 0}.obz .obz-row{display:flex;align-items:center;gap:14px;padding:14px;will-change:transform}.obz .obz-list>.obz-row+.obz-row,.obz .obz-list>.obz-collapse+.obz-row{box-shadow:0 -0.5px 0 var(--obz-rule)}.obz .obz-row__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.obz .obz-row__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:21px;font-weight:600;line-height:28px;color:var(--obz-ink)}.obz .obz-row__sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:19px;line-height:28px;color:var(--ss-text)}.obz--payouts .obz-row__sub{font-size:18px}.obz .obz-bar{display:block;border-radius:5px;background:var(--ss-ink-3)}.obz .obz-bar--title{height:11px;margin:8.5px 0;background:var(--ss-ink-4)}.obz .obz-bar--sub{height:9px;margin:9.5px 0}.obz .obz-avatar{display:inline-grid;flex:none;place-items:center;width:48px;height:48px;border-radius:50%;color:#fff;font-size:20px;font-weight:600;line-height:1;will-change:transform}.obz .obz-avatar>span{display:block;text-box:trim-both cap alphabetic}.obz .obz-avatar--plain{background:var(--ss-fill)}.obz .obz-tile{display:grid;flex:none;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ss-success-soft);color:var(--ss-success-text)}.obz .obz-tile--plain{background:var(--ss-ink-1)}html.dark .obz .obz-tile{background:rgba(16, 185, 129, 0.14);color:#34d399}html.dark .obz .obz-tile--plain{background:rgba(255, 255, 255, 0.06)}.obz .oms-badge.obz-badge{padding:5px 12px;border-radius:16px;font-size:19px;line-height:22px}.obz .obz-collapse{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 0.42s cubic-bezier(0.4, 0, 0.2, 1) 0.05s, opacity 0.42s cubic-bezier(0, 0.8, 0.5, 1)}.obz .obz-collapse[data-open]{grid-template-rows:1fr;opacity:1;transition:grid-template-rows 0.5s cubic-bezier(0.45, 0, 0.2, 1), opacity 0.3s ease 0.24s}.obz .obz-collapse__inner{min-height:0;overflow:visible}.obz .obz-collapse__inner>*{transform:translateY(-10px);transition:transform 0.3s ease}.obz .obz-collapse[data-open]>.obz-collapse__inner>*{transform:none;transition:transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.2s}.obz .obz-banner{position:absolute;inset:0;z-index:2;pointer-events:none;will-change:transform;transform:translateY(-52px) scale(0.96);opacity:0;transition:transform 0.45s cubic-bezier(0.4, 0, 0.6, 1), opacity 0.3s ease 0.1s}.obz .obz-banner[data-show]{transform:none;opacity:1;transition:transform 0.55s cubic-bezier(0.2, 0.9, 0.25, 1), opacity 0.2s ease}.obz .obz-notif{position:absolute;top:56px;left:18px;right:18px;display:flex;align-items:center;gap:13px;padding:14px 17px 14px 14px;border-radius:23px;background:rgba(255, 255, 255, 0.92);box-shadow:0 0 0 0.5px rgba(0, 0, 0, 0.08), 0 8px 24px rgba(0, 0, 0, 0.12);color:#000;text-align:left;will-change:transform}.obz .obz-banner[data-dark] .obz-notif{background:rgba(252, 252, 253, 0.76);backdrop-filter:blur(30px) saturate(1.25);box-shadow:0 4px 24px rgba(0, 0, 0, 0.06)}.obz .obz-notif__icon{display:grid;flex:none;place-items:center;width:38px;height:38px;border-radius:9px;overflow:hidden;background:linear-gradient(160deg, #10b981, #047857);color:#fff}.obz .obz-notif__text{display:flex;flex:1;flex-direction:column;min-width:0;font-size:15px;line-height:18px;letter-spacing:-0.016em}.obz .obz-notif__head{display:flex;align-items:baseline;gap:8px}.obz .obz-notif__title{flex:1;min-width:0;overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.obz .obz-notif__time{flex:none;font-size:12px;letter-spacing:-0.005em;color:rgba(60, 60, 67, 0.6)}.obz .obz-notif__body{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (prefers-reduced-motion: reduce){.obz .obz-spin{animation:none}}"}],"page":{"pagePath":"api-reference/quote/create-a-payment-quote","slug":"/api-reference/quote/create-a-payment-quote","pageMetadata":{"title":"Create a payment quote","description":"Creates a payment quote with a locked exchange rate and fee breakdown for a prospective transfer. Quotes expire after a short window; reference the returned quote ID when executing the transaction. Pass an Idempotency-Key header to safely retry.\n\nA disallowed source→destination instrument pair is rejected with `422 unsupportedInstrumentCombination` before any quote is created; the error body carries a `details` object of `{ source, destination, supportedDestinations }`. (Not modeled as a typed error arm here so the other 422 codes on this operation keep their shape.)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /quotes","href":"/api-reference/quote/create-a-payment-quote","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Creates a payment quote with a locked exchange rate and fee breakdown for a prospective transfer. Quotes expire after a short window; reference the returned quote ID when executing the transaction. Pass an Idempotency-Key header to safely retry.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"A disallowed source→destination instrument pair is rejected with \", _jsx(_components.code, {\n children: \"422 unsupportedInstrumentCombination\"\n }), \" before any quote is created; the error body carries a \", _jsx(_components.code, {\n children: \"details\"\n }), \" object of \", _jsx(_components.code, {\n children: \"{ source, destination, supportedDestinations }\"\n }), \". (Not modeled as a typed error arm here so the other 422 codes on this operation keep their shape.)\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a payment quote","description":"Creates a payment quote with a locked exchange rate and fee breakdown for a prospective transfer. Quotes expire after a short window; reference the returned quote ID when executing the transaction. Pass an Idempotency-Key header to safely retry.\n\nA disallowed source→destination instrument pair is rejected with `422 unsupportedInstrumentCombination` before any quote is created; the error body carries a `details` object of `{ source, destination, supportedDestinations }`. (Not modeled as a typed error arm here so the other 422 codes on this operation keep their shape.)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /quotes","href":"/api-reference/quote/create-a-payment-quote","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/polygon-labs/3aef159c73509324/analytics.js","/_mintlify/custom/polygon-labs/3af50e0aa9bbe82e/custom.js"],"openApiReferenceData":{"operation":{"operationId":"createQuote","summary":"Create a payment quote","description":"Creates a payment quote with a locked exchange rate and fee breakdown for a prospective transfer. Quotes expire after a short window; reference the returned quote ID when executing the transaction. Pass an Idempotency-Key header to safely retry.\n\nA disallowed source→destination instrument pair is rejected with `422 unsupportedInstrumentCombination` before any quote is created; the error body carries a `details` object of `{ source, destination, supportedDestinations }`. (Not modeled as a typed error arm here so the other 422 codes on this operation keep their shape.)","parameters":["cb382401-41b3-412c-a305-55917793a48d"],"responses":{"201":"002def6e-94c4-4162-a7d5-7fb87bcd9c3c","400":"a1a20f69-405c-4022-b002-f6c89c5c779f","403":"efb6a95e-f809-4ac2-80bf-ff4905592455","404":"3c36399a-febb-44ce-822e-656d307de642","422":"5b6780d5-49db-41e8-b26c-23b77430d043","500":"fb7a5e69-5b80-4ad2-a4f7-22fd570b8802","503":"d4fa2cc9-3d56-4609-8b17-e26721bb22ad"},"tags":["Quote"],"requestBody":"edd6d17c-a60a-4837-ba0a-7edf8f3ff32f","method":"post","type":"path","servers":["5171b292-2587-4003-b902-7c9c8b5e8c45","648ebbb9-4224-4903-ae0e-6397711f6143"],"security":["7cb3f03a-dd48-413f-836d-b3b987f3ca59"],"path":"/quotes","baseUrlOptions":["https://sandbox-api.polygon.technology/v0.13","https://api.polygon.technology/v0.13"],"title":"Create a payment quote","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"cb382401-41b3-412c-a305-55917793a48d":{"name":"Idempotency-Key","in":"header","required":true,"description":"Required on POST and PUT requests. Use a unique value per logical mutation attempt, for example a UUID.","schema":{"type":"string","isRequired":true,"description":"Required on POST and PUT requests. Use a unique value per logical mutation attempt, for example a UUID.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["customerId","source","destination"],"properties":{"customerId":{"type":"string","description":"The customer this quote is for (`cst_` prefix).","isRequired":true,"uniqueKey":"customerId","typeLabel":"string"},"source":{"oneOf":[{"type":"object","title":"OMS wallet","description":"What funds the transaction. Pick a `type`: an OMS crypto wallet (`walletCrypto`) or a registered card (`card`, pull-from-card).","required":["type","details"],"properties":{"type":{"type":"string","enum":["walletCrypto"],"description":"Type discriminator.","isRequired":true,"uniqueKey":"source.oneOf.0.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["id","asset","network"],"properties":{"id":{"type":"string","description":"OMS wallet ID (wlt_ prefix).","isRequired":true,"uniqueKey":"source.oneOf.0.details.id","typeLabel":"string"},"asset":{"type":"string","description":"Crypto asset. One of: usdc, usdt.","isRequired":true,"uniqueKey":"source.oneOf.0.details.asset","typeLabel":"string"},"network":{"type":"string","description":"Network identifier.","enum":["ethereum","polygon","base","solana","tron","bnb"],"isRequired":true,"uniqueKey":"source.oneOf.0.details.network","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"source.oneOf.0.details","typeLabel":"object"},"amount":{"type":"string","description":"Wire-safe decimal string for financial float values (USD amounts, percentages).","x-go-type-import":{"path":"github.com/shopspring/decimal"},"x-go-type":"decimal.Decimal","uniqueKey":"source.oneOf.0.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"source.oneOf.0","typeLabel":"OMS wallet · object"},{"type":"object","title":"Fiat wallet","description":"What funds the transaction. Pick a `type`: an OMS crypto wallet (`walletCrypto`) or a registered card (`card`, pull-from-card).","required":["type","details"],"properties":{"type":{"type":"string","enum":["walletFiat"],"description":"Type discriminator.","isRequired":true,"uniqueKey":"source.oneOf.1.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["id","asset"],"properties":{"id":{"type":"string","description":"OMS fiat wallet ID (`wlt_` prefix; a `wlt_fiat_` id is also accepted on input).","isRequired":true,"uniqueKey":"source.oneOf.1.details.id","typeLabel":"string"},"asset":{"type":"string","enum":["usd"],"description":"Fiat currency. Only `usd` today.","isRequired":true,"uniqueKey":"source.oneOf.1.details.asset","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"source.oneOf.1.details","typeLabel":"object"},"amount":{"type":"string","description":"Wire-safe decimal string for financial float values (USD amounts, percentages).","x-go-type-import":{"path":"github.com/shopspring/decimal"},"x-go-type":"decimal.Decimal","uniqueKey":"source.oneOf.1.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"source.oneOf.1","typeLabel":"Fiat wallet · object"},{"type":"object","title":"Card","description":"What funds the transaction. Pick a `type`: an OMS crypto wallet (`walletCrypto`) or a registered card (`card`, pull-from-card).","required":["type","details"],"properties":{"type":{"type":"string","enum":["card"],"description":"Type discriminator.","isRequired":true,"uniqueKey":"source.oneOf.2.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["id","asset"],"properties":{"id":{"type":"string","description":"Card ExternalAccount ID (`ext_` prefix).","isRequired":true,"uniqueKey":"source.oneOf.2.details.id","typeLabel":"string"},"asset":{"type":"string","enum":["usd"],"description":"Canonical asset identifier.","isRequired":true,"uniqueKey":"source.oneOf.2.details.asset","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"source.oneOf.2.details","typeLabel":"object"},"amount":{"type":"string","description":"Wire-safe decimal string for financial float values (USD amounts, percentages).","x-go-type-import":{"path":"github.com/shopspring/decimal"},"x-go-type":"decimal.Decimal","uniqueKey":"source.oneOf.2.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"source.oneOf.2","typeLabel":"Card · object"}],"isRequired":true,"uniqueKey":"source","typeLabel":"OMS wallet · object | Fiat wallet · object | Card · object"},"destination":{"oneOf":[{"type":"object","title":"OMS wallet","description":"The instrument that receives the funds. Pick a `type`: a wallet (`walletCrypto` / `walletExternal`), a bank account (`bankUs` / `bankIban` / `bankCanada`), a `card`, or `cash`.","required":["type","details"],"properties":{"type":{"type":"string","enum":["walletCrypto"],"description":"Type discriminator.","isRequired":true,"uniqueKey":"destination.oneOf.0.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["id","asset","network"],"properties":{"id":{"type":"string","description":"OMS wallet ID (wlt_ prefix).","isRequired":true,"uniqueKey":"destination.oneOf.0.details.id","typeLabel":"string"},"asset":{"type":"string","description":"Crypto asset. One of: usdc, usdt.","isRequired":true,"uniqueKey":"destination.oneOf.0.details.asset","typeLabel":"string"},"network":{"type":"string","description":"Network identifier.","enum":["ethereum","polygon","base","solana","tron","bnb"],"isRequired":true,"uniqueKey":"destination.oneOf.0.details.network","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"destination.oneOf.0.details","typeLabel":"object"},"amount":{"type":"string","description":"Wire-safe decimal string for financial float values (USD amounts, percentages).","x-go-type-import":{"path":"github.com/shopspring/decimal"},"x-go-type":"decimal.Decimal","uniqueKey":"destination.oneOf.0.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.0","typeLabel":"OMS wallet · object"},{"type":"object","title":"External wallet","description":"The instrument that receives the funds. Pick a `type`: a wallet (`walletCrypto` / `walletExternal`), a bank account (`bankUs` / `bankIban` / `bankCanada`), a `card`, or `cash`.","required":["type","details"],"properties":{"type":{"type":"string","enum":["walletExternal"],"description":"Type discriminator.","isRequired":true,"uniqueKey":"destination.oneOf.1.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["asset","network"],"properties":{"asset":{"type":"string","description":"Crypto asset. One of: usdc, usdt.","isRequired":true,"uniqueKey":"destination.oneOf.1.details.asset","typeLabel":"string"},"network":{"type":"string","description":"Network identifier.","enum":["ethereum","polygon","base","solana","tron","bnb"],"isRequired":true,"uniqueKey":"destination.oneOf.1.details.network","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"ExternalAccount ID (`ext_` prefix). One of id/blockchainAddress.","uniqueKey":"destination.oneOf.1.details.id","typeLabel":"string"},"blockchainAddress":{"type":"string","description":"Raw on-chain address (when not registered). One of id/blockchainAddress. For an EVM network the address must be all-lowercase, all-uppercase, or a valid EIP-55 checksummed form; an inconsistent mixed-case address is rejected as a likely casing typo, and the zero address is rejected. Solana/SUI are validated per their own network rules.","uniqueKey":"destination.oneOf.1.details.blockchainAddress","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.1.details","typeLabel":"object"},"amount":{"type":"string","description":"Wire-safe decimal string for financial float values (USD amounts, percentages).","x-go-type-import":{"path":"github.com/shopspring/decimal"},"x-go-type":"decimal.Decimal","uniqueKey":"destination.oneOf.1.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.1","typeLabel":"External wallet · object"},{"type":"object","title":"US bank account","description":"The instrument that receives the funds. Pick a `type`: a wallet (`walletCrypto` / `walletExternal`), a bank account (`bankUs` / `bankIban` / `bankCanada`), a `card`, or `cash`.","required":["type","details"],"properties":{"type":{"type":"string","enum":["bankUs"],"description":"Type discriminator.","isRequired":true,"uniqueKey":"destination.oneOf.2.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["id","asset","network"],"properties":{"id":{"type":"string","description":"US bank ExternalAccount ID (`ext_` prefix).","isRequired":true,"uniqueKey":"destination.oneOf.2.details.id","typeLabel":"string"},"asset":{"type":"string","enum":["usd"],"description":"Canonical asset identifier.","isRequired":true,"uniqueKey":"destination.oneOf.2.details.asset","typeLabel":"enum\u003cstring>"},"network":{"type":"string","enum":["ach","achSameDay","wire","rtp","instant","intraBank"],"description":"Rail the payout moves on. `instant` settles within seconds, around the clock, and requires both that the rail is enabled for your project and that the beneficiary's bank can receive on it — either gate failing is a 422 `BankRailNotSupported`. `memo` is honored on `instant` (ISO 20022, max 140); `companyDiscretionaryData` is not. `rtp` is accepted as an alias of `instant` in this API version. `intraBank` requires your project's configured outgoing US rails to include `crnow`, else the request is rejected with `intraBankNotSupported` (422).","isRequired":true,"uniqueKey":"destination.oneOf.2.details.network","typeLabel":"enum\u003cstring>"},"memo":{"oneOf":[{"type":"string","description":"Optional payment memo delivered to the beneficiary's bank with the payout.\n\nHonored on these rails, each with its own limit: - `network: \"ach\"` or `\"achSameDay\"`: carried as the ACH addenda. NACHA characters only (uppercase letters, digits, space and `.\u0026()-+=':?@_#%`), max 80. - `network: \"wire\"` or `\"rtp\"`: ISO 20022 characters only (see the `paymentMemo` scalar), max 140. - A `bankIban` or `bankCanada` destination on `swift`: ISO 20022, max 140.\n\nA memo outside its rail's characters or length is rejected with 422.\n\nOn a Quote, the memo is honored only on a `walletFiat`-source quote, or on a `walletCrypto`-source quote to a `bankUs` destination; any other corridor rejects it. A Virtual Account destination offers no `rtp` rail. On a Deposit Address the memo is read when each payout is built, so an edit applies only to payouts built after it, never to one already sent.\n\nWhere a memo is not honored — a rail with no remittance field, such as `bankCanada`'s `local` leg, or a Quote corridor outside the two above — a non-empty memo is rejected with 422 `MemoNotSupported`, its `cause` carrying `reason=unsupportedRail`, rather than accepted and dropped. Sending `null`, omitting the field, or sending only whitespace is always accepted and means no memo of your own: the payout then carries the memo OMS composes for the rail, if any.","maxLength":140,"pattern":"^[A-Za-z0-9 /?:().,'+\\-\u0026=@_#%]*$","x-go-type":"string","uniqueKey":"destination.oneOf.2.details.memo.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"destination.oneOf.2.details.memo.oneOf.1","typeLabel":"null"}],"uniqueKey":"destination.oneOf.2.details.memo","typeLabel":"string | null"},"companyDiscretionaryData":{"oneOf":[{"type":"string","description":"Optional ACH-only field for the originator's internal use (NACHA batch header). See the companyDiscretionaryData scalar doc. Honored only when network is \"ach\" or \"achSameDay\"; 422 `MemoNotSupported` on \"wire\" and \"rtp\", because the field itself is an ACH-only concept.","maxLength":20,"pattern":"^[A-Z0-9 \u0026\\-\\.\\$*\\/#@%]*$","uniqueKey":"destination.oneOf.2.details.companyDiscretionaryData.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"destination.oneOf.2.details.companyDiscretionaryData.oneOf.1","typeLabel":"null"}],"uniqueKey":"destination.oneOf.2.details.companyDiscretionaryData","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"destination.oneOf.2.details","typeLabel":"object"},"amount":{"type":"string","description":"Wire-safe decimal string for financial float values (USD amounts, percentages).","x-go-type-import":{"path":"github.com/shopspring/decimal"},"x-go-type":"decimal.Decimal","uniqueKey":"destination.oneOf.2.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.2","typeLabel":"US bank account · object"},{"type":"object","title":"IBAN bank account","description":"The instrument that receives the funds. Pick a `type`: a wallet (`walletCrypto` / `walletExternal`), a bank account (`bankUs` / `bankIban` / `bankCanada`), a `card`, or `cash`.","required":["type","details"],"properties":{"type":{"type":"string","enum":["bankIban"],"description":"Type discriminator.","isRequired":true,"uniqueKey":"destination.oneOf.3.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["id","asset"],"properties":{"id":{"type":"string","description":"IBAN ExternalAccount ID (`ext_` prefix).","isRequired":true,"uniqueKey":"destination.oneOf.3.details.id","typeLabel":"string"},"asset":{"type":"string","enum":["usd"],"description":"Canonical asset identifier.","isRequired":true,"uniqueKey":"destination.oneOf.3.details.asset","typeLabel":"enum\u003cstring>"},"network":{"type":"string","enum":["swift"],"description":"Network identifier.","default":"swift","uniqueKey":"destination.oneOf.3.details.network","typeLabel":"enum\u003cstring>"},"memo":{"oneOf":[{"type":"string","description":"Optional customer-supplied payment memo delivered via SWIFT remittance information. See BankUsSideDetails.memo's doc for the full contract — this is the same field, same charset/length bound, same honored-surface table, applied to the SWIFT rail instead of Fedwire.","maxLength":140,"pattern":"^[A-Za-z0-9 /?:().,'+\\-\u0026=@_#%]*$","x-go-type":"string","uniqueKey":"destination.oneOf.3.details.memo.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"destination.oneOf.3.details.memo.oneOf.1","typeLabel":"null"}],"uniqueKey":"destination.oneOf.3.details.memo","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"destination.oneOf.3.details","typeLabel":"object"},"amount":{"type":"string","description":"Wire-safe decimal string for financial float values (USD amounts, percentages).","x-go-type-import":{"path":"github.com/shopspring/decimal"},"x-go-type":"decimal.Decimal","uniqueKey":"destination.oneOf.3.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.3","typeLabel":"IBAN bank account · object"},{"type":"object","title":"Canadian bank account","description":"The instrument that receives the funds. Pick a `type`: a wallet (`walletCrypto` / `walletExternal`), a bank account (`bankUs` / `bankIban` / `bankCanada`), a `card`, or `cash`.","required":["type","details"],"properties":{"type":{"type":"string","enum":["bankCanada"],"description":"Type discriminator.","isRequired":true,"uniqueKey":"destination.oneOf.4.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["id","asset","network"],"properties":{"id":{"type":"string","description":"Canadian bank ExternalAccount ID (`ext_` prefix).","isRequired":true,"uniqueKey":"destination.oneOf.4.details.id","typeLabel":"string"},"asset":{"type":"string","enum":["usd","cad"],"description":"Canonical asset identifier.","isRequired":true,"uniqueKey":"destination.oneOf.4.details.asset","typeLabel":"enum\u003cstring>"},"network":{"type":"string","enum":["swift","local"],"description":"USD uses `swift`; CAD uses `local`. Always explicit.","isRequired":true,"uniqueKey":"destination.oneOf.4.details.network","typeLabel":"enum\u003cstring>"},"memo":{"oneOf":[{"type":"string","description":"Optional message carried in the SWIFT remittance information and passed through to the recipient's bank (max 140 chars, ISO 20022-allowed characters only). Supported when `network` is `swift`; rejected with 422 `MemoNotSupported` on `local`.","maxLength":140,"pattern":"^[A-Za-z0-9 /?:().,'+\\-\u0026=@_#%]*$","x-go-type":"string","uniqueKey":"destination.oneOf.4.details.memo.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"destination.oneOf.4.details.memo.oneOf.1","typeLabel":"null"}],"uniqueKey":"destination.oneOf.4.details.memo","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"destination.oneOf.4.details","typeLabel":"object"},"amount":{"type":"string","description":"Wire-safe decimal string for financial float values (USD amounts, percentages).","x-go-type-import":{"path":"github.com/shopspring/decimal"},"x-go-type":"decimal.Decimal","uniqueKey":"destination.oneOf.4.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.4","typeLabel":"Canadian bank account · object"},{"type":"object","title":"Card","description":"The instrument that receives the funds. Pick a `type`: a wallet (`walletCrypto` / `walletExternal`), a bank account (`bankUs` / `bankIban` / `bankCanada`), a `card`, or `cash`.","required":["type","details"],"properties":{"type":{"type":"string","enum":["card"],"description":"Type discriminator.","isRequired":true,"uniqueKey":"destination.oneOf.5.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["id","asset"],"properties":{"id":{"type":"string","description":"Card ExternalAccount ID (`ext_` prefix).","isRequired":true,"uniqueKey":"destination.oneOf.5.details.id","typeLabel":"string"},"asset":{"type":"string","enum":["usd"],"description":"Canonical asset identifier.","isRequired":true,"uniqueKey":"destination.oneOf.5.details.asset","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"destination.oneOf.5.details","typeLabel":"object"},"amount":{"type":"string","description":"Wire-safe decimal string for financial float values (USD amounts, percentages).","x-go-type-import":{"path":"github.com/shopspring/decimal"},"x-go-type":"decimal.Decimal","uniqueKey":"destination.oneOf.5.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.5","typeLabel":"Card · object"},{"type":"object","title":"Cash","description":"The instrument that receives the funds. Pick a `type`: a wallet (`walletCrypto` / `walletExternal`), a bank account (`bankUs` / `bankIban` / `bankCanada`), a `card`, or `cash`.","required":["type","details"],"properties":{"type":{"type":"string","enum":["cash"],"description":"Type discriminator.","isRequired":true,"uniqueKey":"destination.oneOf.6.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["asset","cashLocationId","cashLocationReference","amount"],"properties":{"asset":{"type":"string","enum":["usd"],"description":"Canonical asset identifier.","isRequired":true,"uniqueKey":"destination.oneOf.6.details.asset","typeLabel":"enum\u003cstring>"},"cashLocationId":{"type":"string","description":"Cash location ID from `GET /cash-locations`.","isRequired":true,"uniqueKey":"destination.oneOf.6.details.cashLocationId","typeLabel":"string"},"cashLocationReference":{"type":"string","description":"Provider reference for the location, from `GET /cash-locations`.","isRequired":true,"uniqueKey":"destination.oneOf.6.details.cashLocationReference","typeLabel":"string"},"amount":{"type":"string","description":"Multiple of 20.00, at most 400.00.","x-go-type-import":{"path":"github.com/shopspring/decimal"},"x-go-type":"decimal.Decimal","isRequired":true,"uniqueKey":"destination.oneOf.6.details.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.6.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"destination.oneOf.6","typeLabel":"Cash · object"}],"isRequired":true,"uniqueKey":"destination","typeLabel":"OMS wallet · object | External wallet · object | US bank account · object | IBAN bank account · object | Canadian bank account · object | Card · object | Cash · object"},"sponsorGas":{"type":"boolean","description":"When `true`, OMS absorbs the on-chain gas cost for the destination delivery. Only `true` is currently supported. Ignored for non-crypto destinations (no on-chain leg).","uniqueKey":"sponsorGas","typeLabel":"boolean"},"metadata":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"metadata.additionalProperties","typeLabel":"string"},"description":"Free-form key-value pairs stored on the quote and copied to the resulting transaction.","uniqueKey":"metadata","typeLabel":"object"}},"description":"Request body for creating a quote. Pick a `type` on each side and set the amount on exactly one side; OMS calculates the other.","example":{"customerId":"cst_vfa0nxw6zvyws9g237jrxn4y7k","source":{"type":"walletCrypto","details":{"id":"wlt_5h4jzzpr9xre3bamd9ca7qyghn","asset":"usdc","network":"polygon"},"amount":"100.00"},"destination":{"type":"bankUs","details":{"id":"ext_fky491gakzj0dd46qb6whsr2vq","asset":"usd","network":"ach"}},"sponsorGas":true,"metadata":{"orderId":"order_12345"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"customerId":"cst_vfa0nxw6zvyws9g237jrxn4y7k","source":{"type":"walletCrypto","details":{"id":"wlt_5h4jzzpr9xre3bamd9ca7qyghn","asset":"usdc","network":"polygon"},"amount":"100.00"},"destination":{"type":"bankUs","details":{"id":"ext_fky491gakzj0dd46qb6whsr2vq","asset":"usd","network":"ach"}},"sponsorGas":true,"metadata":{"orderId":"order_12345"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"002def6e-94c4-4162-a7d5-7fb87bcd9c3c":{"description":"The request has succeeded and a new resource has been created as a result.","content":{"application/json":{"schema":{"type":"object","required":["id","object","status","customerId","source","destination","pricing"],"properties":{"id":{"type":"string","description":"Quote ID (`qt_` prefix).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"object":{"type":"string","enum":["quote"],"description":"Resource type discriminator. Always \"quote\".","isRequired":true,"uniqueKey":"object","typeLabel":"enum\u003cstring>"},"status":{"type":"string","description":"Current status of the quote.","enum":["open","accepted","expired"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"customerId":{"type":"string","description":"The OMS customer that owns this record (`cst_` prefix).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"customerId","typeLabel":"string"},"source":{"oneOf":[{"type":"object","title":"OMS wallet","description":"The funding side, echoed from the request with resolved instrument detail.","required":["type","asset","network"],"properties":{"type":{"type":"string","enum":["walletCrypto"],"isRequired":true,"uniqueKey":"source.oneOf.0.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","description":"Lowercase asset.","isRequired":true,"uniqueKey":"source.oneOf.0.asset","typeLabel":"string"},"network":{"type":"string","description":"Lowercase blockchain.","isRequired":true,"uniqueKey":"source.oneOf.0.network","typeLabel":"string"},"id":{"type":"string","description":"The wallet (`wlt_`); an older wallet keeps its original `wlt_\u003cuuid>` id. Left out while a deposit's receiving wallet is not resolved yet.","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"source.oneOf.0.id","typeLabel":"string"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"source.oneOf.0.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"source.oneOf.0.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"source.oneOf.0.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"source.oneOf.0.owner","typeLabel":"object"},"details":{"type":"object","properties":{"address":{"type":"string","description":"On-chain address.","uniqueKey":"source.oneOf.0.details.address","typeLabel":"string"}},"description":"OMS crypto wallet details.","uniqueKey":"source.oneOf.0.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"source.oneOf.0","typeLabel":"OMS wallet · object"},{"type":"object","title":"External wallet","description":"The funding side, echoed from the request with resolved instrument detail.","required":["type","asset","network"],"properties":{"type":{"type":"string","enum":["walletExternal"],"isRequired":true,"uniqueKey":"source.oneOf.1.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","description":"Lowercase asset.","isRequired":true,"uniqueKey":"source.oneOf.1.asset","typeLabel":"string"},"network":{"type":"string","description":"Lowercase blockchain.","isRequired":true,"uniqueKey":"source.oneOf.1.network","typeLabel":"string"},"id":{"type":"string","description":"The external account (`ext_`). Left out for a sender OMS has no record of.","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"source.oneOf.1.id","typeLabel":"string"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"source.oneOf.1.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"source.oneOf.1.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"source.oneOf.1.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"source.oneOf.1.owner","typeLabel":"object"},"details":{"type":"object","properties":{"address":{"type":"string","description":"On-chain address.","uniqueKey":"source.oneOf.1.details.address","typeLabel":"string"},"custodian":{"type":"string","description":"Who custodies the wallet, in lowerCamelCase.","uniqueKey":"source.oneOf.1.details.custodian","typeLabel":"string"},"otherCustodian":{"type":"string","description":"The custodian's name when `custodian` is `other`.","uniqueKey":"source.oneOf.1.details.otherCustodian","typeLabel":"string"},"networkFamily":{"type":"string","enum":["evm","solana","tron"],"description":"Crypto network family for a registered external wallet. A walletExternal is registered per family (an EVM address is valid across every EVM chain), and the registration covers every served network in that family. A create for a family the provider that provisions this project's walletExternal accounts does not serve is refused before anything is written, with 422 `NetworkFamilyNotServed`; depending on the provider, the refusal can be 403 `VendorConfigMissing` instead.","uniqueKey":"source.oneOf.1.details.networkFamily","typeLabel":"enum\u003cstring>"}},"description":"External wallet details.","uniqueKey":"source.oneOf.1.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"source.oneOf.1","typeLabel":"External wallet · object"},{"type":"object","title":"Fiat wallet","description":"The funding side, echoed from the request with resolved instrument detail.","required":["type","asset"],"properties":{"type":{"type":"string","enum":["walletFiat"],"isRequired":true,"uniqueKey":"source.oneOf.2.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","enum":["usd"],"description":"Fiat currency of the balance. Only `usd` today.","isRequired":true,"uniqueKey":"source.oneOf.2.asset","typeLabel":"enum\u003cstring>"},"id":{"type":"string","pattern":"^(wlt_fiat_|[a-z]+_)([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"The fiat wallet (`wlt_`; an older wallet keeps its original `wlt_\u003cuuid>` id, and a `wlt_fiat_` id is also accepted on input). Left out on a book-transfer destination until its outbound leg exists.","uniqueKey":"source.oneOf.2.id","typeLabel":"string"},"network":{"type":"string","enum":["bookTransfer","intraBank"],"description":"On the destination of a virtual account or deposit address book-transfer credit: `intraBank`, or `bookTransfer` on a record created before the umbrella names were introduced.","uniqueKey":"source.oneOf.2.network","typeLabel":"enum\u003cstring>"},"intraBankRail":{"type":"string","description":"Only when `network` is `intraBank`.","enum":["bookTransfer","crnow","ereborRail"],"uniqueKey":"source.oneOf.2.intraBankRail","typeLabel":"enum\u003cstring>"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"source.oneOf.2.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"source.oneOf.2.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"source.oneOf.2.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"source.oneOf.2.owner","typeLabel":"object"}},"isRequired":true,"uniqueKey":"source.oneOf.2","typeLabel":"Fiat wallet · object"},{"type":"object","title":"US bank account","description":"The funding side, echoed from the request with resolved instrument detail.","required":["type","asset"],"properties":{"type":{"type":"string","enum":["bankUs"],"isRequired":true,"uniqueKey":"source.oneOf.3.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","enum":["usd"],"description":"Lowercase asset.","isRequired":true,"uniqueKey":"source.oneOf.3.asset","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The external account (`ext_`). Left out for a sender OMS has no record of.","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"source.oneOf.3.id","typeLabel":"string"},"network":{"type":"string","enum":["ach","achSameDay","wire","rtp","instant"],"description":"The rail the money moves on. `instant` is an RTP or FedNow payment, named in `instantRail`; a record created before the umbrella names were introduced keeps `rtp`.","uniqueKey":"source.oneOf.3.network","typeLabel":"enum\u003cstring>"},"instantRail":{"type":"string","description":"Only when `network` is `instant`.","enum":["rtp","fednow"],"uniqueKey":"source.oneOf.3.instantRail","typeLabel":"enum\u003cstring>"},"secCode":{"type":"string","description":"ACH SEC code, only on `ach` and `achSameDay`. Derived from the destination owner's and the customer's entity type.","enum":["ccd","ppd","web"],"uniqueKey":"source.oneOf.3.secCode","typeLabel":"enum\u003cstring>"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"source.oneOf.3.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"source.oneOf.3.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"source.oneOf.3.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"source.oneOf.3.owner","typeLabel":"object"},"details":{"type":"object","properties":{"bankName":{"type":"string","uniqueKey":"source.oneOf.3.details.bankName","typeLabel":"string"},"accountNumberLast4":{"type":"string","uniqueKey":"source.oneOf.3.details.accountNumberLast4","typeLabel":"string"},"routingNumber":{"type":"string","uniqueKey":"source.oneOf.3.details.routingNumber","typeLabel":"string"},"accountType":{"type":"string","enum":["checking","savings"],"description":"Bank account sub-type for US accounts.","uniqueKey":"source.oneOf.3.details.accountType","typeLabel":"enum\u003cstring>"},"holderName":{"type":"string","description":"The account holder: a counterparty's name, or the sender's name when the rail carries it.","uniqueKey":"source.oneOf.3.details.holderName","typeLabel":"string"},"memo":{"type":"string","description":"The free-text message that travelled with the money on this side's rail.","uniqueKey":"source.oneOf.3.details.memo","typeLabel":"string"}},"description":"US bank account details.","uniqueKey":"source.oneOf.3.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"source.oneOf.3","typeLabel":"US bank account · object"},{"type":"object","title":"IBAN bank account","description":"The funding side, echoed from the request with resolved instrument detail.","required":["type","asset"],"properties":{"type":{"type":"string","enum":["bankIban"],"isRequired":true,"uniqueKey":"source.oneOf.4.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","description":"Lowercase asset.","isRequired":true,"uniqueKey":"source.oneOf.4.asset","typeLabel":"string"},"id":{"type":"string","description":"The external account (`ext_`). Left out for a sender OMS has no record of.","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"source.oneOf.4.id","typeLabel":"string"},"network":{"type":"string","enum":["swift"],"description":"The rail the money moves on.","uniqueKey":"source.oneOf.4.network","typeLabel":"enum\u003cstring>"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"source.oneOf.4.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"source.oneOf.4.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"source.oneOf.4.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"source.oneOf.4.owner","typeLabel":"object"},"details":{"type":"object","properties":{"bankName":{"type":"string","uniqueKey":"source.oneOf.4.details.bankName","typeLabel":"string"},"ibanLast4":{"type":"string","uniqueKey":"source.oneOf.4.details.ibanLast4","typeLabel":"string"},"bic":{"type":"string","uniqueKey":"source.oneOf.4.details.bic","typeLabel":"string"},"countryCode":{"type":"string","description":"ISO 3166-1 alpha-2 country of the bank.","uniqueKey":"source.oneOf.4.details.countryCode","typeLabel":"string"},"bankAddress":{"type":"object","properties":{"line1":{"type":"string","description":"Street address, line 1.","uniqueKey":"source.oneOf.4.details.bankAddress.line1","typeLabel":"string"},"line2":{"type":"string","description":"Street address, line 2.","uniqueKey":"source.oneOf.4.details.bankAddress.line2","typeLabel":"string"},"city":{"type":"string","description":"City.","uniqueKey":"source.oneOf.4.details.bankAddress.city","typeLabel":"string"},"state":{"type":"string","description":"State / province / region.","uniqueKey":"source.oneOf.4.details.bankAddress.state","typeLabel":"string"},"country":{"type":"string","description":"ISO 3166-1 alpha-2","uniqueKey":"source.oneOf.4.details.bankAddress.country","typeLabel":"string"},"zipCode":{"type":"string","description":"ZIP / postal code.","uniqueKey":"source.oneOf.4.details.bankAddress.zipCode","typeLabel":"string"}},"description":"A postal address. country is an ISO 3166-1 alpha-2 country code.","uniqueKey":"source.oneOf.4.details.bankAddress","typeLabel":"object"},"holderName":{"type":"string","description":"The account holder: a counterparty's name, or the sender's name when the rail carries it.","uniqueKey":"source.oneOf.4.details.holderName","typeLabel":"string"},"memo":{"type":"string","description":"The free-text message that travelled with the money on this side's rail.","uniqueKey":"source.oneOf.4.details.memo","typeLabel":"string"}},"description":"IBAN bank account details.","uniqueKey":"source.oneOf.4.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"source.oneOf.4","typeLabel":"IBAN bank account · object"},{"type":"object","title":"Canadian bank account","description":"The funding side, echoed from the request with resolved instrument detail.","required":["type","asset"],"properties":{"type":{"type":"string","enum":["bankCanada"],"isRequired":true,"uniqueKey":"source.oneOf.5.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","enum":["usd","cad"],"description":"Lowercase asset.","isRequired":true,"uniqueKey":"source.oneOf.5.asset","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The external account (`ext_`). Left out for a sender OMS has no record of.","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"source.oneOf.5.id","typeLabel":"string"},"network":{"type":"string","enum":["swift","local"],"description":"The rail the money moves on.","uniqueKey":"source.oneOf.5.network","typeLabel":"enum\u003cstring>"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"source.oneOf.5.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"source.oneOf.5.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"source.oneOf.5.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"source.oneOf.5.owner","typeLabel":"object"},"details":{"type":"object","properties":{"bankName":{"type":"string","uniqueKey":"source.oneOf.5.details.bankName","typeLabel":"string"},"accountNumberLast4":{"type":"string","uniqueKey":"source.oneOf.5.details.accountNumberLast4","typeLabel":"string"},"institutionNumber":{"type":"string","uniqueKey":"source.oneOf.5.details.institutionNumber","typeLabel":"string"},"transitNumber":{"type":"string","uniqueKey":"source.oneOf.5.details.transitNumber","typeLabel":"string"},"holderName":{"type":"string","description":"The account holder: a counterparty's name, or the sender's name when the rail carries it.","uniqueKey":"source.oneOf.5.details.holderName","typeLabel":"string"},"memo":{"type":"string","description":"The free-text message that travelled with the money on this side's rail.","uniqueKey":"source.oneOf.5.details.memo","typeLabel":"string"}},"description":"Canadian bank account details.","uniqueKey":"source.oneOf.5.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"source.oneOf.5","typeLabel":"Canadian bank account · object"},{"type":"object","title":"Card","description":"The funding side, echoed from the request with resolved instrument detail.","required":["type","asset"],"properties":{"type":{"type":"string","enum":["card"],"isRequired":true,"uniqueKey":"source.oneOf.6.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","enum":["usd"],"description":"Lowercase asset.","isRequired":true,"uniqueKey":"source.oneOf.6.asset","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The external account (`ext_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"source.oneOf.6.id","typeLabel":"string"},"network":{"type":"string","enum":["card"],"description":"The rail the money moves on.","uniqueKey":"source.oneOf.6.network","typeLabel":"enum\u003cstring>"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"source.oneOf.6.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"source.oneOf.6.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"source.oneOf.6.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"source.oneOf.6.owner","typeLabel":"object"},"details":{"type":"object","properties":{"brand":{"type":"string","enum":["visa","mastercard","amex","discover"],"description":"Card network/brand. Derived server-side from the PAN; never accepted on a request.","uniqueKey":"source.oneOf.6.details.brand","typeLabel":"enum\u003cstring>"},"last4":{"type":"string","uniqueKey":"source.oneOf.6.details.last4","typeLabel":"string"},"cardType":{"type":"string","enum":["debit","credit","prepaid"],"description":"Card funding type, derived server-side from the PAN. Only `debit` is supported today; `credit` and `prepaid` are reserved for future push-to-card / pull-from-card support.","uniqueKey":"source.oneOf.6.details.cardType","typeLabel":"enum\u003cstring>"},"expiryMonth":{"type":"integer","format":"int32","uniqueKey":"source.oneOf.6.details.expiryMonth","typeLabel":"integer\u003cint32>"},"expiryYear":{"type":"integer","format":"int32","uniqueKey":"source.oneOf.6.details.expiryYear","typeLabel":"integer\u003cint32>"},"billingAddressSource":{"type":"string","enum":["provided","customerDefault"],"description":"Where a card's billing address came from. `provided` = supplied on the request; `customerDefault` = filled from the owning customer's address because the request omitted it.","uniqueKey":"source.oneOf.6.details.billingAddressSource","typeLabel":"enum\u003cstring>"}},"description":"Card details.","uniqueKey":"source.oneOf.6.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"source.oneOf.6","typeLabel":"Card · object"},{"type":"object","title":"Cash","description":"The funding side, echoed from the request with resolved instrument detail.","required":["type","asset"],"properties":{"type":{"type":"string","enum":["cash"],"isRequired":true,"uniqueKey":"source.oneOf.7.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","description":"Lowercase asset.","isRequired":true,"uniqueKey":"source.oneOf.7.asset","typeLabel":"string"},"details":{"type":"object","properties":{"locationId":{"type":"string","uniqueKey":"source.oneOf.7.details.locationId","typeLabel":"string"},"locationName":{"type":"string","uniqueKey":"source.oneOf.7.details.locationName","typeLabel":"string"},"locationAddress":{"type":"object","properties":{"line1":{"type":"string","description":"Street address, line 1.","uniqueKey":"source.oneOf.7.details.locationAddress.line1","typeLabel":"string"},"line2":{"type":"string","description":"Street address, line 2.","uniqueKey":"source.oneOf.7.details.locationAddress.line2","typeLabel":"string"},"city":{"type":"string","description":"City.","uniqueKey":"source.oneOf.7.details.locationAddress.city","typeLabel":"string"},"state":{"type":"string","description":"State / province / region.","uniqueKey":"source.oneOf.7.details.locationAddress.state","typeLabel":"string"},"country":{"type":"string","description":"ISO 3166-1 alpha-2","uniqueKey":"source.oneOf.7.details.locationAddress.country","typeLabel":"string"},"zipCode":{"type":"string","description":"ZIP / postal code.","uniqueKey":"source.oneOf.7.details.locationAddress.zipCode","typeLabel":"string"}},"description":"A postal address. country is an ISO 3166-1 alpha-2 country code.","uniqueKey":"source.oneOf.7.details.locationAddress","typeLabel":"object"},"locationProvider":{"type":"string","description":"The cash network the location belongs to, lowercase, such as `greendot`.","uniqueKey":"source.oneOf.7.details.locationProvider","typeLabel":"string"}},"description":"Cash location details.","uniqueKey":"source.oneOf.7.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"source.oneOf.7","typeLabel":"Cash · object"},{"type":"object","title":"Deposit address","description":"The funding side, echoed from the request with resolved instrument detail.","required":["type","asset","network"],"properties":{"type":{"type":"string","enum":["depositAddress"],"isRequired":true,"uniqueKey":"source.oneOf.8.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","description":"Lowercase asset.","isRequired":true,"uniqueKey":"source.oneOf.8.asset","typeLabel":"string"},"network":{"type":"string","description":"Lowercase blockchain.","isRequired":true,"uniqueKey":"source.oneOf.8.network","typeLabel":"string"},"id":{"type":"string","description":"The deposit address (`da_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"source.oneOf.8.id","typeLabel":"string"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"source.oneOf.8.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"source.oneOf.8.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"source.oneOf.8.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"source.oneOf.8.owner","typeLabel":"object"},"details":{"type":"object","properties":{"address":{"type":"string","description":"On-chain address.","uniqueKey":"source.oneOf.8.details.address","typeLabel":"string"}},"description":"Deposit address details.","uniqueKey":"source.oneOf.8.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"source.oneOf.8","typeLabel":"Deposit address · object"},{"type":"object","title":"Virtual account","description":"The funding side, echoed from the request with resolved instrument detail.","required":["type","asset"],"properties":{"type":{"type":"string","enum":["virtualAccount"],"isRequired":true,"uniqueKey":"source.oneOf.9.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","description":"Lowercase asset.","isRequired":true,"uniqueKey":"source.oneOf.9.asset","typeLabel":"string"},"id":{"type":"string","description":"The virtual account (`va_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"source.oneOf.9.id","typeLabel":"string"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"source.oneOf.9.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"source.oneOf.9.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"source.oneOf.9.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"source.oneOf.9.owner","typeLabel":"object"},"details":{"type":"object","properties":{"bankName":{"type":"string","uniqueKey":"source.oneOf.9.details.bankName","typeLabel":"string"},"accountNumberLast4":{"type":"string","uniqueKey":"source.oneOf.9.details.accountNumberLast4","typeLabel":"string"},"routingNumber":{"type":"string","uniqueKey":"source.oneOf.9.details.routingNumber","typeLabel":"string"}},"description":"Virtual account details. The full account number is in the virtual account's deposit instructions.","uniqueKey":"source.oneOf.9.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"source.oneOf.9","typeLabel":"Virtual account · object"}],"isRequired":true,"uniqueKey":"source","typeLabel":"OMS wallet · object | External wallet · object | Fiat wallet · object | US bank account · object | IBAN bank account · object | Canadian bank account · object | Card · object | Cash · object | Deposit address · object | Virtual account · object"},"destination":{"oneOf":[{"type":"object","title":"OMS wallet","description":"The receiving side, echoed from the request with resolved instrument detail.","required":["type","asset","network"],"properties":{"type":{"type":"string","enum":["walletCrypto"],"isRequired":true,"uniqueKey":"destination.oneOf.0.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","description":"Lowercase asset.","isRequired":true,"uniqueKey":"destination.oneOf.0.asset","typeLabel":"string"},"network":{"type":"string","description":"Lowercase blockchain.","isRequired":true,"uniqueKey":"destination.oneOf.0.network","typeLabel":"string"},"id":{"type":"string","description":"The wallet (`wlt_`); an older wallet keeps its original `wlt_\u003cuuid>` id. Left out while a deposit's receiving wallet is not resolved yet.","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"destination.oneOf.0.id","typeLabel":"string"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"destination.oneOf.0.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"destination.oneOf.0.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"destination.oneOf.0.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"destination.oneOf.0.owner","typeLabel":"object"},"details":{"type":"object","properties":{"address":{"type":"string","description":"On-chain address.","uniqueKey":"destination.oneOf.0.details.address","typeLabel":"string"}},"description":"OMS crypto wallet details.","uniqueKey":"destination.oneOf.0.details","typeLabel":"object"},"payoutOrigin":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["bank","blockchain"],"isRequired":true,"uniqueKey":"destination.oneOf.0.payoutOrigin.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"Public TypeID, e.g. `txn_01h455vb4pex5vsknk084sn02q`.","x-go-type":"string","uniqueKey":"destination.oneOf.0.payoutOrigin.id","typeLabel":"string"},"accountHolder":{"type":"string","description":"Whose legal identity the payment is sent under. Determined by OMS from the route's configuration — not a request field. Left out when OMS cannot determine it, and on destinations that have no sending legal identity (cash payouts, and crypto payouts outside a Deposit Address). A bank payout that goes out under the payment provider or the partner records that holder just before it is sent to the provider, and reports it only while a payout was or may have been created there; a send interrupted after the holder was recorded and before it went out has an unknown outcome and may report it. A failed send known to have created no payout at the provider, and a payout sent before holders were recorded whose holder could not be recovered afterwards, report the fallback value instead, which may differ from the holder actually used. The fallback value, also reported before a holder is recorded and for payouts that always go out under the customer's own name, is the holder the Deposit Address fixed for the destination type the transaction pays on a transaction created from a Deposit Address, and the value its route implies on any other.","enum":["customer","paymentProvider","partner"],"uniqueKey":"destination.oneOf.0.payoutOrigin.accountHolder","typeLabel":"enum\u003cstring>"},"accountHolderName":{"type":"string","description":"The legal name the payment is sent under, resolved from `accountHolder` — the customer's own legal name for `customer`, the owning customer's legal name for `partner` (for now; a partner-level name may replace it later), or the payment provider's name for `paymentProvider`, which differs between a `bank` origin (\"Coinme Inc FBO its Customers\") and a `blockchain` origin. This is what the recipient sees as the sender. Like `accountHolder` and unlike `id`, it is populated as soon as it is determinable, so it appears on Quote, Deposit Address and Virtual Account responses as well as Transactions. Left out whenever `accountHolder` is, and when the customer's name cannot be read at that moment.","uniqueKey":"destination.oneOf.0.payoutOrigin.accountHolderName","typeLabel":"string"}},"description":"Where last-mile delivery is sent *from*, as a uniform `{type, id}` reference — response-only. `id` is the Virtual Account (`va_`) or OMS wallet (`wlt_`) funding the leg; left out before execution (Quote / Deposit Address echo the choice only) or when the origin has no partner-visible resource. Rail identifiers for the last-mile transfer live in the top-level `tracking` array with `leg: destination` — not here.","uniqueKey":"destination.oneOf.0.payoutOrigin","typeLabel":"object"},"companyDiscretionaryData":{"type":"string","description":"Echo of the ACH companyDiscretionaryData supplied on the originating request. Null/absent on non-ACH destinations or when not supplied.","uniqueKey":"destination.oneOf.0.companyDiscretionaryData","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.0","typeLabel":"OMS wallet · object"},{"type":"object","title":"External wallet","description":"The receiving side, echoed from the request with resolved instrument detail.","required":["type","asset","network"],"properties":{"type":{"type":"string","enum":["walletExternal"],"isRequired":true,"uniqueKey":"destination.oneOf.1.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","description":"Lowercase asset.","isRequired":true,"uniqueKey":"destination.oneOf.1.asset","typeLabel":"string"},"network":{"type":"string","description":"Lowercase blockchain.","isRequired":true,"uniqueKey":"destination.oneOf.1.network","typeLabel":"string"},"id":{"type":"string","description":"The external account (`ext_`). Left out for a sender OMS has no record of.","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"destination.oneOf.1.id","typeLabel":"string"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"destination.oneOf.1.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"destination.oneOf.1.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"destination.oneOf.1.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"destination.oneOf.1.owner","typeLabel":"object"},"details":{"type":"object","properties":{"address":{"type":"string","description":"On-chain address.","uniqueKey":"destination.oneOf.1.details.address","typeLabel":"string"},"custodian":{"type":"string","description":"Who custodies the wallet, in lowerCamelCase.","uniqueKey":"destination.oneOf.1.details.custodian","typeLabel":"string"},"otherCustodian":{"type":"string","description":"The custodian's name when `custodian` is `other`.","uniqueKey":"destination.oneOf.1.details.otherCustodian","typeLabel":"string"},"networkFamily":{"type":"string","enum":["evm","solana","tron"],"description":"Crypto network family for a registered external wallet. A walletExternal is registered per family (an EVM address is valid across every EVM chain), and the registration covers every served network in that family. A create for a family the provider that provisions this project's walletExternal accounts does not serve is refused before anything is written, with 422 `NetworkFamilyNotServed`; depending on the provider, the refusal can be 403 `VendorConfigMissing` instead.","uniqueKey":"destination.oneOf.1.details.networkFamily","typeLabel":"enum\u003cstring>"}},"description":"External wallet details.","uniqueKey":"destination.oneOf.1.details","typeLabel":"object"},"payoutOrigin":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["bank","blockchain"],"isRequired":true,"uniqueKey":"destination.oneOf.1.payoutOrigin.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"Public TypeID, e.g. `txn_01h455vb4pex5vsknk084sn02q`.","x-go-type":"string","uniqueKey":"destination.oneOf.1.payoutOrigin.id","typeLabel":"string"},"accountHolder":{"type":"string","description":"Whose legal identity the payment is sent under. Determined by OMS from the route's configuration — not a request field. Left out when OMS cannot determine it, and on destinations that have no sending legal identity (cash payouts, and crypto payouts outside a Deposit Address). A bank payout that goes out under the payment provider or the partner records that holder just before it is sent to the provider, and reports it only while a payout was or may have been created there; a send interrupted after the holder was recorded and before it went out has an unknown outcome and may report it. A failed send known to have created no payout at the provider, and a payout sent before holders were recorded whose holder could not be recovered afterwards, report the fallback value instead, which may differ from the holder actually used. The fallback value, also reported before a holder is recorded and for payouts that always go out under the customer's own name, is the holder the Deposit Address fixed for the destination type the transaction pays on a transaction created from a Deposit Address, and the value its route implies on any other.","enum":["customer","paymentProvider","partner"],"uniqueKey":"destination.oneOf.1.payoutOrigin.accountHolder","typeLabel":"enum\u003cstring>"},"accountHolderName":{"type":"string","description":"The legal name the payment is sent under, resolved from `accountHolder` — the customer's own legal name for `customer`, the owning customer's legal name for `partner` (for now; a partner-level name may replace it later), or the payment provider's name for `paymentProvider`, which differs between a `bank` origin (\"Coinme Inc FBO its Customers\") and a `blockchain` origin. This is what the recipient sees as the sender. Like `accountHolder` and unlike `id`, it is populated as soon as it is determinable, so it appears on Quote, Deposit Address and Virtual Account responses as well as Transactions. Left out whenever `accountHolder` is, and when the customer's name cannot be read at that moment.","uniqueKey":"destination.oneOf.1.payoutOrigin.accountHolderName","typeLabel":"string"}},"description":"Where last-mile delivery is sent *from*, as a uniform `{type, id}` reference — response-only. `id` is the Virtual Account (`va_`) or OMS wallet (`wlt_`) funding the leg; left out before execution (Quote / Deposit Address echo the choice only) or when the origin has no partner-visible resource. Rail identifiers for the last-mile transfer live in the top-level `tracking` array with `leg: destination` — not here.","uniqueKey":"destination.oneOf.1.payoutOrigin","typeLabel":"object"},"companyDiscretionaryData":{"type":"string","description":"Echo of the ACH companyDiscretionaryData supplied on the originating request. Null/absent on non-ACH destinations or when not supplied.","uniqueKey":"destination.oneOf.1.companyDiscretionaryData","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.1","typeLabel":"External wallet · object"},{"type":"object","title":"Fiat wallet","description":"The receiving side, echoed from the request with resolved instrument detail.","required":["type","asset"],"properties":{"type":{"type":"string","enum":["walletFiat"],"isRequired":true,"uniqueKey":"destination.oneOf.2.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","enum":["usd"],"description":"Fiat currency of the balance. Only `usd` today.","isRequired":true,"uniqueKey":"destination.oneOf.2.asset","typeLabel":"enum\u003cstring>"},"id":{"type":"string","pattern":"^(wlt_fiat_|[a-z]+_)([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"The fiat wallet (`wlt_`; an older wallet keeps its original `wlt_\u003cuuid>` id, and a `wlt_fiat_` id is also accepted on input). Left out on a book-transfer destination until its outbound leg exists.","uniqueKey":"destination.oneOf.2.id","typeLabel":"string"},"network":{"type":"string","enum":["bookTransfer","intraBank"],"description":"On the destination of a virtual account or deposit address book-transfer credit: `intraBank`, or `bookTransfer` on a record created before the umbrella names were introduced.","uniqueKey":"destination.oneOf.2.network","typeLabel":"enum\u003cstring>"},"intraBankRail":{"type":"string","description":"Only when `network` is `intraBank`.","enum":["bookTransfer","crnow","ereborRail"],"uniqueKey":"destination.oneOf.2.intraBankRail","typeLabel":"enum\u003cstring>"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"destination.oneOf.2.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"destination.oneOf.2.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"destination.oneOf.2.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"destination.oneOf.2.owner","typeLabel":"object"},"payoutOrigin":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["bank","blockchain"],"isRequired":true,"uniqueKey":"destination.oneOf.2.payoutOrigin.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"Public TypeID, e.g. `txn_01h455vb4pex5vsknk084sn02q`.","x-go-type":"string","uniqueKey":"destination.oneOf.2.payoutOrigin.id","typeLabel":"string"},"accountHolder":{"type":"string","description":"Whose legal identity the payment is sent under. Determined by OMS from the route's configuration — not a request field. Left out when OMS cannot determine it, and on destinations that have no sending legal identity (cash payouts, and crypto payouts outside a Deposit Address). A bank payout that goes out under the payment provider or the partner records that holder just before it is sent to the provider, and reports it only while a payout was or may have been created there; a send interrupted after the holder was recorded and before it went out has an unknown outcome and may report it. A failed send known to have created no payout at the provider, and a payout sent before holders were recorded whose holder could not be recovered afterwards, report the fallback value instead, which may differ from the holder actually used. The fallback value, also reported before a holder is recorded and for payouts that always go out under the customer's own name, is the holder the Deposit Address fixed for the destination type the transaction pays on a transaction created from a Deposit Address, and the value its route implies on any other.","enum":["customer","paymentProvider","partner"],"uniqueKey":"destination.oneOf.2.payoutOrigin.accountHolder","typeLabel":"enum\u003cstring>"},"accountHolderName":{"type":"string","description":"The legal name the payment is sent under, resolved from `accountHolder` — the customer's own legal name for `customer`, the owning customer's legal name for `partner` (for now; a partner-level name may replace it later), or the payment provider's name for `paymentProvider`, which differs between a `bank` origin (\"Coinme Inc FBO its Customers\") and a `blockchain` origin. This is what the recipient sees as the sender. Like `accountHolder` and unlike `id`, it is populated as soon as it is determinable, so it appears on Quote, Deposit Address and Virtual Account responses as well as Transactions. Left out whenever `accountHolder` is, and when the customer's name cannot be read at that moment.","uniqueKey":"destination.oneOf.2.payoutOrigin.accountHolderName","typeLabel":"string"}},"description":"Where last-mile delivery is sent *from*, as a uniform `{type, id}` reference — response-only. `id` is the Virtual Account (`va_`) or OMS wallet (`wlt_`) funding the leg; left out before execution (Quote / Deposit Address echo the choice only) or when the origin has no partner-visible resource. Rail identifiers for the last-mile transfer live in the top-level `tracking` array with `leg: destination` — not here.","uniqueKey":"destination.oneOf.2.payoutOrigin","typeLabel":"object"},"companyDiscretionaryData":{"type":"string","description":"Echo of the ACH companyDiscretionaryData supplied on the originating request. Null/absent on non-ACH destinations or when not supplied.","uniqueKey":"destination.oneOf.2.companyDiscretionaryData","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.2","typeLabel":"Fiat wallet · object"},{"type":"object","title":"US bank account","description":"The receiving side, echoed from the request with resolved instrument detail.","required":["type","asset"],"properties":{"type":{"type":"string","enum":["bankUs"],"isRequired":true,"uniqueKey":"destination.oneOf.3.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","enum":["usd"],"description":"Lowercase asset.","isRequired":true,"uniqueKey":"destination.oneOf.3.asset","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The external account (`ext_`). Left out for a sender OMS has no record of.","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"destination.oneOf.3.id","typeLabel":"string"},"network":{"type":"string","enum":["ach","achSameDay","wire","rtp","instant"],"description":"The rail the money moves on. `instant` is an RTP or FedNow payment, named in `instantRail`; a record created before the umbrella names were introduced keeps `rtp`.","uniqueKey":"destination.oneOf.3.network","typeLabel":"enum\u003cstring>"},"instantRail":{"type":"string","description":"Only when `network` is `instant`.","enum":["rtp","fednow"],"uniqueKey":"destination.oneOf.3.instantRail","typeLabel":"enum\u003cstring>"},"secCode":{"type":"string","description":"ACH SEC code, only on `ach` and `achSameDay`. Derived from the destination owner's and the customer's entity type.","enum":["ccd","ppd","web"],"uniqueKey":"destination.oneOf.3.secCode","typeLabel":"enum\u003cstring>"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"destination.oneOf.3.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"destination.oneOf.3.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"destination.oneOf.3.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"destination.oneOf.3.owner","typeLabel":"object"},"details":{"type":"object","properties":{"bankName":{"type":"string","uniqueKey":"destination.oneOf.3.details.bankName","typeLabel":"string"},"accountNumberLast4":{"type":"string","uniqueKey":"destination.oneOf.3.details.accountNumberLast4","typeLabel":"string"},"routingNumber":{"type":"string","uniqueKey":"destination.oneOf.3.details.routingNumber","typeLabel":"string"},"accountType":{"type":"string","enum":["checking","savings"],"description":"Bank account sub-type for US accounts.","uniqueKey":"destination.oneOf.3.details.accountType","typeLabel":"enum\u003cstring>"},"holderName":{"type":"string","description":"The account holder: a counterparty's name, or the sender's name when the rail carries it.","uniqueKey":"destination.oneOf.3.details.holderName","typeLabel":"string"},"memo":{"type":"string","description":"The free-text message that travelled with the money on this side's rail.","uniqueKey":"destination.oneOf.3.details.memo","typeLabel":"string"}},"description":"US bank account details.","uniqueKey":"destination.oneOf.3.details","typeLabel":"object"},"payoutOrigin":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["bank","blockchain"],"isRequired":true,"uniqueKey":"destination.oneOf.3.payoutOrigin.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"Public TypeID, e.g. `txn_01h455vb4pex5vsknk084sn02q`.","x-go-type":"string","uniqueKey":"destination.oneOf.3.payoutOrigin.id","typeLabel":"string"},"accountHolder":{"type":"string","description":"Whose legal identity the payment is sent under. Determined by OMS from the route's configuration — not a request field. Left out when OMS cannot determine it, and on destinations that have no sending legal identity (cash payouts, and crypto payouts outside a Deposit Address). A bank payout that goes out under the payment provider or the partner records that holder just before it is sent to the provider, and reports it only while a payout was or may have been created there; a send interrupted after the holder was recorded and before it went out has an unknown outcome and may report it. A failed send known to have created no payout at the provider, and a payout sent before holders were recorded whose holder could not be recovered afterwards, report the fallback value instead, which may differ from the holder actually used. The fallback value, also reported before a holder is recorded and for payouts that always go out under the customer's own name, is the holder the Deposit Address fixed for the destination type the transaction pays on a transaction created from a Deposit Address, and the value its route implies on any other.","enum":["customer","paymentProvider","partner"],"uniqueKey":"destination.oneOf.3.payoutOrigin.accountHolder","typeLabel":"enum\u003cstring>"},"accountHolderName":{"type":"string","description":"The legal name the payment is sent under, resolved from `accountHolder` — the customer's own legal name for `customer`, the owning customer's legal name for `partner` (for now; a partner-level name may replace it later), or the payment provider's name for `paymentProvider`, which differs between a `bank` origin (\"Coinme Inc FBO its Customers\") and a `blockchain` origin. This is what the recipient sees as the sender. Like `accountHolder` and unlike `id`, it is populated as soon as it is determinable, so it appears on Quote, Deposit Address and Virtual Account responses as well as Transactions. Left out whenever `accountHolder` is, and when the customer's name cannot be read at that moment.","uniqueKey":"destination.oneOf.3.payoutOrigin.accountHolderName","typeLabel":"string"}},"description":"Where last-mile delivery is sent *from*, as a uniform `{type, id}` reference — response-only. `id` is the Virtual Account (`va_`) or OMS wallet (`wlt_`) funding the leg; left out before execution (Quote / Deposit Address echo the choice only) or when the origin has no partner-visible resource. Rail identifiers for the last-mile transfer live in the top-level `tracking` array with `leg: destination` — not here.","uniqueKey":"destination.oneOf.3.payoutOrigin","typeLabel":"object"},"companyDiscretionaryData":{"type":"string","description":"Echo of the ACH companyDiscretionaryData supplied on the originating request. Null/absent on non-ACH destinations or when not supplied.","uniqueKey":"destination.oneOf.3.companyDiscretionaryData","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.3","typeLabel":"US bank account · object"},{"type":"object","title":"IBAN bank account","description":"The receiving side, echoed from the request with resolved instrument detail.","required":["type","asset"],"properties":{"type":{"type":"string","enum":["bankIban"],"isRequired":true,"uniqueKey":"destination.oneOf.4.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","description":"Lowercase asset.","isRequired":true,"uniqueKey":"destination.oneOf.4.asset","typeLabel":"string"},"id":{"type":"string","description":"The external account (`ext_`). Left out for a sender OMS has no record of.","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"destination.oneOf.4.id","typeLabel":"string"},"network":{"type":"string","enum":["swift"],"description":"The rail the money moves on.","uniqueKey":"destination.oneOf.4.network","typeLabel":"enum\u003cstring>"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"destination.oneOf.4.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"destination.oneOf.4.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"destination.oneOf.4.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"destination.oneOf.4.owner","typeLabel":"object"},"details":{"type":"object","properties":{"bankName":{"type":"string","uniqueKey":"destination.oneOf.4.details.bankName","typeLabel":"string"},"ibanLast4":{"type":"string","uniqueKey":"destination.oneOf.4.details.ibanLast4","typeLabel":"string"},"bic":{"type":"string","uniqueKey":"destination.oneOf.4.details.bic","typeLabel":"string"},"countryCode":{"type":"string","description":"ISO 3166-1 alpha-2 country of the bank.","uniqueKey":"destination.oneOf.4.details.countryCode","typeLabel":"string"},"bankAddress":{"type":"object","properties":{"line1":{"type":"string","description":"Street address, line 1.","uniqueKey":"destination.oneOf.4.details.bankAddress.line1","typeLabel":"string"},"line2":{"type":"string","description":"Street address, line 2.","uniqueKey":"destination.oneOf.4.details.bankAddress.line2","typeLabel":"string"},"city":{"type":"string","description":"City.","uniqueKey":"destination.oneOf.4.details.bankAddress.city","typeLabel":"string"},"state":{"type":"string","description":"State / province / region.","uniqueKey":"destination.oneOf.4.details.bankAddress.state","typeLabel":"string"},"country":{"type":"string","description":"ISO 3166-1 alpha-2","uniqueKey":"destination.oneOf.4.details.bankAddress.country","typeLabel":"string"},"zipCode":{"type":"string","description":"ZIP / postal code.","uniqueKey":"destination.oneOf.4.details.bankAddress.zipCode","typeLabel":"string"}},"description":"A postal address. country is an ISO 3166-1 alpha-2 country code.","uniqueKey":"destination.oneOf.4.details.bankAddress","typeLabel":"object"},"holderName":{"type":"string","description":"The account holder: a counterparty's name, or the sender's name when the rail carries it.","uniqueKey":"destination.oneOf.4.details.holderName","typeLabel":"string"},"memo":{"type":"string","description":"The free-text message that travelled with the money on this side's rail.","uniqueKey":"destination.oneOf.4.details.memo","typeLabel":"string"}},"description":"IBAN bank account details.","uniqueKey":"destination.oneOf.4.details","typeLabel":"object"},"payoutOrigin":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["bank","blockchain"],"isRequired":true,"uniqueKey":"destination.oneOf.4.payoutOrigin.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"Public TypeID, e.g. `txn_01h455vb4pex5vsknk084sn02q`.","x-go-type":"string","uniqueKey":"destination.oneOf.4.payoutOrigin.id","typeLabel":"string"},"accountHolder":{"type":"string","description":"Whose legal identity the payment is sent under. Determined by OMS from the route's configuration — not a request field. Left out when OMS cannot determine it, and on destinations that have no sending legal identity (cash payouts, and crypto payouts outside a Deposit Address). A bank payout that goes out under the payment provider or the partner records that holder just before it is sent to the provider, and reports it only while a payout was or may have been created there; a send interrupted after the holder was recorded and before it went out has an unknown outcome and may report it. A failed send known to have created no payout at the provider, and a payout sent before holders were recorded whose holder could not be recovered afterwards, report the fallback value instead, which may differ from the holder actually used. The fallback value, also reported before a holder is recorded and for payouts that always go out under the customer's own name, is the holder the Deposit Address fixed for the destination type the transaction pays on a transaction created from a Deposit Address, and the value its route implies on any other.","enum":["customer","paymentProvider","partner"],"uniqueKey":"destination.oneOf.4.payoutOrigin.accountHolder","typeLabel":"enum\u003cstring>"},"accountHolderName":{"type":"string","description":"The legal name the payment is sent under, resolved from `accountHolder` — the customer's own legal name for `customer`, the owning customer's legal name for `partner` (for now; a partner-level name may replace it later), or the payment provider's name for `paymentProvider`, which differs between a `bank` origin (\"Coinme Inc FBO its Customers\") and a `blockchain` origin. This is what the recipient sees as the sender. Like `accountHolder` and unlike `id`, it is populated as soon as it is determinable, so it appears on Quote, Deposit Address and Virtual Account responses as well as Transactions. Left out whenever `accountHolder` is, and when the customer's name cannot be read at that moment.","uniqueKey":"destination.oneOf.4.payoutOrigin.accountHolderName","typeLabel":"string"}},"description":"Where last-mile delivery is sent *from*, as a uniform `{type, id}` reference — response-only. `id` is the Virtual Account (`va_`) or OMS wallet (`wlt_`) funding the leg; left out before execution (Quote / Deposit Address echo the choice only) or when the origin has no partner-visible resource. Rail identifiers for the last-mile transfer live in the top-level `tracking` array with `leg: destination` — not here.","uniqueKey":"destination.oneOf.4.payoutOrigin","typeLabel":"object"},"companyDiscretionaryData":{"type":"string","description":"Echo of the ACH companyDiscretionaryData supplied on the originating request. Null/absent on non-ACH destinations or when not supplied.","uniqueKey":"destination.oneOf.4.companyDiscretionaryData","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.4","typeLabel":"IBAN bank account · object"},{"type":"object","title":"Canadian bank account","description":"The receiving side, echoed from the request with resolved instrument detail.","required":["type","asset"],"properties":{"type":{"type":"string","enum":["bankCanada"],"isRequired":true,"uniqueKey":"destination.oneOf.5.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","enum":["usd","cad"],"description":"Lowercase asset.","isRequired":true,"uniqueKey":"destination.oneOf.5.asset","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The external account (`ext_`). Left out for a sender OMS has no record of.","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"destination.oneOf.5.id","typeLabel":"string"},"network":{"type":"string","enum":["swift","local"],"description":"The rail the money moves on.","uniqueKey":"destination.oneOf.5.network","typeLabel":"enum\u003cstring>"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"destination.oneOf.5.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"destination.oneOf.5.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"destination.oneOf.5.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"destination.oneOf.5.owner","typeLabel":"object"},"details":{"type":"object","properties":{"bankName":{"type":"string","uniqueKey":"destination.oneOf.5.details.bankName","typeLabel":"string"},"accountNumberLast4":{"type":"string","uniqueKey":"destination.oneOf.5.details.accountNumberLast4","typeLabel":"string"},"institutionNumber":{"type":"string","uniqueKey":"destination.oneOf.5.details.institutionNumber","typeLabel":"string"},"transitNumber":{"type":"string","uniqueKey":"destination.oneOf.5.details.transitNumber","typeLabel":"string"},"holderName":{"type":"string","description":"The account holder: a counterparty's name, or the sender's name when the rail carries it.","uniqueKey":"destination.oneOf.5.details.holderName","typeLabel":"string"},"memo":{"type":"string","description":"The free-text message that travelled with the money on this side's rail.","uniqueKey":"destination.oneOf.5.details.memo","typeLabel":"string"}},"description":"Canadian bank account details.","uniqueKey":"destination.oneOf.5.details","typeLabel":"object"},"payoutOrigin":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["bank","blockchain"],"isRequired":true,"uniqueKey":"destination.oneOf.5.payoutOrigin.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"Public TypeID, e.g. `txn_01h455vb4pex5vsknk084sn02q`.","x-go-type":"string","uniqueKey":"destination.oneOf.5.payoutOrigin.id","typeLabel":"string"},"accountHolder":{"type":"string","description":"Whose legal identity the payment is sent under. Determined by OMS from the route's configuration — not a request field. Left out when OMS cannot determine it, and on destinations that have no sending legal identity (cash payouts, and crypto payouts outside a Deposit Address). A bank payout that goes out under the payment provider or the partner records that holder just before it is sent to the provider, and reports it only while a payout was or may have been created there; a send interrupted after the holder was recorded and before it went out has an unknown outcome and may report it. A failed send known to have created no payout at the provider, and a payout sent before holders were recorded whose holder could not be recovered afterwards, report the fallback value instead, which may differ from the holder actually used. The fallback value, also reported before a holder is recorded and for payouts that always go out under the customer's own name, is the holder the Deposit Address fixed for the destination type the transaction pays on a transaction created from a Deposit Address, and the value its route implies on any other.","enum":["customer","paymentProvider","partner"],"uniqueKey":"destination.oneOf.5.payoutOrigin.accountHolder","typeLabel":"enum\u003cstring>"},"accountHolderName":{"type":"string","description":"The legal name the payment is sent under, resolved from `accountHolder` — the customer's own legal name for `customer`, the owning customer's legal name for `partner` (for now; a partner-level name may replace it later), or the payment provider's name for `paymentProvider`, which differs between a `bank` origin (\"Coinme Inc FBO its Customers\") and a `blockchain` origin. This is what the recipient sees as the sender. Like `accountHolder` and unlike `id`, it is populated as soon as it is determinable, so it appears on Quote, Deposit Address and Virtual Account responses as well as Transactions. Left out whenever `accountHolder` is, and when the customer's name cannot be read at that moment.","uniqueKey":"destination.oneOf.5.payoutOrigin.accountHolderName","typeLabel":"string"}},"description":"Where last-mile delivery is sent *from*, as a uniform `{type, id}` reference — response-only. `id` is the Virtual Account (`va_`) or OMS wallet (`wlt_`) funding the leg; left out before execution (Quote / Deposit Address echo the choice only) or when the origin has no partner-visible resource. Rail identifiers for the last-mile transfer live in the top-level `tracking` array with `leg: destination` — not here.","uniqueKey":"destination.oneOf.5.payoutOrigin","typeLabel":"object"},"companyDiscretionaryData":{"type":"string","description":"Echo of the ACH companyDiscretionaryData supplied on the originating request. Null/absent on non-ACH destinations or when not supplied.","uniqueKey":"destination.oneOf.5.companyDiscretionaryData","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.5","typeLabel":"Canadian bank account · object"},{"type":"object","title":"Card","description":"The receiving side, echoed from the request with resolved instrument detail.","required":["type","asset"],"properties":{"type":{"type":"string","enum":["card"],"isRequired":true,"uniqueKey":"destination.oneOf.6.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","enum":["usd"],"description":"Lowercase asset.","isRequired":true,"uniqueKey":"destination.oneOf.6.asset","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The external account (`ext_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","uniqueKey":"destination.oneOf.6.id","typeLabel":"string"},"network":{"type":"string","enum":["card"],"description":"The rail the money moves on.","uniqueKey":"destination.oneOf.6.network","typeLabel":"enum\u003cstring>"},"owner":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["counterparty","customer"],"description":"`counterparty`, or `customer` for another customer's account.","isRequired":true,"uniqueKey":"destination.oneOf.6.owner.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The counterparty (`ctp_`) or customer (`cst_`).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"destination.oneOf.6.owner.id","typeLabel":"string"},"name":{"type":"string","description":"The counterparty's name. A customer's name is on the customer resource.","uniqueKey":"destination.oneOf.6.owner.name","typeLabel":"string"}},"description":"Who owns an account that is not the resource's customer's.","uniqueKey":"destination.oneOf.6.owner","typeLabel":"object"},"details":{"type":"object","properties":{"brand":{"type":"string","enum":["visa","mastercard","amex","discover"],"description":"Card network/brand. Derived server-side from the PAN; never accepted on a request.","uniqueKey":"destination.oneOf.6.details.brand","typeLabel":"enum\u003cstring>"},"last4":{"type":"string","uniqueKey":"destination.oneOf.6.details.last4","typeLabel":"string"},"cardType":{"type":"string","enum":["debit","credit","prepaid"],"description":"Card funding type, derived server-side from the PAN. Only `debit` is supported today; `credit` and `prepaid` are reserved for future push-to-card / pull-from-card support.","uniqueKey":"destination.oneOf.6.details.cardType","typeLabel":"enum\u003cstring>"},"expiryMonth":{"type":"integer","format":"int32","uniqueKey":"destination.oneOf.6.details.expiryMonth","typeLabel":"integer\u003cint32>"},"expiryYear":{"type":"integer","format":"int32","uniqueKey":"destination.oneOf.6.details.expiryYear","typeLabel":"integer\u003cint32>"},"billingAddressSource":{"type":"string","enum":["provided","customerDefault"],"description":"Where a card's billing address came from. `provided` = supplied on the request; `customerDefault` = filled from the owning customer's address because the request omitted it.","uniqueKey":"destination.oneOf.6.details.billingAddressSource","typeLabel":"enum\u003cstring>"}},"description":"Card details.","uniqueKey":"destination.oneOf.6.details","typeLabel":"object"},"payoutOrigin":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["bank","blockchain"],"isRequired":true,"uniqueKey":"destination.oneOf.6.payoutOrigin.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"Public TypeID, e.g. `txn_01h455vb4pex5vsknk084sn02q`.","x-go-type":"string","uniqueKey":"destination.oneOf.6.payoutOrigin.id","typeLabel":"string"},"accountHolder":{"type":"string","description":"Whose legal identity the payment is sent under. Determined by OMS from the route's configuration — not a request field. Left out when OMS cannot determine it, and on destinations that have no sending legal identity (cash payouts, and crypto payouts outside a Deposit Address). A bank payout that goes out under the payment provider or the partner records that holder just before it is sent to the provider, and reports it only while a payout was or may have been created there; a send interrupted after the holder was recorded and before it went out has an unknown outcome and may report it. A failed send known to have created no payout at the provider, and a payout sent before holders were recorded whose holder could not be recovered afterwards, report the fallback value instead, which may differ from the holder actually used. The fallback value, also reported before a holder is recorded and for payouts that always go out under the customer's own name, is the holder the Deposit Address fixed for the destination type the transaction pays on a transaction created from a Deposit Address, and the value its route implies on any other.","enum":["customer","paymentProvider","partner"],"uniqueKey":"destination.oneOf.6.payoutOrigin.accountHolder","typeLabel":"enum\u003cstring>"},"accountHolderName":{"type":"string","description":"The legal name the payment is sent under, resolved from `accountHolder` — the customer's own legal name for `customer`, the owning customer's legal name for `partner` (for now; a partner-level name may replace it later), or the payment provider's name for `paymentProvider`, which differs between a `bank` origin (\"Coinme Inc FBO its Customers\") and a `blockchain` origin. This is what the recipient sees as the sender. Like `accountHolder` and unlike `id`, it is populated as soon as it is determinable, so it appears on Quote, Deposit Address and Virtual Account responses as well as Transactions. Left out whenever `accountHolder` is, and when the customer's name cannot be read at that moment.","uniqueKey":"destination.oneOf.6.payoutOrigin.accountHolderName","typeLabel":"string"}},"description":"Where last-mile delivery is sent *from*, as a uniform `{type, id}` reference — response-only. `id` is the Virtual Account (`va_`) or OMS wallet (`wlt_`) funding the leg; left out before execution (Quote / Deposit Address echo the choice only) or when the origin has no partner-visible resource. Rail identifiers for the last-mile transfer live in the top-level `tracking` array with `leg: destination` — not here.","uniqueKey":"destination.oneOf.6.payoutOrigin","typeLabel":"object"},"companyDiscretionaryData":{"type":"string","description":"Echo of the ACH companyDiscretionaryData supplied on the originating request. Null/absent on non-ACH destinations or when not supplied.","uniqueKey":"destination.oneOf.6.companyDiscretionaryData","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.6","typeLabel":"Card · object"},{"type":"object","title":"Cash","description":"The receiving side, echoed from the request with resolved instrument detail.","required":["type","asset"],"properties":{"type":{"type":"string","enum":["cash"],"isRequired":true,"uniqueKey":"destination.oneOf.7.type","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","description":"Lowercase asset.","isRequired":true,"uniqueKey":"destination.oneOf.7.asset","typeLabel":"string"},"details":{"type":"object","properties":{"locationId":{"type":"string","uniqueKey":"destination.oneOf.7.details.locationId","typeLabel":"string"},"locationName":{"type":"string","uniqueKey":"destination.oneOf.7.details.locationName","typeLabel":"string"},"locationAddress":{"type":"object","properties":{"line1":{"type":"string","description":"Street address, line 1.","uniqueKey":"destination.oneOf.7.details.locationAddress.line1","typeLabel":"string"},"line2":{"type":"string","description":"Street address, line 2.","uniqueKey":"destination.oneOf.7.details.locationAddress.line2","typeLabel":"string"},"city":{"type":"string","description":"City.","uniqueKey":"destination.oneOf.7.details.locationAddress.city","typeLabel":"string"},"state":{"type":"string","description":"State / province / region.","uniqueKey":"destination.oneOf.7.details.locationAddress.state","typeLabel":"string"},"country":{"type":"string","description":"ISO 3166-1 alpha-2","uniqueKey":"destination.oneOf.7.details.locationAddress.country","typeLabel":"string"},"zipCode":{"type":"string","description":"ZIP / postal code.","uniqueKey":"destination.oneOf.7.details.locationAddress.zipCode","typeLabel":"string"}},"description":"A postal address. country is an ISO 3166-1 alpha-2 country code.","uniqueKey":"destination.oneOf.7.details.locationAddress","typeLabel":"object"},"locationProvider":{"type":"string","description":"The cash network the location belongs to, lowercase, such as `greendot`.","uniqueKey":"destination.oneOf.7.details.locationProvider","typeLabel":"string"}},"description":"Cash location details.","uniqueKey":"destination.oneOf.7.details","typeLabel":"object"},"payoutOrigin":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["bank","blockchain"],"isRequired":true,"uniqueKey":"destination.oneOf.7.payoutOrigin.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"Public TypeID, e.g. `txn_01h455vb4pex5vsknk084sn02q`.","x-go-type":"string","uniqueKey":"destination.oneOf.7.payoutOrigin.id","typeLabel":"string"},"accountHolder":{"type":"string","description":"Whose legal identity the payment is sent under. Determined by OMS from the route's configuration — not a request field. Left out when OMS cannot determine it, and on destinations that have no sending legal identity (cash payouts, and crypto payouts outside a Deposit Address). A bank payout that goes out under the payment provider or the partner records that holder just before it is sent to the provider, and reports it only while a payout was or may have been created there; a send interrupted after the holder was recorded and before it went out has an unknown outcome and may report it. A failed send known to have created no payout at the provider, and a payout sent before holders were recorded whose holder could not be recovered afterwards, report the fallback value instead, which may differ from the holder actually used. The fallback value, also reported before a holder is recorded and for payouts that always go out under the customer's own name, is the holder the Deposit Address fixed for the destination type the transaction pays on a transaction created from a Deposit Address, and the value its route implies on any other.","enum":["customer","paymentProvider","partner"],"uniqueKey":"destination.oneOf.7.payoutOrigin.accountHolder","typeLabel":"enum\u003cstring>"},"accountHolderName":{"type":"string","description":"The legal name the payment is sent under, resolved from `accountHolder` — the customer's own legal name for `customer`, the owning customer's legal name for `partner` (for now; a partner-level name may replace it later), or the payment provider's name for `paymentProvider`, which differs between a `bank` origin (\"Coinme Inc FBO its Customers\") and a `blockchain` origin. This is what the recipient sees as the sender. Like `accountHolder` and unlike `id`, it is populated as soon as it is determinable, so it appears on Quote, Deposit Address and Virtual Account responses as well as Transactions. Left out whenever `accountHolder` is, and when the customer's name cannot be read at that moment.","uniqueKey":"destination.oneOf.7.payoutOrigin.accountHolderName","typeLabel":"string"}},"description":"Where last-mile delivery is sent *from*, as a uniform `{type, id}` reference — response-only. `id` is the Virtual Account (`va_`) or OMS wallet (`wlt_`) funding the leg; left out before execution (Quote / Deposit Address echo the choice only) or when the origin has no partner-visible resource. Rail identifiers for the last-mile transfer live in the top-level `tracking` array with `leg: destination` — not here.","uniqueKey":"destination.oneOf.7.payoutOrigin","typeLabel":"object"},"pickupCode":{"type":"string","description":"Retail pickup code for a cash payout. Populated only on cash-out (pickup) destinations.","uniqueKey":"destination.oneOf.7.pickupCode","typeLabel":"string"},"companyDiscretionaryData":{"type":"string","description":"Echo of the ACH companyDiscretionaryData supplied on the originating request. Null/absent on non-ACH destinations or when not supplied.","uniqueKey":"destination.oneOf.7.companyDiscretionaryData","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.7","typeLabel":"Cash · object"}],"isRequired":true,"uniqueKey":"destination","typeLabel":"OMS wallet · object | External wallet · object | Fiat wallet · object | US bank account · object | IBAN bank account · object | Canadian bank account · object | Card · object | Cash · object"},"pricing":{"type":"object","description":"Consolidated economics.","required":["fees"],"properties":{"fees":{"type":"array","items":{"type":"object","required":["type","side","asset","amount"],"properties":{"type":{"type":"string","description":"Fee kind. OPEN — clients must tolerate an unrecognised type. Known values today: \"developer\", \"oms\", \"gas\".","isRequired":true,"uniqueKey":"pricing.fees.items.[INDEX].type","typeLabel":"string"},"side":{"type":"string","enum":["source","destination"],"description":"Which side this fee was deducted from.","isRequired":true,"uniqueKey":"pricing.fees.items.[INDEX].side","typeLabel":"enum\u003cstring>"},"asset":{"type":"string","description":"Currency this fee is denominated in — that side's asset.","isRequired":true,"uniqueKey":"pricing.fees.items.[INDEX].asset","typeLabel":"string"},"amount":{"type":"string","description":"Fee amount in `asset`, at the asset's precision.","isRequired":true,"uniqueKey":"pricing.fees.items.[INDEX].amount","typeLabel":"string"}},"description":"A fee charged on one side of a quote, transaction or cash-in. A fee is listed only when it is not zero.","uniqueKey":"pricing.fees.items.[INDEX]","typeLabel":"object"},"description":"Every fee charged across both sides. `[]` when there are none — never omitted, never null.","isRequired":true,"uniqueKey":"pricing.fees","typeLabel":"object[]"},"source":{"type":"object","description":"The source side, in the source asset.","required":["asset"],"properties":{"asset":{"type":"string","description":"Lowercase asset of this side, the same as the side's instrument asset.","isRequired":true,"uniqueKey":"pricing.source.asset","typeLabel":"string"},"amount":{"type":"string","description":"On the source, the gross amount the customer pays; on the destination, the amount that arrives. A decimal string at the asset's precision. Always set on the source; set on the destination once priced.","uniqueKey":"pricing.source.amount","typeLabel":"string"}},"uniqueKey":"pricing.source","typeLabel":"object"},"destination":{"type":"object","description":"The destination side, in the destination asset.","required":["asset"],"properties":{"asset":{"type":"string","description":"Lowercase asset of this side, the same as the side's instrument asset.","isRequired":true,"uniqueKey":"pricing.destination.asset","typeLabel":"string"},"amount":{"type":"string","description":"On the source, the gross amount the customer pays; on the destination, the amount that arrives. A decimal string at the asset's precision. Always set on the source; set on the destination once priced.","uniqueKey":"pricing.destination.amount","typeLabel":"string"}},"uniqueKey":"pricing.destination","typeLabel":"object"},"exchangeRate":{"type":"string","description":"Mid-market rate from the source asset to the destination asset, set together with the destination amount. Identity: (source.amount − Σ source fees) × exchangeRate = destination.amount + Σ destination fees.","uniqueKey":"pricing.exchangeRate","typeLabel":"string"},"fixedAmountSide":{"type":"string","enum":["source","destination"],"description":"The side whose amount was fixed at creation. OMS calculated the other side.","uniqueKey":"pricing.fixedAmountSide","typeLabel":"enum\u003cstring>"},"sponsorGas":{"type":"boolean","description":"Present and `true` when OMS absorbs the destination gas cost; omitted otherwise.","uniqueKey":"pricing.sponsorGas","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"pricing","typeLabel":"object"},"sourceToDestination":{"type":"string","description":"Corridor composite derived from the two sides.","enum":["cryptoToCrypto","cryptoToCash","cryptoToFiatAccount","cashToCrypto","fiatAccountToCrypto","fiatAccountToFiatAccount"],"uniqueKey":"sourceToDestination","typeLabel":"enum\u003cstring>"},"customer":{"type":"object","description":"Display-safe summary of the owning customer (`customer.id` equals `customerId`). Omitted when the customer cannot be resolved.","required":["id","name"],"properties":{"id":{"type":"string","description":"The OMS customer id (`cst_` prefix).","pattern":"^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","x-go-type":"string","isRequired":true,"uniqueKey":"customer.id","typeLabel":"string"},"name":{"type":"string","description":"Customer display name.","isRequired":true,"uniqueKey":"customer.name","typeLabel":"string"}},"uniqueKey":"customer","typeLabel":"object"},"expiresAt":{"type":"string","format":"date-time","description":"When the locked pricing expires.","uniqueKey":"expiresAt","typeLabel":"string\u003cdate-time>"},"createdAt":{"type":"string","format":"date-time","description":"When the quote was created.","uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"metadata":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"metadata.additionalProperties","typeLabel":"string"},"description":"Free-form key-value pairs supplied at creation or update.","uniqueKey":"metadata","typeLabel":"object"}},"description":"A price quote for moving money between two instruments. It locks an exchange rate and the amounts for a short window; execute it by creating a transaction that references this quote's id.","example":{"id":"qt_0gq9aesz4wb5etdv88z1j61qcm","object":"quote","status":"open","sourceToDestination":"cryptoToFiatAccount","customerId":"cst_vfa0nxw6zvyws9g237jrxn4y7k","customer":{"id":"cst_vfa0nxw6zvyws9g237jrxn4y7k","name":"Jane Smith"},"source":{"type":"walletCrypto","id":"wlt_5h4jzzpr9xre3bamd9ca7qyghn","asset":"usdc","network":"polygon","details":{"address":"0x7B3A9F2C4D1eA8bf6390cE5D2b7fA104c8e3D9B1"}},"destination":{"owner":{"kind":"counterparty","id":"ctp_yp5z8m7n22svc0vh6edqgcfdat","name":"Alice Smith"},"type":"bankUs","id":"ext_fky491gakzj0dd46qb6whsr2vq","asset":"usd","network":"ach","details":{"accountNumberLast4":"1234","holderName":"Alice Smith"},"payoutOrigin":{"type":"bank","accountHolder":"customer","accountHolderName":"Jane Smith"}},"pricing":{"source":{"asset":"usdc","amount":"100.000000"},"destination":{"asset":"usd","amount":"100.00"},"fees":[],"exchangeRate":"1.0000","fixedAmountSide":"source","sponsorGas":true},"expiresAt":"2026-03-14T19:15:00Z","createdAt":"2026-03-14T19:00:00Z"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"qt_0gq9aesz4wb5etdv88z1j61qcm","object":"quote","status":"open","sourceToDestination":"cryptoToFiatAccount","customerId":"cst_vfa0nxw6zvyws9g237jrxn4y7k","customer":{"id":"cst_vfa0nxw6zvyws9g237jrxn4y7k","name":"Jane Smith"},"source":{"type":"walletCrypto","id":"wlt_5h4jzzpr9xre3bamd9ca7qyghn","asset":"usdc","network":"polygon","details":{"address":"0x7B3A9F2C4D1eA8bf6390cE5D2b7fA104c8e3D9B1"}},"destination":{"owner":{"kind":"counterparty","id":"ctp_yp5z8m7n22svc0vh6edqgcfdat","name":"Alice Smith"},"type":"bankUs","id":"ext_fky491gakzj0dd46qb6whsr2vq","asset":"usd","network":"ach","details":{"accountNumberLast4":"1234","holderName":"Alice Smith"},"payoutOrigin":{"type":"bank","accountHolder":"customer","accountHolderName":"Jane Smith"}},"pricing":{"source":{"asset":"usdc","amount":"100.000000"},"destination":{"asset":"usd","amount":"100.00"},"fees":[],"exchangeRate":"1.0000","fixedAmountSide":"source","sponsorGas":true},"expiresAt":"2026-03-14T19:15:00Z","createdAt":"2026-03-14T19:00:00Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"a1a20f69-405c-4022-b002-f6c89c5c779f":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["CustomerRequired"],"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10125],"isRequired":true,"uniqueKey":"oneOf.0.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["customer_id is required"],"isRequired":true,"uniqueKey":"oneOf.0.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.0.cause","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DestinationAssetRequired"],"isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10128],"isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination.asset is required"],"isRequired":true,"uniqueKey":"oneOf.1.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.1.cause","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DestinationNetworkRequired"],"isRequired":true,"uniqueKey":"oneOf.2.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10130],"isRequired":true,"uniqueKey":"oneOf.2.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination.network is required"],"isRequired":true,"uniqueKey":"oneOf.2.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.2.cause","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["InvalidAmountFormat"],"isRequired":true,"uniqueKey":"oneOf.3.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10016],"isRequired":true,"uniqueKey":"oneOf.3.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["amount must be positive"],"isRequired":true,"uniqueKey":"oneOf.3.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.3.cause","typeLabel":"string"}},"uniqueKey":"oneOf.3","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["InvalidDestinationType"],"isRequired":true,"uniqueKey":"oneOf.4.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10142],"isRequired":true,"uniqueKey":"oneOf.4.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination has an unsupported or missing type"],"isRequired":true,"uniqueKey":"oneOf.4.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.4.cause","typeLabel":"string"}},"uniqueKey":"oneOf.4","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["InvalidExternalAccountID"],"isRequired":true,"uniqueKey":"oneOf.5.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10067],"isRequired":true,"uniqueKey":"oneOf.5.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["invalid destination external account id"],"isRequired":true,"uniqueKey":"oneOf.5.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.5.cause","typeLabel":"string"}},"uniqueKey":"oneOf.5","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["InvalidMetadata"],"isRequired":true,"uniqueKey":"oneOf.6.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10133],"isRequired":true,"uniqueKey":"oneOf.6.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["invalid metadata"],"isRequired":true,"uniqueKey":"oneOf.6.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.6.cause","typeLabel":"string"}},"uniqueKey":"oneOf.6","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["InvalidRequest"],"isRequired":true,"uniqueKey":"oneOf.7.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10005],"isRequired":true,"uniqueKey":"oneOf.7.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["the request is invalid"],"isRequired":true,"uniqueKey":"oneOf.7.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.7.cause","typeLabel":"string"}},"uniqueKey":"oneOf.7","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["InvalidSourceType"],"isRequired":true,"uniqueKey":"oneOf.8.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10141],"isRequired":true,"uniqueKey":"oneOf.8.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["source has an unsupported or missing type"],"isRequired":true,"uniqueKey":"oneOf.8.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.8.cause","typeLabel":"string"}},"uniqueKey":"oneOf.8","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["InvalidWalletAddress"],"isRequired":true,"uniqueKey":"oneOf.9.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10112],"isRequired":true,"uniqueKey":"oneOf.9.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination.wallet.blockchainAddress is not valid for destination.network"],"isRequired":true,"uniqueKey":"oneOf.9.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.9.cause","typeLabel":"string"}},"uniqueKey":"oneOf.9","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["InvalidWalletID"],"isRequired":true,"uniqueKey":"oneOf.10.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10138],"isRequired":true,"uniqueKey":"oneOf.10.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["invalid source fiat wallet id"],"isRequired":true,"uniqueKey":"oneOf.10.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.10.cause","typeLabel":"string"}},"uniqueKey":"oneOf.10","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["InvalidWalletTarget"],"isRequired":true,"uniqueKey":"oneOf.11.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10131],"isRequired":true,"uniqueKey":"oneOf.11.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination.wallet is required"],"isRequired":true,"uniqueKey":"oneOf.11.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.11.cause","typeLabel":"string"}},"uniqueKey":"oneOf.11","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["MetadataKeyTooLong"],"isRequired":true,"uniqueKey":"oneOf.12.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10075],"isRequired":true,"uniqueKey":"oneOf.12.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["metadata key must be 64 characters or fewer"],"isRequired":true,"uniqueKey":"oneOf.12.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.12.cause","typeLabel":"string"}},"uniqueKey":"oneOf.12","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["MetadataTooManyKeys"],"isRequired":true,"uniqueKey":"oneOf.13.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10074],"isRequired":true,"uniqueKey":"oneOf.13.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["metadata may have at most 20 keys"],"isRequired":true,"uniqueKey":"oneOf.13.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.13.cause","typeLabel":"string"}},"uniqueKey":"oneOf.13","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["MetadataValueTooLong"],"isRequired":true,"uniqueKey":"oneOf.14.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10076],"isRequired":true,"uniqueKey":"oneOf.14.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["metadata value must be 500 characters or fewer"],"isRequired":true,"uniqueKey":"oneOf.14.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.14.cause","typeLabel":"string"}},"uniqueKey":"oneOf.14","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["MissingCashLocation"],"isRequired":true,"uniqueKey":"oneOf.15.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10132],"isRequired":true,"uniqueKey":"oneOf.15.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["cash location not found"],"isRequired":true,"uniqueKey":"oneOf.15.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.15.cause","typeLabel":"string"}},"uniqueKey":"oneOf.15","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["MissingRequiredField"],"isRequired":true,"uniqueKey":"oneOf.16.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10154],"isRequired":true,"uniqueKey":"oneOf.16.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination.cash is required for cash off-ramp"],"isRequired":true,"uniqueKey":"oneOf.16.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.16.cause","typeLabel":"string"}},"uniqueKey":"oneOf.16","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["SourceAssetRequired"],"isRequired":true,"uniqueKey":"oneOf.17.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10127],"isRequired":true,"uniqueKey":"oneOf.17.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["source.asset is required"],"isRequired":true,"uniqueKey":"oneOf.17.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.17.cause","typeLabel":"string"}},"uniqueKey":"oneOf.17","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["SourceNetworkRequired"],"isRequired":true,"uniqueKey":"oneOf.18.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10129],"isRequired":true,"uniqueKey":"oneOf.18.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["source.network is required"],"isRequired":true,"uniqueKey":"oneOf.18.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.18.cause","typeLabel":"string"}},"uniqueKey":"oneOf.18","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["SourceWalletRequired"],"isRequired":true,"uniqueKey":"oneOf.19.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10126],"isRequired":true,"uniqueKey":"oneOf.19.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["source.details.id is required"],"isRequired":true,"uniqueKey":"oneOf.19.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.19.cause","typeLabel":"string"}},"uniqueKey":"oneOf.19","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["UnsupportedValue"],"isRequired":true,"uniqueKey":"oneOf.20.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10017],"isRequired":true,"uniqueKey":"oneOf.20.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["unsupported value"],"isRequired":true,"uniqueKey":"oneOf.20.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.20.cause","typeLabel":"string"}},"uniqueKey":"oneOf.20","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["ZeroAddressNotAllowed"],"isRequired":true,"uniqueKey":"oneOf.21.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10050],"isRequired":true,"uniqueKey":"oneOf.21.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["blockchainAddress must not be the zero (burn) address"],"isRequired":true,"uniqueKey":"oneOf.21.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.21.cause","typeLabel":"string"}},"uniqueKey":"oneOf.21","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"CustomerRequired","code":10125,"msg":"customer_id is required","cause":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"efb6a95e-f809-4ac2-80bf-ff4905592455":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["FeatureNotEnabled"],"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10153],"isRequired":true,"uniqueKey":"oneOf.0.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["cash offramp is not enabled for this partner"],"isRequired":true,"uniqueKey":"oneOf.0.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.0.cause","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["KYCPending"],"isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10009],"isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["customer KYC is pending; retry shortly"],"isRequired":true,"uniqueKey":"oneOf.1.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.1.cause","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["KYCRequired"],"isRequired":true,"uniqueKey":"oneOf.2.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10008],"isRequired":true,"uniqueKey":"oneOf.2.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["customer KYC verification is required"],"isRequired":true,"uniqueKey":"oneOf.2.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.2.cause","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["TransferPairNotPermitted"],"isRequired":true,"uniqueKey":"oneOf.3.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10012],"isRequired":true,"uniqueKey":"oneOf.3.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["transfer pair not permitted"],"isRequired":true,"uniqueKey":"oneOf.3.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.3.cause","typeLabel":"string"}},"uniqueKey":"oneOf.3","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"FeatureNotEnabled","code":10153,"msg":"cash offramp is not enabled for this partner","cause":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"3c36399a-febb-44ce-822e-656d307de642":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["ExternalAccountNotFound"],"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10066],"isRequired":true,"uniqueKey":"oneOf.0.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["external account not found"],"isRequired":true,"uniqueKey":"oneOf.0.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.0.cause","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["QuoteNotFound"],"isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10260],"isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["quote not found"],"isRequired":true,"uniqueKey":"oneOf.1.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.1.cause","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["WalletNotFound"],"isRequired":true,"uniqueKey":"oneOf.2.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10015],"isRequired":true,"uniqueKey":"oneOf.2.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["fiat wallet not found"],"isRequired":true,"uniqueKey":"oneOf.2.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.2.cause","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"ExternalAccountNotFound","code":10066,"msg":"external account not found","cause":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"5b6780d5-49db-41e8-b26c-23b77430d043":{"description":"Client error","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["AboveMaximumAmount"],"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10110],"isRequired":true,"uniqueKey":"oneOf.0.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["amount exceeds the maximum (cash_onramp legacy)"],"isRequired":true,"uniqueKey":"oneOf.0.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.0.cause","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["AmbiguousAmount"],"isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10162],"isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["only one of source.amount or destination.amount may be specified"],"isRequired":true,"uniqueKey":"oneOf.1.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.1.cause","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["AmountAboveMaximum"],"isRequired":true,"uniqueKey":"oneOf.2.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10136],"isRequired":true,"uniqueKey":"oneOf.2.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["amount exceeds the maximum"],"isRequired":true,"uniqueKey":"oneOf.2.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.2.cause","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["AmountBelowMinimum"],"isRequired":true,"uniqueKey":"oneOf.3.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10135],"isRequired":true,"uniqueKey":"oneOf.3.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["amount is below the minimum"],"isRequired":true,"uniqueKey":"oneOf.3.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.3.cause","typeLabel":"string"}},"uniqueKey":"oneOf.3","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["AmountNotMultiple"],"isRequired":true,"uniqueKey":"oneOf.4.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10223],"isRequired":true,"uniqueKey":"oneOf.4.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["amount is not a multiple of the required increment"],"isRequired":true,"uniqueKey":"oneOf.4.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.4.cause","typeLabel":"string"}},"uniqueKey":"oneOf.4","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["AmountNotMultipleOfTwenty"],"isRequired":true,"uniqueKey":"oneOf.5.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10163],"isRequired":true,"uniqueKey":"oneOf.5.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["amount is not a multiple of the required increment (v0.10 cash pickup)"],"isRequired":true,"uniqueKey":"oneOf.5.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.5.cause","typeLabel":"string"}},"uniqueKey":"oneOf.5","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["AmountRequired"],"isRequired":true,"uniqueKey":"oneOf.6.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10161],"isRequired":true,"uniqueKey":"oneOf.6.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["source.amount or destination.amount is required"],"isRequired":true,"uniqueKey":"oneOf.6.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.6.cause","typeLabel":"string"}},"uniqueKey":"oneOf.6","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["BankBeneficiaryNotVerified"],"isRequired":true,"uniqueKey":"oneOf.7.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10293],"isRequired":true,"uniqueKey":"oneOf.7.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["bank beneficiary is not verified"],"isRequired":true,"uniqueKey":"oneOf.7.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.7.cause","typeLabel":"string"}},"uniqueKey":"oneOf.7","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["BankRailNotSupported"],"isRequired":true,"uniqueKey":"oneOf.8.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10294],"isRequired":true,"uniqueKey":"oneOf.8.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["bank payment rail is not supported for this beneficiary"],"isRequired":true,"uniqueKey":"oneOf.8.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.8.cause","typeLabel":"string"}},"uniqueKey":"oneOf.8","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["CardNotEnabledForProject"],"isRequired":true,"uniqueKey":"oneOf.9.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10336],"isRequired":true,"uniqueKey":"oneOf.9.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["cards are not enabled for this project"],"isRequired":true,"uniqueKey":"oneOf.9.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.9.cause","typeLabel":"string"}},"uniqueKey":"oneOf.9","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["CashPayoutExceedsMaximum"],"isRequired":true,"uniqueKey":"oneOf.10.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10164],"isRequired":true,"uniqueKey":"oneOf.10.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["amount exceeds the maximum (v0.10 cash pickup)"],"isRequired":true,"uniqueKey":"oneOf.10.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.10.cause","typeLabel":"string"}},"uniqueKey":"oneOf.10","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["CashPickupNotAllowedInCountry"],"isRequired":true,"uniqueKey":"oneOf.11.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10155],"isRequired":true,"uniqueKey":"oneOf.11.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["cash pickup is only available in the customer's registered country"],"isRequired":true,"uniqueKey":"oneOf.11.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.11.cause","typeLabel":"string"}},"uniqueKey":"oneOf.11","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["CashPickupNotAllowedInState"],"isRequired":true,"uniqueKey":"oneOf.12.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10156],"isRequired":true,"uniqueKey":"oneOf.12.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["cash pickup is only available in the customer's registered state"],"isRequired":true,"uniqueKey":"oneOf.12.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.12.cause","typeLabel":"string"}},"uniqueKey":"oneOf.12","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["CryptoToCryptoExternalAddressUnsupported"],"isRequired":true,"uniqueKey":"oneOf.13.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10311],"isRequired":true,"uniqueKey":"oneOf.13.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["this route does not deliver crypto-to-crypto transfers to a raw destination.details.blockchainAddress; use destination.type walletCrypto with destination.details.id for a wallet registered in OMS"],"isRequired":true,"uniqueKey":"oneOf.13.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.13.cause","typeLabel":"string"}},"uniqueKey":"oneOf.13","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DailyCountExceeded"],"isRequired":true,"uniqueKey":"oneOf.14.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10224],"isRequired":true,"uniqueKey":"oneOf.14.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["daily transaction count limit reached"],"isRequired":true,"uniqueKey":"oneOf.14.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.14.cause","typeLabel":"string"}},"uniqueKey":"oneOf.14","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DailyLimitExceeded"],"isRequired":true,"uniqueKey":"oneOf.15.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10010],"isRequired":true,"uniqueKey":"oneOf.15.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["daily limit exceeded"],"isRequired":true,"uniqueKey":"oneOf.15.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.15.cause","typeLabel":"string"}},"uniqueKey":"oneOf.15","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DestinationAssetUnsupported"],"isRequired":true,"uniqueKey":"oneOf.16.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10182],"isRequired":true,"uniqueKey":"oneOf.16.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination.details.asset is not a fiat asset the resolved bank flavour settles"],"isRequired":true,"uniqueKey":"oneOf.16.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.16.cause","typeLabel":"string"}},"uniqueKey":"oneOf.16","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DestinationExternalAccountAddressMissing"],"isRequired":true,"uniqueKey":"oneOf.17.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10322],"isRequired":true,"uniqueKey":"oneOf.17.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination external account has no registered blockchain address"],"isRequired":true,"uniqueKey":"oneOf.17.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.17.cause","typeLabel":"string"}},"uniqueKey":"oneOf.17","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DestinationExternalAccountNetworkMismatch"],"isRequired":true,"uniqueKey":"oneOf.18.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10323],"isRequired":true,"uniqueKey":"oneOf.18.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination external account is registered on a different network family than the requested destination network"],"isRequired":true,"uniqueKey":"oneOf.18.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.18.cause","typeLabel":"string"}},"uniqueKey":"oneOf.18","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DestinationExternalAccountNotActive"],"isRequired":true,"uniqueKey":"oneOf.19.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10321],"isRequired":true,"uniqueKey":"oneOf.19.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination external account is not active"],"isRequired":true,"uniqueKey":"oneOf.19.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.19.cause","typeLabel":"string"}},"uniqueKey":"oneOf.19","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DestinationExternalAccountNotWalletExternal"],"isRequired":true,"uniqueKey":"oneOf.20.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10320],"isRequired":true,"uniqueKey":"oneOf.20.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination external account is not a walletExternal account"],"isRequired":true,"uniqueKey":"oneOf.20.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.20.cause","typeLabel":"string"}},"uniqueKey":"oneOf.20","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DestinationExternalAccountVendorMismatch"],"isRequired":true,"uniqueKey":"oneOf.21.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10325],"isRequired":true,"uniqueKey":"oneOf.21.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination external account was provisioned by a different vendor than the route"],"isRequired":true,"uniqueKey":"oneOf.21.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.21.cause","typeLabel":"string"}},"uniqueKey":"oneOf.21","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DestinationInvalidReference"],"isRequired":true,"uniqueKey":"oneOf.22.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10177],"isRequired":true,"uniqueKey":"oneOf.22.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["invalid destination.details.id"],"isRequired":true,"uniqueKey":"oneOf.22.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.22.cause","typeLabel":"string"}},"uniqueKey":"oneOf.22","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DestinationNetworkNotSupportedByProvider"],"isRequired":true,"uniqueKey":"oneOf.23.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10324],"isRequired":true,"uniqueKey":"oneOf.23.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["the requested destination network has no provider chain mapping and cannot be delivered to"],"isRequired":true,"uniqueKey":"oneOf.23.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.23.cause","typeLabel":"string"}},"uniqueKey":"oneOf.23","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DestinationRequired"],"isRequired":true,"uniqueKey":"oneOf.24.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10176],"isRequired":true,"uniqueKey":"oneOf.24.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination.details.id is required"],"isRequired":true,"uniqueKey":"oneOf.24.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.24.cause","typeLabel":"string"}},"uniqueKey":"oneOf.24","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["DestinationTypeInvalid"],"isRequired":true,"uniqueKey":"oneOf.25.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10175],"isRequired":true,"uniqueKey":"oneOf.25.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination type is not a known bank-EA discriminator"],"isRequired":true,"uniqueKey":"oneOf.25.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.25.cause","typeLabel":"string"}},"uniqueKey":"oneOf.25","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["InsufficientBalance"],"isRequired":true,"uniqueKey":"oneOf.26.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10249],"isRequired":true,"uniqueKey":"oneOf.26.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["available balance is less than the requested amount"],"isRequired":true,"uniqueKey":"oneOf.26.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.26.cause","typeLabel":"string"}},"uniqueKey":"oneOf.26","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["IntraBankNotSupported"],"isRequired":true,"uniqueKey":"oneOf.27.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10376],"isRequired":true,"uniqueKey":"oneOf.27.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["intra-bank requested on a project that has not enabled it"],"isRequired":true,"uniqueKey":"oneOf.27.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.27.cause","typeLabel":"string"}},"uniqueKey":"oneOf.27","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["MemoNotSupported"],"isRequired":true,"uniqueKey":"oneOf.28.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10023],"isRequired":true,"uniqueKey":"oneOf.28.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["memo is not supported on this rail"],"isRequired":true,"uniqueKey":"oneOf.28.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.28.cause","typeLabel":"string"}},"uniqueKey":"oneOf.28","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["MonthlyCountExceeded"],"isRequired":true,"uniqueKey":"oneOf.29.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10226],"isRequired":true,"uniqueKey":"oneOf.29.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["monthly transaction count limit reached"],"isRequired":true,"uniqueKey":"oneOf.29.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.29.cause","typeLabel":"string"}},"uniqueKey":"oneOf.29","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["MonthlyLimitExceeded"],"isRequired":true,"uniqueKey":"oneOf.30.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10221],"isRequired":true,"uniqueKey":"oneOf.30.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["monthly limit exceeded"],"isRequired":true,"uniqueKey":"oneOf.30.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.30.cause","typeLabel":"string"}},"uniqueKey":"oneOf.30","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["NoRouteAvailable"],"isRequired":true,"uniqueKey":"oneOf.31.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10013],"isRequired":true,"uniqueKey":"oneOf.31.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["no route available for this corridor"],"isRequired":true,"uniqueKey":"oneOf.31.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.31.cause","typeLabel":"string"}},"uniqueKey":"oneOf.31","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["ProductDailyLimitReached"],"isRequired":true,"uniqueKey":"oneOf.32.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10381],"isRequired":true,"uniqueKey":"oneOf.32.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["the daily instant payout limit has been reached"],"isRequired":true,"uniqueKey":"oneOf.32.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.32.cause","typeLabel":"string"}},"uniqueKey":"oneOf.32","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["RouteDisabled"],"isRequired":true,"uniqueKey":"oneOf.33.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10014],"isRequired":true,"uniqueKey":"oneOf.33.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["route is currently disabled"],"isRequired":true,"uniqueKey":"oneOf.33.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.33.cause","typeLabel":"string"}},"uniqueKey":"oneOf.33","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["SelfTransferNotAllowed"],"isRequired":true,"uniqueKey":"oneOf.34.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10140],"isRequired":true,"uniqueKey":"oneOf.34.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["self-transfer not allowed"],"isRequired":true,"uniqueKey":"oneOf.34.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.34.cause","typeLabel":"string"}},"uniqueKey":"oneOf.34","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["SellNotAllowedAtLocation"],"isRequired":true,"uniqueKey":"oneOf.35.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10157],"isRequired":true,"uniqueKey":"oneOf.35.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["the specified cash location does not allow sell transactions"],"isRequired":true,"uniqueKey":"oneOf.35.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.35.cause","typeLabel":"string"}},"uniqueKey":"oneOf.35","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["UnsupportedDestination"],"isRequired":true,"uniqueKey":"oneOf.36.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10146],"isRequired":true,"uniqueKey":"oneOf.36.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["destination network does not resolve to a supported fiat-out rail"],"isRequired":true,"uniqueKey":"oneOf.36.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.36.cause","typeLabel":"string"}},"uniqueKey":"oneOf.36","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["UnsupportedInstrumentCombination"],"isRequired":true,"uniqueKey":"oneOf.37.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10148],"isRequired":true,"uniqueKey":"oneOf.37.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["source/destination instrument combination is not supported"],"isRequired":true,"uniqueKey":"oneOf.37.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.37.cause","typeLabel":"string"}},"uniqueKey":"oneOf.37","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["Validation"],"isRequired":true,"uniqueKey":"oneOf.38.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10030],"isRequired":true,"uniqueKey":"oneOf.38.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["request validation failed"],"isRequired":true,"uniqueKey":"oneOf.38.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.38.cause","typeLabel":"string"}},"uniqueKey":"oneOf.38","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["WalletAssetMismatch"],"isRequired":true,"uniqueKey":"oneOf.39.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10139],"isRequired":true,"uniqueKey":"oneOf.39.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["source wallet asset/network does not match request"],"isRequired":true,"uniqueKey":"oneOf.39.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.39.cause","typeLabel":"string"}},"uniqueKey":"oneOf.39","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["WalletBoundToCustodialFlow"],"isRequired":true,"uniqueKey":"oneOf.40.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10317],"isRequired":true,"uniqueKey":"oneOf.40.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["this wallet's blockchain address is already bound to an active custodial deposit address or virtual account and cannot be used for this operation"],"isRequired":true,"uniqueKey":"oneOf.40.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.40.cause","typeLabel":"string"}},"uniqueKey":"oneOf.40","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["WalletClaimed"],"isRequired":true,"uniqueKey":"oneOf.41.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10357],"isRequired":true,"uniqueKey":"oneOf.41.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["this wallet is claimed by a live deposit address or virtual account and cannot fund a withdrawal while that claim stands"],"isRequired":true,"uniqueKey":"oneOf.41.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.41.cause","typeLabel":"string"}},"uniqueKey":"oneOf.41","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["WalletExternalIDUnsupported"],"isRequired":true,"uniqueKey":"oneOf.42.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10143],"isRequired":true,"uniqueKey":"oneOf.42.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["a walletExternal destination given by registered external-account id (ext_) is supported only on a custodial crypto-to-crypto or card-funded fiat-to-crypto route; this route cannot deliver to an external wallet"],"isRequired":true,"uniqueKey":"oneOf.42.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.42.cause","typeLabel":"string"}},"uniqueKey":"oneOf.42","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["WeeklyCountExceeded"],"isRequired":true,"uniqueKey":"oneOf.43.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10225],"isRequired":true,"uniqueKey":"oneOf.43.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["weekly transaction count limit reached"],"isRequired":true,"uniqueKey":"oneOf.43.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.43.cause","typeLabel":"string"}},"uniqueKey":"oneOf.43","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["WeeklyLimitExceeded"],"isRequired":true,"uniqueKey":"oneOf.44.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10222],"isRequired":true,"uniqueKey":"oneOf.44.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["weekly limit exceeded"],"isRequired":true,"uniqueKey":"oneOf.44.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.44.cause","typeLabel":"string"}},"uniqueKey":"oneOf.44","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"AboveMaximumAmount","code":10110,"msg":"amount exceeds the maximum (cash_onramp legacy)","cause":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"fb7a5e69-5b80-4ad2-a4f7-22fd570b8802":{"description":"Server error","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["Internal"],"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10124],"isRequired":true,"uniqueKey":"oneOf.0.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["internal error"],"isRequired":true,"uniqueKey":"oneOf.0.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.0.cause","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["LimitMisconfigured"],"isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10227],"isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["transfer limit is misconfigured"],"isRequired":true,"uniqueKey":"oneOf.1.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.1.cause","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Internal","code":10124,"msg":"internal error","cause":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"d4fa2cc9-3d56-4609-8b17-e26721bb22ad":{"description":"Service unavailable.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["BankRailUnavailable"],"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10295],"isRequired":true,"uniqueKey":"oneOf.0.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["bank payment rail is unavailable"],"isRequired":true,"uniqueKey":"oneOf.0.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.0.cause","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["error","code","msg"],"properties":{"error":{"type":"string","enum":["CardRailUnavailable"],"isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"enum\u003cstring>"},"code":{"type":"number","enum":[10145],"isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"enum\u003cnumber>"},"msg":{"type":"string","enum":["card payment rail is unavailable"],"isRequired":true,"uniqueKey":"oneOf.1.msg","typeLabel":"enum\u003cstring>"},"cause":{"type":"string","uniqueKey":"oneOf.1.cause","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"BankRailUnavailable","code":10295,"msg":"bank payment rail is unavailable","cause":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"7cb3f03a-dd48-413f-836d-b3b987f3ca59":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Token from POST /auth/token","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"5171b292-2587-4003-b902-7c9c8b5e8c45":{"url":"https://sandbox-api.polygon.technology/v0.13","description":"Sandbox"},"648ebbb9-4224-4903-ae0e-6397711f6143":{"url":"https://api.polygon.technology/v0.13","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Token from POST /auth/token","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Token from POST /auth/token","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"polygon-labs","siteName":"Polygon Developer Docs","title":"Create a payment quote - Polygon Developer Docs","contextualStarterQuestions":[],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T10:20:49.863Z","originalFileLocation":"api-reference/quote/create-a-payment-quote.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a payment quote with a locked exchange rate and fee breakdown for a prospective transfer. Quotes expire after a short window; reference the returned quote ID when executing the transaction. Pass an Idempotency-Key header to safely retry. A disallowed source→destination instrument pair is rejected with 422 unsupportedInstrumentCombination before any quote is created; the error body carries a details object of { source, destination, supportedDestinations }. (Not modeled as a typed error arm here so the other 422 codes on this operation keep their shape.)\">\u003cmeta data-mint-head name=\"application-name\" content=\"Polygon Developer Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/polygon-labs/mGaxVdHZf09e3t79/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/polygon-labs/mGaxVdHZf09e3t79/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/polygon-labs/mGaxVdHZf09e3t79/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/polygon-labs/mGaxVdHZf09e3t79/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/polygon-labs/mGaxVdHZf09e3t79/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/polygon-labs/mGaxVdHZf09e3t79/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/polygon-labs/mGaxVdHZf09e3t79/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/polygon-labs/mGaxVdHZf09e3t79/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/polygon-labs/mGaxVdHZf09e3t79/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a payment quote - Polygon Developer Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a payment quote with a locked exchange rate and fee breakdown for a prospective transfer. Quotes expire after a short window; reference the returned quote ID when executing the transaction. Pass an Idempotency-Key header to safely retry. A disallowed source→destination instrument pair is rejected with 422 unsupportedInstrumentCombination before any quote is created; the error body carries a details object of { source, destination, supportedDestinations }. (Not modeled as a typed error arm here so the other 422 codes on this operation keep their shape.)\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Polygon Developer Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.polygon.technology/api-reference/quote/create-a-payment-quote\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://polygon-labs.mintlify.site/_mintlify/api/og/v2?division=Quotes\u0026amp;title=Create+a+payment+quote\u0026amp;description=Creates+a+payment+quote+with+a+locked+exchange+rate+and+fee+breakdown+for+a+prospective+transfer.+Quotes+expire+after+a+short+window%3B+reference+the+returned+quo\u0026amp;theme=b36bd2d42ef34b1589e85268\u0026amp;signature=690c3fc5d84064eacb80cb3d35ea112d5a90d35a5a7f15c383f0eb1ed857ee05\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a payment quote - Polygon Developer Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a payment quote with a locked exchange rate and fee breakdown for a prospective transfer. Quotes expire after a short window; reference the returned quote ID when executing the transaction. Pass an Idempotency-Key header to safely retry. A disallowed source→destination instrument pair is rejected with 422 unsupportedInstrumentCombination before any quote is created; the error body carries a details object of { source, destination, supportedDestinations }. (Not modeled as a typed error arm here so the other 422 codes on this operation keep their shape.)\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://polygon-labs.mintlify.site/_mintlify/api/og/v2?division=Quotes\u0026amp;title=Create+a+payment+quote\u0026amp;description=Creates+a+payment+quote+with+a+locked+exchange+rate+and+fee+breakdown+for+a+prospective+transfer.+Quotes+expire+after+a+short+window%3B+reference+the+returned+quo\u0026amp;theme=b36bd2d42ef34b1589e85268\u0026amp;signature=690c3fc5d84064eacb80cb3d35ea112d5a90d35a5a7f15c383f0eb1ed857ee05\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/polygon-labs/mGaxVdHZf09e3t79/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Polygon Developer Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#670DE5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.polygon.technology/api-reference/quote/create-a-payment-quote\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/quote/create-a-payment-quote.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.polygon.technology/#organization\",\"name\":\"Polygon Developer Docs\",\"url\":\"https://docs.polygon.technology\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/polygon-labs/ll1LL3IdpC3YxXZu/logo/light.svg?fit=max\u0026auto=format\u0026n=ll1LL3IdpC3YxXZu\u0026q=85\u0026s=d54ddb30492807a0eadf38093c075f2f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.polygon.technology#website\",\"name\":\"Polygon Developer Docs\",\"url\":\"https://docs.polygon.technology\",\"publisher\":{\"@id\":\"https://docs.polygon.technology/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.polygon.technology/api-reference/quote/create-a-payment-quote#webpage\",\"url\":\"https://docs.polygon.technology/api-reference/quote/create-a-payment-quote\",\"name\":\"Create a payment quote\",\"description\":\"Creates a payment quote with a locked exchange rate and fee breakdown for a prospective transfer. Quotes expire after a short window; reference the returned quote ID when executing the transaction. Pass an Idempotency-Key header to safely retry. A disallowed source→destination instrument pair is rejected with 422 unsupportedInstrumentCombination before any quote is created; the error body carries a details object of { source, destination, supportedDestinations }. (Not modeled as a typed error arm here so the other 422 codes on this operation keep their shape.)\",\"dateModified\":\"2026-11-09T10:20:49.863Z\",\"isPartOf\":{\"@id\":\"https://docs.polygon.technology#website\"},\"breadcrumb\":{\"@id\":\"https://docs.polygon.technology/api-reference/quote/create-a-payment-quote#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.polygon.technology/api-reference/quote/create-a-payment-quote#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Polygon Developer Docs\",\"item\":\"https://docs.polygon.technology\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a payment quote\",\"item\":\"https://docs.polygon.technology/api-reference/quote/create-a-payment-quote\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.polygon.technology/api-reference/quote/create-a-payment-quote#apireference\",\"headline\":\"Create a payment quote\",\"name\":\"Create a payment quote\",\"description\":\"Creates a payment quote with a locked exchange rate and fee breakdown for a prospective transfer. Quotes expire after a short window; reference the returned quote ID when executing the transaction. Pass an Idempotency-Key header to safely retry. A disallowed source→destination instrument pair is rejected with 422 unsupportedInstrumentCombination before any quote is created; the error body carries a details object of { source, destination, supportedDestinations }. (Not modeled as a typed error arm here so the other 422 codes on this operation keep their shape.)\",\"url\":\"https://docs.polygon.technology/api-reference/quote/create-a-payment-quote\",\"mainEntityOfPage\":{\"@id\":\"https://docs.polygon.technology/api-reference/quote/create-a-payment-quote#webpage\"},\"dateModified\":\"2026-11-09T10:20:49.863Z\",\"publisher\":{\"@id\":\"https://docs.polygon.technology/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.polygon.technology#website\"}}]}\u003c/script>","agentPointerHref":"/api-reference/quote/create-a-payment-quote.md","siteName":"Polygon Developer Docs","nav":{"global":null,"tabs":[{"tab":"Platform","icon":"layer-group","pages":[{"title":"Platform","href":""}]},{"tab":"Payments","pages":[{"title":"Payments","href":"/payments/overview"}]},{"tab":"Wallets","pages":[{"title":"Wallets","href":"/wallets/overview"}]},{"tab":"Cross-chain","pages":[{"title":"Cross-chain","href":"/cross-chain"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"Open Money Stack API","description":"How the Open Money Stack API works: core concepts, transaction types, and API structure.","href":"/api-reference/overview"}]},{"group":"Move money","pages":[{"group":"Quotes","pages":[{"title":"Create a payment quote","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /quotes","href":"/api-reference/quote/create-a-payment-quote"},{"title":"Get quote by ID","description":"Retrieves a previously created quote by ID, including its locked rate, fee breakdown, and expiry.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /quotes/{quoteId}","href":"/api-reference/quote/get-quote-by-id"}]},{"group":"Transactions","pages":[{"title":"Execute a transaction (send)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /transactions","href":"/api-reference/transaction/execute-a-transaction-send"},{"title":"List transactions with filters","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /transactions","href":"/api-reference/transaction/list-transactions-with-filters"},{"title":"Get transaction by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /transactions/{transactionId}","href":"/api-reference/transaction/get-transaction-by-id"}]},{"group":"Transfers","pages":[{"title":"Get transfer by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /transfers/{transferId}","href":"/api-reference/transfer/get-transfer-by-id"}]},{"group":"Cash-In","pages":[{"title":"Create a cash-in deposit code","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /cash-ins","href":"/api-reference/cashins/create-a-cash-in-deposit-code"},{"title":"List cash-ins","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /cash-ins","href":"/api-reference/cashins/list-cash-ins"},{"title":"Get a cash-in by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /cash-ins/{cashInId}","href":"/api-reference/cashins/get-a-cash-in-by-id"},{"title":"Refresh a cash-in deposit code","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /cash-ins/{cashInId}/refresh","href":"/api-reference/cashins/refresh-a-cash-in-deposit-code"},{"title":"Cancel a cash-in","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /cash-ins/{cashInId}/cancel","href":"/api-reference/cashins/cancel-a-cash-in"}]}]},{"group":"Routes","pages":[{"group":"Deposit Addresses","pages":[{"title":"Create a Deposit Address","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /deposit-addresses","href":"/api-reference/depositaddress/create-a-deposit-address"},{"title":"List all Deposit Addresses","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /deposit-addresses","href":"/api-reference/depositaddress/list-all-deposit-addresses"},{"title":"Get a Deposit Address","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /deposit-addresses/{depositAddressId}","href":"/api-reference/depositaddress/get-a-deposit-address"},{"title":"Update a Deposit Address","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /deposit-addresses/{depositAddressId}","href":"/api-reference/depositaddress/update-a-deposit-address"}]},{"group":"Virtual Accounts","pages":[{"title":"Create a Virtual Account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /virtual-accounts","href":"/api-reference/virtualaccount/create-a-virtual-account"},{"title":"List all Virtual Accounts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /virtual-accounts","href":"/api-reference/virtualaccount/list-all-virtual-accounts"},{"title":"Get a Virtual Account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /virtual-accounts/{virtualAccountId}","href":"/api-reference/virtualaccount/get-a-virtual-account"},{"title":"Update a Virtual Account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /virtual-accounts/{virtualAccountId}","href":"/api-reference/virtualaccount/update-a-virtual-account"},{"title":"Delete a Virtual Account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /virtual-accounts/{virtualAccountId}","href":"/api-reference/virtualaccount/delete-a-virtual-account"}]}]},{"group":"External Payment Methods","pages":[{"group":"Counterparties","pages":[{"title":"Create a Counterparty","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /counterparties","href":"/api-reference/counterparty/create-a-counterparty"},{"title":"List Counterparties","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /counterparties","href":"/api-reference/counterparty/list-counterparties"},{"title":"Get a Counterparty","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /counterparties/{counterpartyId}","href":"/api-reference/counterparty/get-a-counterparty"},{"title":"Update a Counterparty","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /counterparties/{counterpartyId}","href":"/api-reference/counterparty/update-a-counterparty"},{"title":"Delete a Counterparty","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /counterparties/{counterpartyId}","href":"/api-reference/counterparty/delete-a-counterparty"}]},{"group":"External Accounts","pages":[{"title":"Create an External Account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /external-accounts","href":"/api-reference/externalaccount/create-an-external-account"},{"title":"Register a card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /external-accounts/cards","href":"/api-reference/externalaccount/register-a-card"},{"title":"List External Accounts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /external-accounts","href":"/api-reference/externalaccount/list-external-accounts"},{"title":"Get an External Account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /external-accounts/{externalAccountId}","href":"/api-reference/externalaccount/get-an-external-account"},{"title":"Update an External Account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /external-accounts/{externalAccountId}","href":"/api-reference/externalaccount/update-an-external-account"},{"title":"Delete an External Account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /external-accounts/{externalAccountId}","href":"/api-reference/externalaccount/delete-an-external-account"}]}]},{"group":"Platform","pages":[{"group":"Auth","pages":[{"title":"Get bearer token","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /auth/token","href":"/api-reference/auth/get-bearer-token"}]},{"group":"Customers","pages":[{"title":"Create a customer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /customers","href":"/api-reference/customers/create-a-customer"},{"title":"List customers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /customers","href":"/api-reference/customers/list-customers"},{"title":"Get customer by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /customers/{customerId}","href":"/api-reference/customers/get-customer-by-id"},{"title":"Update a customer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /customers/{customerId}","href":"/api-reference/customers/update-a-customer"},{"title":"Delete a customer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /customers/{customerId}","href":"/api-reference/customers/delete-a-customer"},{"title":"Get customer balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /customers/{id}/balance","href":"/api-reference/customer/get-customer-balance"},{"title":"Create a browser token for a customer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /customers/{customerId}/token","href":"/api-reference/customertokens/create-a-browser-token-for-a-customer"},{"title":"Get browser risk configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /risk/config","href":"/api-reference/get-browser-risk-configuration"}]},{"group":"Business onboarding","pages":[{"title":"Post customers beneficiaries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /customers/{customerId}/beneficiaries","href":"/api-reference/business-onboarding/post-customers-beneficiaries"},{"title":"Get customers beneficiaries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /customers/{customerId}/beneficiaries/{beneficiaryId}","href":"/api-reference/business-onboarding/get-customers-beneficiaries"},{"title":"Get customers beneficiaries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /customers/{customerId}/beneficiaries/{beneficiaryId}","href":"/api-reference/business-onboarding/get-customers-beneficiaries"},{"title":"Put customers beneficiaries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /customers/{customerId}/beneficiaries/{beneficiaryId}","href":"/api-reference/business-onboarding/put-customers-beneficiaries"},{"title":"Delete customers beneficiaries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /customers/{customerId}/beneficiaries/{beneficiaryId}","href":"/api-reference/business-onboarding/delete-customers-beneficiaries"},{"title":"Post customers onboardings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /customers/{customerId}/onboardings","href":"/api-reference/business-onboarding/post-customers-onboardings"},{"title":"Get customers onboardings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /customers/{customerId}/onboardings/{onboardingId}","href":"/api-reference/business-onboarding/get-customers-onboardings"},{"title":"Get customers onboardings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /customers/{customerId}/onboardings/{onboardingId}","href":"/api-reference/business-onboarding/get-customers-onboardings"}]},{"group":"Wallets","pages":[{"title":"List wallets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /wallets","href":"/api-reference/wallet/list-wallets"},{"title":"Create a wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /wallets","href":"/api-reference/wallet/create-a-wallet"},{"title":"Get a wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /wallets/{id}","href":"/api-reference/wallet/get-a-wallet"},{"title":"Update a wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /wallets/{id}","href":"/api-reference/wallet/update-a-wallet"},{"title":"Get a wallet-provisioning operation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /wallets/operations/{operationId}","href":"/api-reference/wallet/get-a-wallet-provisioning-operation"},{"title":"Associate an embedded wallet with a customer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /customers/{customerId}/wallets/associate","href":"/api-reference/wallets/associate-an-embedded-wallet-with-a-customer"}]},{"group":"Cash Locations","pages":[{"title":"List cash locations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /cash-locations","href":"/api-reference/cashlocation/list-cash-locations"}]},{"group":"Webhooks","pages":[{"title":"Webhook events","href":"/api-reference/webhook-events"},{"title":"Create a webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /webhooks","href":"/api-reference/webhooks/create-a-webhook"},{"title":"List webhooks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /webhooks","href":"/api-reference/webhooks/list-webhooks"},{"title":"Get webhook by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /webhooks/{webhookId}","href":"/api-reference/webhooks/get-webhook-by-id"},{"title":"Update a webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /webhooks/{webhookId}","href":"/api-reference/webhooks/update-a-webhook"},{"title":"Delete a webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /webhooks/{webhookId}","href":"/api-reference/webhooks/delete-a-webhook"},{"title":"Enable a webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /webhooks/{webhookId}/enable","href":"/api-reference/webhooks/enable-a-webhook"},{"title":"Disable a webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /webhooks/{webhookId}/disable","href":"/api-reference/webhooks/disable-a-webhook"},{"title":"Rotate the signing key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /webhooks/{webhookId}/rotate-key","href":"/api-reference/webhooks/rotate-the-signing-key"},{"title":"Send a test delivery","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /webhooks/{webhookId}/test","href":"/api-reference/webhooks/send-a-test-delivery"},{"title":"List deliveries for a webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /webhooks/{webhookId}/deliveries","href":"/api-reference/webhooks/list-deliveries-for-a-webhook"},{"title":"Get a delivery with its attempts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /webhooks/{webhookId}/deliveries/{deliveryId}","href":"/api-reference/webhooks/get-a-delivery-with-its-attempts"},{"title":"Retry deliveries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /webhooks/{webhookId}/deliveries/retry","href":"/api-reference/webhooks/retry-deliveries"}]},{"group":"Route transactions","pages":[{"title":"List Deposit Address transactions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /deposit-addresses/{depositAddressId}/transactions","href":"/api-reference/depositaddress/list-deposit-address-transactions"},{"title":"List Virtual Account transactions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /virtual-accounts/{virtualAccountId}/transactions","href":"/api-reference/virtualaccount/list-virtual-account-transactions"}]},{"group":"Reference","pages":[{"title":"List supported networks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /networks","href":"/api-reference/reference/list-supported-networks"},{"title":"Get account-type requirements","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /reference/account-type-requirements","href":"/api-reference/reference/get-account-type-requirements"}]},{"group":"Sandbox Simulations","pages":[{"title":"Simulate inbound transfer on a Virtual Account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /virtual-accounts/{virtualAccountId}/simulate/inbound-transfer","href":"/api-reference/sandbox/simulate-inbound-transfer-on-a-virtual-account"},{"title":"Simulate cash-in present code","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /cash-ins/{cashInId}/simulate/present-code","href":"/api-reference/sandbox/simulate-cash-in-present-code"},{"title":"Simulate cash-in deposit cash","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /cash-ins/{cashInId}/simulate/deposit-cash","href":"/api-reference/sandbox/simulate-cash-in-deposit-cash"},{"title":"Simulate cash-in cancel","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /cash-ins/{cashInId}/simulate/cancel","href":"/api-reference/sandbox/simulate-cash-in-cancel"}]}]},{"group":"Read onchain data","pages":[{"group":"Token Balances","pages":[{"title":"Get token balance summary","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/IndexerGateway/GetTokenBalancesSummary","href":"/api-reference/indexer/get-token-balance-summary"},{"title":"Get token balance details","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/IndexerGateway/GetTokenBalancesDetails","href":"/api-reference/indexer/get-token-balance-details"},{"title":"Get token balances by contract","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/IndexerGateway/GetTokenBalancesByContract","href":"/api-reference/indexer/get-token-balances-by-contract"},{"title":"Get native token balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/IndexerGateway/GetNativeTokenBalance","href":"/api-reference/indexer/get-native-token-balance"},{"title":"Get balance updates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/IndexerGateway/GetBalanceUpdates","href":"/api-reference/indexer/get-balance-updates"},{"title":"Get Solana token balances","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/SolanaIndexerGateway/GetTokenBalancesDetails","href":"/api-reference/indexer/get-solana-token-balances"},{"title":"Get Tron token balances","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/TronIndexerGateway/GetTokenBalancesDetails","href":"/api-reference/indexer/get-tron-token-balances"}]},{"group":"Token Prices","pages":[{"title":"Get token price","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/IndexerGateway/GetTokenPrice","href":"/api-reference/indexer/get-token-price"},{"title":"Get token prices","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/IndexerGateway/GetTokenPrices","href":"/api-reference/indexer/get-token-prices"}]},{"group":"Transaction History","pages":[{"title":"Get transaction history","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/IndexerGateway/GetTransactionHistory","href":"/api-reference/indexer/get-transaction-history"}]},{"group":"Chains","pages":[{"title":"List chains","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/IndexerGateway/GetChains","href":"/api-reference/indexer/list-chains"}]}]}]},{"tab":"Infrastructure","icon":"server","pages":[{"title":"Infrastructure","href":"/infrastructure"}]},{"tab":"Polygon Chain","pages":[{"title":"Polygon Chain","href":"/pos/overview"}]},{"tab":"Polygon CDK","pages":[{"title":"Polygon CDK","href":"/chain-development/cdk"}]},{"tab":"Agglayer","pages":[{"title":"Agglayer","href":"/interoperability/overview"}]},{"tab":"Agentic","pages":[{"title":"Agentic","href":"/payment-services/agentic-payments/agent-integration/intro"}]}]},"basePath":"","title":"Create a payment quote - Polygon Developer Docs","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CybtLBIt.js","utils-BMLj2fvV.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B6In562Y.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dr8Mfhp9.js","snippetPresets-2rmQvMVl.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-WMqJYdZj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CJ-MlPHu.js","shallow-dY3TMRCk.js","getApiPlaygroundDisplay-v-1B2bKm.js","CodeSnippet-BDhiTB7U.js","CodeSnippets-D9hnzQcS.js","Page-C4GwDT3_.js","getPastedJson-Th2V45jI.js","icon-BQXch1W9.js","MethodPill-BCqUneP3.js","DuplicateIcon-Q_-bhurZ.js","createIcon-DUjLHRqp.js","DynamicMarkdown-B-f2cqXQ.js","SectionHeading-Da5NsV4v.js","axios-vUo_bRtp.js","Markdown-D13FWkIM.js","clsx-D3Isdib3.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-C-XZBk9h.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink--qIqmmVG.js"]}