Requires scope:manage:accounts — see Required scopes.Provisions a virtual bank account. Provide a display name, the fiat inCurrency to receive (EUR provisions a EUR_SEPA IBAN, USD a USD_ACH account), the targetCryptocurrency incoming funds convert to, and a unique idempotencyKey (safe retries). The response includes the bank coordinates — IBAN/BIC for EUR, account and routing number for USD — and a referenceCode the payer must quote so the wire is matched to this account.
The account must be verified (and have a linked account-holder party) before a virtual bank account can be created. See Account verification.
Which tenant the request is scoped to, among those your token grants. Omit it when the token
grants exactly one tenant; it is required when the token grants more than one. A supplied
value must exactly match a tenant the token grants.
Absent when required, blank, malformed, or naming a tenant the token does not grant — each gets
the same generic 403 forbidden, which reveals neither whether a tenant exists nor which ones
you may use. Send the header once: a repeated header is rejected the same way.
Customer-signed wallet-ownership proof. Required where the virtual bank account settles to
a self-custody account wallet that must prove control first — the destination is the
customer's own wallet, so Venly cannot sign the proof itself.
Obtain message from
prepare,
have the customer sign it verbatim with the destination wallet, and submit it here. Ignored
where no proof is required, so it is safe to send unconditionally.
Virtual bank account for receiving fiat payments that are auto-converted to crypto.
EUR_SEPA accounts return iban/bic; USD_ACH accounts return
accountNumber/routingNumber. Read depositRails for the complete instruction set
per rail — the summary fields below always describe the primary rail.
Show child attributes
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Venly Finance","colors":{"primary":"#e07826","light":"#f0a060","dark":"#c56820"},"logo":{"light":"https://mintcdn.com/venly/NZGy1d4c4LA-0jM9/logo/light_venly_logo.png?fit=max\u0026auto=format\u0026n=NZGy1d4c4LA-0jM9\u0026q=85\u0026s=d808fd8f702829ca93bf607f200800bb","dark":"https://mintcdn.com/venly/NZGy1d4c4LA-0jM9/logo/dark_venly_logo.png?fit=max\u0026auto=format\u0026n=NZGy1d4c4LA-0jM9\u0026q=85\u0026s=3bafc93202007edf53e789ed58bc7002","href":"https://venlyfinance.com"},"favicon":"https://mintcdn.com/venly/MUxny2c1OXcZxLbW/logo/favicon_logo.png?fit=max\u0026auto=format\u0026n=MUxny2c1OXcZxLbW\u0026q=85\u0026s=892dd58ed49fe804011fcf42f60f82d4","api":{"playground":{"display":"interactive"}},"navbar":{"primary":{"type":"button","label":"Venly","href":"https://venlyfinance.com"}},"footer":{"socials":{"x":"https://x.com/Venly_io","linkedin":"https://be.linkedin.com/company/venly-io"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://venlyfinance.com/blog"},{"anchor":"Support","icon":"envelope","href":"https://venlyfinance.com/contact"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"venly","hasAudioNarration":false,"actualSubdomain":"venly","customDomains":["docs.venlyfinance.com"],"gitSource":{"type":"github","owner":"venly","repo":"mintlify-api-docs-main","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad0bd1e4dcba6f2ddf906eb","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Finance API","count":98},{"language":"default","tag":"Fundflow API","count":45},{"language":"default","tag":"Parties","count":13},{"language":"default","tag":"Core Concepts","count":13},{"language":"default","tag":"Ramp Requests","count":12},{"language":"default","tag":"Overview","count":10},{"language":"default","tag":"Webhooks","count":9},{"language":"default","tag":"Onboarding \u0026 Verification","count":9},{"language":"default","tag":"Accounts","count":6},{"language":"default","tag":"Getting Started","count":6}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account","slug":"/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account","pageMetadata":{"title":"Create a virtual bank account","description":"Assign EUR (SEPA) or USD (ACH) bank details to an account for fiat pay-ins.","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{accountId}/virtual-bank-accounts","href":"/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Assign EUR (SEPA) or USD (ACH) bank details to an account for fiat pay-ins.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Note,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Requires scope:`}),` `,_jsx(_components.code,{children:`manage:accounts`}),` — see `,_jsx(_components.a,{href:`/getting-started/authentication#required-scopes-finance-api`,children:`Required scopes`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Provisions a virtual bank account. Provide a display `,_jsx(_components.code,{children:`name`}),`, the fiat `,_jsx(_components.code,{children:`inCurrency`}),` to receive (EUR provisions a `,_jsx(_components.code,{children:`EUR_SEPA`}),` IBAN, USD a `,_jsx(_components.code,{children:`USD_ACH`}),` account), the `,_jsx(_components.code,{children:`targetCryptocurrency`}),` incoming funds convert to, and a unique `,_jsx(_components.code,{children:`idempotencyKey`}),` (`,_jsx(_components.a,{href:`/getting-started/conventions#idempotency`,children:`safe retries`}),`). The response includes the bank coordinates — IBAN/BIC for EUR, account and routing number for USD — and a `,_jsx(_components.code,{children:`referenceCode`}),` the payer must quote so the wire is matched to this account.`]}),`\n`,_jsxs(Note,{children:[`The account must be `,_jsx(_components.strong,{children:`verified`}),` (and have a linked account-holder party) before a virtual bank account can be created. See `,_jsx(_components.a,{href:`/guides/finance/kyc-verification`,children:`Account verification`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(_components.p,{children:[`The codes this endpoint can return, in addition to the `,_jsx(_components.a,{href:`/guides/finance/errors#standard-errors`,children:`standard errors`}),`. Branch on `,_jsx(_components.code,{children:`code`}),`, never the message.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`HTTP`}),_jsx(_components.th,{children:_jsx(_components.code,{children:`code`})}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`duplicate-virtual-bank-account`})}),_jsx(_components.td,{children:`an active account already exists for this wallet + currency pair`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`tenant-not-onboarded-for-lane`})}),_jsx(_components.td,{children:`the requested lane is not enabled for your tenant`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`tenant-kyb-not-approved`})}),_jsx(_components.td,{children:`your tenant’s recorded KYB status is not approved`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`unsupported-asset`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`targetCryptocurrency`}),` is not a supported asset for your company`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`no-suitable-provider`})}),_jsx(_components.td,{children:`no enabled provider supports the requested currency pair`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`account-holder-unresolved`})}),_jsx(_components.td,{children:`the account does not resolve to exactly one active account-holder party`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`ownership-proof-required`})}),_jsxs(_components.td,{children:[`this account requires a signed wallet-ownership proof, but no `,_jsx(_components.code,{children:`ownershipProof`}),` block was supplied`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`invalid-proof-message`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`ownershipProof.message`}),` is malformed or does not reference the wallet address and embedded token`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`signature-mismatch`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`ownershipProof.signature`}),` does not recover the supplied wallet address`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`validation-error`})}),_jsx(_components.td,{children:`the provider rejected the request as invalid`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`account-not-found`})}),_jsx(_components.td,{children:`no such account for your company`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`wallet-not-found`})}),_jsxs(_components.td,{children:[`the `,_jsx(_components.code,{children:`ownershipProof`}),` wallet address/blockchain is not this account’s self-custody wallet on that chain`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`409`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`idempotency-conflict`})}),_jsxs(_components.td,{children:[`a concurrent request with the same `,_jsx(_components.code,{children:`idempotencyKey`}),` is still processing`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`409`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`partner-onboarding-pending`})}),_jsxs(_components.td,{children:[`the account holder’s verification is still pending. `,_jsx(_components.strong,{children:`Retryable`}),` once approved`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`422`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`idempotency-conflict`})}),_jsx(_components.td,{children:`the key was reused with a different body, or replays a failed attempt (use a new key)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`422`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`ambiguous-lane`})}),_jsx(_components.td,{children:`multiple providers match the currency pair and no lane preference is configured to break the tie`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`422`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`partner-onboarding-rejected`})}),_jsx(_components.td,{children:`the account holder’s verification was rejected or revoked; provisioning cannot proceed`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a virtual bank account","description":"Assign EUR (SEPA) or USD (ACH) bank details to an account for fiat pay-ins.","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{accountId}/virtual-bank-accounts","href":"/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Virtual Bank Accounts"],"summary":"Create a virtual bank account","description":"Assign EUR (SEPA) or USD (ACH) bank details to an account for fiat pay-ins.","operationId":"createVirtualBankAccount","parameters":["d89c71d1-f1d0-47a4-a259-1225bd5474c3"],"requestBody":"e60f0ce1-b586-400b-beb6-3a5de1181aec","responses":{"201":"56714199-55eb-4d7d-be18-9d2d025df97c","400":"10544ade-498f-48e1-be56-ebf5fa444848","401":"eb66331e-2554-4779-b99c-f53ec8bca18b","403":"a128b2e0-659e-45b6-b583-4d931e435cca","404":"290ca183-552c-462a-a325-8005b4cf5b42","409":"86216d6b-7450-4736-b424-73ebe3d672dc","422":"670a79c2-828f-484e-88f9-79c0abc3ea5b","500":"bd626231-d0df-4278-811f-6121710853fc","503":"93e2a3d6-eb8f-4eab-b4dc-d314c109623d"},"method":"post","type":"path","servers":["21e412a3-a369-4e3e-8c53-f1ccb83c3a83","bed023ee-c018-412c-ba06-d7ddf85d8199"],"security":["cea216b5-9159-488e-a42d-f5626675ace3"],"path":"/accounts/{accountId}/virtual-bank-accounts","baseUrlOptions":["https://api.venlyfinance.com/v1","https://api-staging.venlyfinance.com/v1"],"title":"Create a virtual bank account","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"d89c71d1-f1d0-47a4-a259-1225bd5474c3":{"name":"accountId","in":"path","required":true,"description":"Unique account identifier","schema":{"type":"string","format":"uuid","isRequired":true,"description":"Unique account identifier","uniqueKey":"","typeLabel":"string\u003cuuid>"},"example":"b2a1f0e9-8c7d-4e3a-9f21-0a1b2c3d4e5f"},"ae19d620-925a-473b-acc9-7697621f2ad9":{"name":"x-tenant-id","in":"header","required":false,"description":"Which tenant the request is scoped to, among those your token grants. Omit it when the token\ngrants exactly one tenant; it is **required** when the token grants more than one. A supplied\nvalue must exactly match a tenant the token grants.\n\nAbsent when required, blank, malformed, or naming a tenant the token does not grant — each gets\nthe same generic `403 forbidden`, which reveals neither whether a tenant exists nor which ones\nyou may use. Send the header once: a repeated header is rejected the same way.\n","schema":{"type":"string","format":"uuid","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","isRequired":false,"description":"Which tenant the request is scoped to, among those your token grants. Omit it when the token\ngrants exactly one tenant; it is **required** when the token grants more than one. A supplied\nvalue must exactly match a tenant the token grants.\n\nAbsent when required, blank, malformed, or naming a tenant the token does not grant — each gets\nthe same generic `403 forbidden`, which reveals neither whether a tenant exists nor which ones\nyou may use. Send the header once: a repeated header is rejected the same way.\n","uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Request to create a virtual bank account. The rail is resolved from `inCurrency` and your\ntenant's enabled pay-in configuration (EUR → SEPA, USD → ACH).\n","required":["name","inCurrency","targetCryptocurrency","idempotencyKey"],"properties":{"name":{"type":"string","maxLength":255,"description":"Display name for the bank account","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"inCurrency":{"type":"string","pattern":"^[A-Z]{3}$","description":"Fiat currency to receive (ISO 4217). Determines the bank account type (EUR -> EUR_SEPA, USD -> USD_ACH)","isRequired":true,"uniqueKey":"inCurrency","typeLabel":"string"},"targetCryptocurrency":{"type":"string","pattern":"^[A-Za-z0-9]{2,10}$","description":"Cryptocurrency to convert incoming fiat payments to (e.g. USDC)","isRequired":true,"uniqueKey":"targetCryptocurrency","typeLabel":"string"},"idempotencyKey":{"type":"string","maxLength":255,"description":"Unique key to prevent duplicate operations on retry","isRequired":true,"uniqueKey":"idempotencyKey","typeLabel":"string"},"ownershipProof":{"type":"object","description":"Customer-signed wallet-ownership proof. Required where the virtual bank account settles to\na self-custody account wallet that must prove control first — the destination is the\ncustomer's own wallet, so Venly cannot sign the proof itself.\n\nObtain `message` from\n[prepare](/api-reference/Finance-API/virtual-bank-accounts/prepare-a-wallet-ownership-proof),\nhave the customer sign it verbatim with the destination wallet, and submit it here. Ignored\nwhere no proof is required, so it is safe to send unconditionally.\n","required":["walletAddress","blockchain","message","signature"],"properties":{"walletAddress":{"type":"string","maxLength":128,"description":"The destination self-custody wallet address the proof is for","isRequired":true,"uniqueKey":"ownershipProof.walletAddress","typeLabel":"string"},"blockchain":{"type":"string","maxLength":32,"description":"The chain of the destination wallet (e.g. ETHEREUM)","isRequired":true,"uniqueKey":"ownershipProof.blockchain","typeLabel":"string"},"message":{"type":"string","maxLength":1024,"description":"The exact message returned by prepare, submitted verbatim","isRequired":true,"uniqueKey":"ownershipProof.message","typeLabel":"string"},"signature":{"type":"string","maxLength":512,"description":"The customer's EIP-191 signature over `message`; must recover `walletAddress`","isRequired":true,"uniqueKey":"ownershipProof.signature","typeLabel":"string"}},"uniqueKey":"ownershipProof","typeLabel":"object"}},"example":{"name":"My EUR Deposit Account","inCurrency":"EUR","targetCryptocurrency":"USDC","idempotencyKey":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"uniqueKey":"","typeLabel":"object"},"example":{"name":"EUR Payouts","inCurrency":"EUR","targetCryptocurrency":"USDC","idempotencyKey":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"examples":{"Example":{"title":"Example","value":{"name":"EUR Payouts","inCurrency":"EUR","targetCryptocurrency":"USDC","idempotencyKey":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"56714199-55eb-4d7d-be18-9d2d025df97c":{"description":"Virtual bank account created","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful","uniqueKey":"success","typeLabel":"boolean"},"result":{"type":"object","description":"Virtual bank account for receiving fiat payments that are auto-converted to crypto.\n`EUR_SEPA` accounts return `iban`/`bic`; `USD_ACH` accounts return\n`accountNumber`/`routingNumber`. Read `depositRails` for the complete instruction set\nper rail — the summary fields below always describe the primary rail.\n","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"result.id","typeLabel":"string\u003cuuid>"},"accountId":{"type":"string","format":"uuid","uniqueKey":"result.accountId","typeLabel":"string\u003cuuid>"},"bankAccountType":{"type":"string","description":"Rail family of a virtual bank account, resolved from the requested currency pair.\n- `EUR_SEPA` — Euro SEPA account, returning `iban` + `bic`\n- `USD_ACH` — US account, returning `accountNumber` + `routingNumber`\n\nOmitted while `status` is `PENDING`, before the provider has returned the rail type.\n","enum":["EUR_SEPA","USD_ACH"],"uniqueKey":"result.bankAccountType","typeLabel":"enum\u003cstring>"},"name":{"type":"string","description":"Display name for the bank account","uniqueKey":"result.name","typeLabel":"string"},"status":{"type":"string","description":"Status of a virtual bank account.\n- `PENDING` — claimed, but the provider has not yet returned the deposit rails\n- `ACTIVE` — accepting fiat deposits\n- `CLOSED` — decommissioned. Read `providerClosureStatus` to know whether the bank details are still reachable\n","enum":["PENDING","ACTIVE","CLOSED"],"uniqueKey":"result.status","typeLabel":"enum\u003cstring>"},"providerClosureStatus":{"oneOf":[{"type":"string","description":"Present only once the account is `CLOSED`","enum":["SUCCEEDED","NOT_SUPPORTED","FAILED"],"uniqueKey":"result.providerClosureStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"result.providerClosureStatus.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.providerClosureStatus","typeLabel":"enum\u003cstring> | null"},"currency":{"type":"string","description":"Fiat currency this account receives","enum":["EUR","GBP","USD"],"uniqueKey":"result.currency","typeLabel":"enum\u003cstring>"},"targetCryptocurrency":{"type":"string","description":"Cryptocurrency that incoming fiat is converted to","enum":["USDC","EURC","USDT","USDS"],"uniqueKey":"result.targetCryptocurrency","typeLabel":"enum\u003cstring>"},"iban":{"type":"string","description":"IBAN for EUR_SEPA accounts","example":"DE89370400440532013000","uniqueKey":"result.iban","typeLabel":"string"},"bic":{"oneOf":[{"type":"string","description":"BIC/SWIFT code (EUR rails)","example":"DEUTDEDB","uniqueKey":"result.bic.oneOf.0","typeLabel":"string"},{"type":"null","description":"BIC/SWIFT code (EUR rails)","example":"DEUTDEDB","uniqueKey":"result.bic.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.bic","typeLabel":"string | null"},"accountNumber":{"oneOf":[{"type":"string","description":"Account number (US rails)","example":"8412009371","uniqueKey":"result.accountNumber.oneOf.0","typeLabel":"string"},{"type":"null","description":"Account number (US rails)","example":"8412009371","uniqueKey":"result.accountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.accountNumber","typeLabel":"string | null"},"routingNumber":{"oneOf":[{"type":"string","description":"Routing number (US rails)","example":"021000021","uniqueKey":"result.routingNumber.oneOf.0","typeLabel":"string"},{"type":"null","description":"Routing number (US rails)","example":"021000021","uniqueKey":"result.routingNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.routingNumber","typeLabel":"string | null"},"bankName":{"oneOf":[{"type":"string","description":"Name of the banking provider","uniqueKey":"result.bankName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Name of the banking provider","uniqueKey":"result.bankName.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.bankName","typeLabel":"string | null"},"beneficiaryName":{"oneOf":[{"type":"string","description":"Name of the account beneficiary","uniqueKey":"result.beneficiaryName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Name of the account beneficiary","uniqueKey":"result.beneficiaryName.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.beneficiaryName","typeLabel":"string | null"},"referenceCode":{"oneOf":[{"type":"string","description":"Unique reference code to include in payment transfers","uniqueKey":"result.referenceCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"Unique reference code to include in payment transfers","uniqueKey":"result.referenceCode.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.referenceCode","typeLabel":"string | null"},"depositRails":{"type":"array","description":"Every payment rail this account is reachable over, each with the full instruction set a\npayer's bank needs. USD accounts typically expose ACH, WIRE, RTP and SWIFT sharing the\nsame account and routing number; EUR accounts expose a single SEPA rail.\n","items":{"type":"object","description":"One rail's complete deposit instructions for a virtual bank account.","required":["railType"],"properties":{"railType":{"type":"string","description":"A single payment rail a virtual bank account is reachable over. USD accounts typically expose\n`ACH`, `WIRE`, `RTP` and `SWIFT` sharing the same account and routing number (`SWIFT` carries a\nBIC instead of a routing number); EUR accounts expose a single `SEPA` rail.\n","enum":["ACH","WIRE","RTP","SWIFT","SEPA"],"isRequired":true,"uniqueKey":"result.depositRails.items.[INDEX].railType","typeLabel":"enum\u003cstring>"},"iban":{"oneOf":[{"type":"string","description":"International Bank Account Number (SEPA)","uniqueKey":"result.depositRails.items.[INDEX].iban.oneOf.0","typeLabel":"string"},{"type":"null","description":"International Bank Account Number (SEPA)","uniqueKey":"result.depositRails.items.[INDEX].iban.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.depositRails.items.[INDEX].iban","typeLabel":"string | null"},"bic":{"oneOf":[{"type":"string","description":"Bank Identifier Code (SEPA and SWIFT)","uniqueKey":"result.depositRails.items.[INDEX].bic.oneOf.0","typeLabel":"string"},{"type":"null","description":"Bank Identifier Code (SEPA and SWIFT)","uniqueKey":"result.depositRails.items.[INDEX].bic.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.depositRails.items.[INDEX].bic","typeLabel":"string | null"},"accountNumber":{"oneOf":[{"type":"string","description":"Account number (US rails)","uniqueKey":"result.depositRails.items.[INDEX].accountNumber.oneOf.0","typeLabel":"string"},{"type":"null","description":"Account number (US rails)","uniqueKey":"result.depositRails.items.[INDEX].accountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.depositRails.items.[INDEX].accountNumber","typeLabel":"string | null"},"routingNumber":{"oneOf":[{"type":"string","description":"Routing number (US rails; absent on SWIFT, which uses the BIC)","uniqueKey":"result.depositRails.items.[INDEX].routingNumber.oneOf.0","typeLabel":"string"},{"type":"null","description":"Routing number (US rails; absent on SWIFT, which uses the BIC)","uniqueKey":"result.depositRails.items.[INDEX].routingNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.depositRails.items.[INDEX].routingNumber","typeLabel":"string | null"},"bankName":{"oneOf":[{"type":"string","uniqueKey":"result.depositRails.items.[INDEX].bankName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"result.depositRails.items.[INDEX].bankName.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.depositRails.items.[INDEX].bankName","typeLabel":"string | null"},"bankAddress":{"oneOf":[{"type":"string","description":"The bank's postal address, required by wire and SWIFT senders","uniqueKey":"result.depositRails.items.[INDEX].bankAddress.oneOf.0","typeLabel":"string"},{"type":"null","description":"The bank's postal address, required by wire and SWIFT senders","uniqueKey":"result.depositRails.items.[INDEX].bankAddress.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.depositRails.items.[INDEX].bankAddress","typeLabel":"string | null"},"beneficiaryName":{"oneOf":[{"type":"string","uniqueKey":"result.depositRails.items.[INDEX].beneficiaryName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"result.depositRails.items.[INDEX].beneficiaryName.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.depositRails.items.[INDEX].beneficiaryName","typeLabel":"string | null"},"beneficiaryAddress":{"oneOf":[{"type":"string","description":"The beneficiary's postal address, required by wire and SWIFT senders","uniqueKey":"result.depositRails.items.[INDEX].beneficiaryAddress.oneOf.0","typeLabel":"string"},{"type":"null","description":"The beneficiary's postal address, required by wire and SWIFT senders","uniqueKey":"result.depositRails.items.[INDEX].beneficiaryAddress.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.depositRails.items.[INDEX].beneficiaryAddress","typeLabel":"string | null"},"paymentReference":{"oneOf":[{"type":"string","description":"Reference the payer should attach to the transfer, when the rail requires one","uniqueKey":"result.depositRails.items.[INDEX].paymentReference.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reference the payer should attach to the transfer, when the rail requires one","uniqueKey":"result.depositRails.items.[INDEX].paymentReference.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.depositRails.items.[INDEX].paymentReference","typeLabel":"string | null"}},"uniqueKey":"result.depositRails.items.[INDEX]","typeLabel":"object"},"uniqueKey":"result.depositRails","typeLabel":"object[]"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"result.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","uniqueKey":"result.updatedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"result","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":true,"result":{"id":"4d5e6f70-8192-4a3b-9c4d-5e6f7081920a","accountId":"b2a1f0e9-8c7d-4e3a-9f21-0a1b2c3d4e5f","bankAccountType":"EUR_SEPA","name":"EUR Payouts","status":"ACTIVE","currency":"EUR","targetCryptocurrency":"USDC","iban":"DE89370400440532013000","bic":"DEUTDEDB","bankName":"Example Bank","beneficiaryName":"Jane Doe","referenceCode":"VFY-7K2Q-931","depositRails":[{"railType":"SEPA","iban":"DE89370400440532013000","bic":"DEUTDEDB","bankName":"Example Bank","beneficiaryName":"Jane Doe","paymentReference":"VFY-7K2Q-931"}],"createdAt":"2026-01-15T09:30:00Z","updatedAt":"2026-01-15T09:30:00Z"}},"examples":{"Example":{"title":"Example","value":{"success":true,"result":{"id":"4d5e6f70-8192-4a3b-9c4d-5e6f7081920a","accountId":"b2a1f0e9-8c7d-4e3a-9f21-0a1b2c3d4e5f","bankAccountType":"EUR_SEPA","name":"EUR Payouts","status":"ACTIVE","currency":"EUR","targetCryptocurrency":"USDC","iban":"DE89370400440532013000","bic":"DEUTDEDB","bankName":"Example Bank","beneficiaryName":"Jane Doe","referenceCode":"VFY-7K2Q-931","depositRails":[{"railType":"SEPA","iban":"DE89370400440532013000","bic":"DEUTDEDB","bankName":"Example Bank","beneficiaryName":"Jane Doe","paymentReference":"VFY-7K2Q-931"}],"createdAt":"2026-01-15T09:30:00Z","updatedAt":"2026-01-15T09:30:00Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"10544ade-498f-48e1-be56-ebf5fa444848":{"description":"Invalid request. Possible error codes:\n- `account-not-active` / `kyc-not-verified` / `company-not-active` — account or company state does not allow creation\n- `duplicate-virtual-bank-account` — an active account already exists for this wallet + currency pair\n- `duplicate-eur-vba` — the account already has an active EUR virtual bank account (on any chain). Only one is allowed per account so incoming credits can be attributed; [close](/api-reference/Finance-API/virtual-bank-accounts/close-a-virtual-bank-account) the old one first\n- `tenant-not-onboarded-for-lane` — the requested lane is not enabled for your tenant\n- `tenant-kyb-not-approved` — your tenant's recorded KYB status is not approved\n- `unsupported-asset` — `targetCryptocurrency` is not a supported asset for your company\n- `no-suitable-provider` — no enabled provider supports the requested currency pair\n- `party-required` / `party-name-required` — the account has no linked account-holder party, or that party has no legal name\n- `account-holder-unresolved` — the account does not resolve to exactly one active account-holder party\n- `ownership-proof-required` — this account requires a signed wallet-ownership proof, but no `ownershipProof` block was supplied\n- `invalid-proof-message` — `ownershipProof.message` is malformed or does not reference the wallet address and embedded token\n- `signature-mismatch` — `ownershipProof.signature` does not recover the supplied wallet address\n- `validation-error` — the provider rejected the request as invalid\n","content":{"application/json":{"schema":{"type":"object","description":"Error response wrapper","properties":{"success":{"type":"boolean","description":"Always false for error responses","example":false,"uniqueKey":"success","typeLabel":"boolean"},"errors":{"type":"array","description":"List of errors that occurred","items":{"type":"object","description":"Individual error details","properties":{"code":{"type":"string","description":"Machine-readable error code","example":"invalid-request","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"The request contains invalid parameters.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"result":{"oneOf":[{"type":"object","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.0","typeLabel":"object"},{"type":"null","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.1","typeLabel":"null"}],"uniqueKey":"result","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"errors":[{"code":"invalid-request","message":"The request contains invalid parameters."}],"result":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"eb66331e-2554-4779-b99c-f53ec8bca18b":{"description":"Authentication required or failed (401)","content":{"application/json":{"schema":{"type":"object","description":"Error response wrapper","properties":{"success":{"type":"boolean","description":"Always false for error responses","example":false,"uniqueKey":"success","typeLabel":"boolean"},"errors":{"type":"array","description":"List of errors that occurred","items":{"type":"object","description":"Individual error details","properties":{"code":{"type":"string","description":"Machine-readable error code","example":"invalid-request","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"The request contains invalid parameters.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"result":{"oneOf":[{"type":"object","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.0","typeLabel":"object"},{"type":"null","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.1","typeLabel":"null"}],"uniqueKey":"result","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"errors":[{"code":"unauthenticated","message":"Please authenticate to perform this action."}]},"examples":{"Example":{"title":"Example","value":{"success":false,"errors":[{"code":"unauthenticated","message":"Please authenticate to perform this action."}]}}},"exampleType":"examples"}},"exampleType":"examples"},"a128b2e0-659e-45b6-b583-4d931e435cca":{"description":"Caller lacks the required authority/role (403)","content":{"application/json":{"schema":{"type":"object","description":"Error response wrapper","properties":{"success":{"type":"boolean","description":"Always false for error responses","example":false,"uniqueKey":"success","typeLabel":"boolean"},"errors":{"type":"array","description":"List of errors that occurred","items":{"type":"object","description":"Individual error details","properties":{"code":{"type":"string","description":"Machine-readable error code","example":"invalid-request","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"The request contains invalid parameters.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"result":{"oneOf":[{"type":"object","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.0","typeLabel":"object"},{"type":"null","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.1","typeLabel":"null"}],"uniqueKey":"result","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"errors":[{"code":"forbidden","message":"You do not have permission to access this resource."}]},"examples":{"Example":{"title":"Example","value":{"success":false,"errors":[{"code":"forbidden","message":"You do not have permission to access this resource."}]}}},"exampleType":"examples"}},"exampleType":"examples"},"290ca183-552c-462a-a325-8005b4cf5b42":{"description":"Not found. Possible error codes:\n- `account-not-found` — no such account for your company\n- `wallet-not-found` — the `ownershipProof` wallet address/blockchain is not this account's self-custody wallet on that chain\n","content":{"application/json":{"schema":{"type":"object","description":"Error response wrapper","properties":{"success":{"type":"boolean","description":"Always false for error responses","example":false,"uniqueKey":"success","typeLabel":"boolean"},"errors":{"type":"array","description":"List of errors that occurred","items":{"type":"object","description":"Individual error details","properties":{"code":{"type":"string","description":"Machine-readable error code","example":"invalid-request","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"The request contains invalid parameters.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"result":{"oneOf":[{"type":"object","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.0","typeLabel":"object"},{"type":"null","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.1","typeLabel":"null"}],"uniqueKey":"result","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"errors":[{"code":"invalid-request","message":"The request contains invalid parameters."}],"result":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"86216d6b-7450-4736-b424-73ebe3d672dc":{"description":"Conflict. Possible error codes:\n- `idempotency-conflict` — a concurrent request with the same `idempotencyKey` is still processing\n- `partner-onboarding-pending` — the account holder's verification is still pending. **Retryable** once approved\n","content":{"application/json":{"schema":{"type":"object","description":"Error response wrapper","properties":{"success":{"type":"boolean","description":"Always false for error responses","example":false,"uniqueKey":"success","typeLabel":"boolean"},"errors":{"type":"array","description":"List of errors that occurred","items":{"type":"object","description":"Individual error details","properties":{"code":{"type":"string","description":"Machine-readable error code","example":"invalid-request","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"The request contains invalid parameters.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"result":{"oneOf":[{"type":"object","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.0","typeLabel":"object"},{"type":"null","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.1","typeLabel":"null"}],"uniqueKey":"result","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"errors":[{"code":"invalid-request","message":"The request contains invalid parameters."}],"result":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"670a79c2-828f-484e-88f9-79c0abc3ea5b":{"description":"Unprocessable. Possible error codes:\n- `idempotency-conflict` — the key was reused with a different body, or replays a failed attempt (use a new key)\n- `ambiguous-lane` — multiple providers match the currency pair and no lane preference is configured to break the tie\n- `partner-onboarding-rejected` — the account holder's verification was rejected or revoked; provisioning cannot proceed\n","content":{"application/json":{"schema":{"type":"object","description":"Error response wrapper","properties":{"success":{"type":"boolean","description":"Always false for error responses","example":false,"uniqueKey":"success","typeLabel":"boolean"},"errors":{"type":"array","description":"List of errors that occurred","items":{"type":"object","description":"Individual error details","properties":{"code":{"type":"string","description":"Machine-readable error code","example":"invalid-request","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"The request contains invalid parameters.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"result":{"oneOf":[{"type":"object","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.0","typeLabel":"object"},{"type":"null","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.1","typeLabel":"null"}],"uniqueKey":"result","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"errors":[{"code":"invalid-request","message":"The request contains invalid parameters."}],"result":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"bd626231-d0df-4278-811f-6121710853fc":{"description":"Server error, including `identity-verification-rejected` when verification\nrejected the account-holder onboarding request.\n","content":{"application/json":{"schema":{"type":"object","description":"Error response wrapper","properties":{"success":{"type":"boolean","description":"Always false for error responses","example":false,"uniqueKey":"success","typeLabel":"boolean"},"errors":{"type":"array","description":"List of errors that occurred","items":{"type":"object","description":"Individual error details","properties":{"code":{"type":"string","description":"Machine-readable error code","example":"invalid-request","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"The request contains invalid parameters.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"result":{"oneOf":[{"type":"object","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.0","typeLabel":"object"},{"type":"null","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.1","typeLabel":"null"}],"uniqueKey":"result","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"errors":[{"code":"invalid-request","message":"The request contains invalid parameters."}],"result":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"93e2a3d6-eb8f-4eab-b4dc-d314c109623d":{"description":"Temporarily unavailable; retry later. The bank account provider is unreachable or\nrate-limited, or `identity-verification-unavailable` — verification could not\nbe reached to onboard the account holder.\n","content":{"application/json":{"schema":{"type":"object","description":"Error response wrapper","properties":{"success":{"type":"boolean","description":"Always false for error responses","example":false,"uniqueKey":"success","typeLabel":"boolean"},"errors":{"type":"array","description":"List of errors that occurred","items":{"type":"object","description":"Individual error details","properties":{"code":{"type":"string","description":"Machine-readable error code","example":"invalid-request","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"The request contains invalid parameters.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"result":{"oneOf":[{"type":"object","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.0","typeLabel":"object"},{"type":"null","description":"Null or omitted when success is false","uniqueKey":"result.oneOf.1","typeLabel":"null"}],"uniqueKey":"result","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"errors":[{"code":"invalid-request","message":"The request contains invalid parameters."}],"result":{}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"cea216b5-9159-488e-a42d-f5626675ace3":{"OAuth2":{"type":"oauth2","description":"OAuth2 client credentials flow. Token endpoints:\n- Staging: https://login-staging.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token\n- Production: https://login.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token\n","flows":{"clientCredentials":{"tokenUrl":"https://login-staging.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token","scopes":{}}},"scopes":[],"schemeName":"OAuth2"}}},"servers":{"21e412a3-a369-4e3e-8c53-f1ccb83c3a83":{"url":"https://api.venlyfinance.com/v1","description":"Production"},"bed023ee-c018-412c-ba06-d7ddf85d8199":{"url":"https://api-staging.venlyfinance.com/v1","description":"Staging"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"oauth2","description":"OAuth2 client credentials flow. Token endpoints:\n- Staging: https://login-staging.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token\n- Production: https://login.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token\n","flows":{"clientCredentials":{"tokenUrl":"https://login-staging.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token","scopes":{}}},"scopes":[],"schemeName":"OAuth2"},"schema":{"title":"OAuth2 Auth","type":"string","isRequired":true,"description":"OAuth2 client credentials flow. Token endpoints:\n- Staging: https://login-staging.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token\n- Production: https://login.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"OAuth2","name":"Authorization"}],"title":"OAuth2"}]},"originalFileLocation":"api-reference/Finance-API-Specs.yaml"},"subdomain":"venly","siteName":"Venly Finance","title":"Create a virtual bank account - Venly Finance","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-05T13:22:19.047Z","originalFileLocation":"api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account.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=\"system\"}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=\"Assign EUR (SEPA) or USD (ACH) bank details to an account for fiat pay-ins.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Venly Finance\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/venly/NJHVXnPMqQUaB4Tk/_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/venly/NJHVXnPMqQUaB4Tk/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/venly/NJHVXnPMqQUaB4Tk/_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/venly/NJHVXnPMqQUaB4Tk/_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/venly/NJHVXnPMqQUaB4Tk/_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/venly/NJHVXnPMqQUaB4Tk/_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/venly/NJHVXnPMqQUaB4Tk/_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/venly/NJHVXnPMqQUaB4Tk/_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/venly/NJHVXnPMqQUaB4Tk/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a virtual bank account - Venly Finance\">\u003cmeta data-mint-head property=\"og:description\" content=\"Assign EUR (SEPA) or USD (ACH) bank details to an account for fiat pay-ins.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Venly Finance\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.venlyfinance.com/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://venly.mintlify.site/_mintlify/api/og/v2?division=Virtual+Bank+Accounts\u0026amp;title=Create+a+virtual+bank+account\u0026amp;description=Assign+EUR+%28SEPA%29+or+USD+%28ACH%29+bank+details+to+an+account+for+fiat+pay-ins.\u0026amp;theme=66844d886c63c9d7741f1e37\u0026amp;signature=eb40d59c2d33d3354ac40a32cdcbaa219067c75f15d3d5fc9efbd4fa089a71d6\">\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 virtual bank account - Venly Finance\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Assign EUR (SEPA) or USD (ACH) bank details to an account for fiat pay-ins.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://venly.mintlify.site/_mintlify/api/og/v2?division=Virtual+Bank+Accounts\u0026amp;title=Create+a+virtual+bank+account\u0026amp;description=Assign+EUR+%28SEPA%29+or+USD+%28ACH%29+bank+details+to+an+account+for+fiat+pay-ins.\u0026amp;theme=66844d886c63c9d7741f1e37\u0026amp;signature=eb40d59c2d33d3354ac40a32cdcbaa219067c75f15d3d5fc9efbd4fa089a71d6\">\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/venly/NJHVXnPMqQUaB4Tk/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Venly Finance\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#e07826\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.venlyfinance.com/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.venlyfinance.com/#organization\",\"name\":\"Venly Finance\",\"url\":\"https://docs.venlyfinance.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/venly/NZGy1d4c4LA-0jM9/logo/light_venly_logo.png?fit=max\u0026auto=format\u0026n=NZGy1d4c4LA-0jM9\u0026q=85\u0026s=d808fd8f702829ca93bf607f200800bb\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.venlyfinance.com#website\",\"name\":\"Venly Finance\",\"url\":\"https://docs.venlyfinance.com\",\"publisher\":{\"@id\":\"https://docs.venlyfinance.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.venlyfinance.com/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account#webpage\",\"url\":\"https://docs.venlyfinance.com/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account\",\"name\":\"Create a virtual bank account\",\"description\":\"Assign EUR (SEPA) or USD (ACH) bank details to an account for fiat pay-ins.\",\"dateModified\":\"2026-10-05T13:22:19.047Z\",\"isPartOf\":{\"@id\":\"https://docs.venlyfinance.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.venlyfinance.com/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.venlyfinance.com/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Virtual Bank Accounts\",\"item\":\"https://docs.venlyfinance.com/api-reference/Finance-API/virtual-bank-accounts/list-virtual-bank-accounts\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a virtual bank account\",\"item\":\"https://docs.venlyfinance.com/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.venlyfinance.com/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account#apireference\",\"headline\":\"Create a virtual bank account\",\"name\":\"Create a virtual bank account\",\"description\":\"Assign EUR (SEPA) or USD (ACH) bank details to an account for fiat pay-ins.\",\"url\":\"https://docs.venlyfinance.com/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account\",\"mainEntityOfPage\":{\"@id\":\"https://docs.venlyfinance.com/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account#webpage\"},\"dateModified\":\"2026-10-05T13:22:19.047Z\",\"publisher\":{\"@id\":\"https://docs.venlyfinance.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.venlyfinance.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Venly Finance\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Venly Finance","nav":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://venlyfinance.com/blog"},{"anchor":"Support","icon":"envelope","href":"https://venlyfinance.com/contact"}]},"tabs":[{"tab":"Getting Started","pages":[{"title":"Getting Started","href":""}]},{"tab":"Fundflow API","pages":[{"title":"Fundflow API","href":"/guides/payments/getting-started"}]},{"tab":"Finance API","groups":[{"group":"Overview","pages":[{"title":"Finance API","sidebarTitle":"Overview","icon":"building-columns","href":"/api-reference/introduction"},{"title":"Data model","icon":"sitemap","href":"/guides/finance/data-model"},{"title":"Getting started","icon":"rocket","href":"/guides/finance/getting-started"},{"title":"Integration Walkthrough","sidebarTitle":"Integration Walkthrough","icon":"route","href":"/guides/finance/integration-walkthrough"},{"title":"Glossary","sidebarTitle":"Glossary","icon":"book-open","href":"/guides/finance/glossary"},{"title":"Countries","icon":"globe-europe","href":"/guides/finance/countries"}]},{"group":"Recipes","pages":[{"title":"Recipe: issue wallets, receive fiat, pay out fiat","sidebarTitle":"Wallet API end-to-end","icon":"book-open","href":"/guides/finance/recipes/wallet-api-end-to-end"}]},{"group":"Onboarding \u0026 Verification","pages":[{"title":"Onboarding lifecycle","sidebarTitle":"Onboarding lifecycle","icon":"route","href":"/guides/finance/onboarding/lifecycle"},{"title":"Roles \u0026 entities","sidebarTitle":"Roles \u0026 entities","icon":"sitemap","href":"/guides/finance/onboarding/roles-and-entities"},{"title":"Individual KYC","sidebarTitle":"Individual KYC","icon":"user","href":"/guides/finance/onboarding/individual-kyc"},{"title":"Business KYB","sidebarTitle":"Business KYB","icon":"building","href":"/guides/finance/onboarding/business-kyb"},{"title":"Hosted verification links","sidebarTitle":"Hosted verification","icon":"link","href":"/guides/finance/onboarding/hosted-verification"},{"title":"Sumsub token sharing","sidebarTitle":"Sumsub token sharing","icon":"forward","href":"/guides/finance/onboarding/sumsub-token-sharing"},{"title":"Partner-terms consent","sidebarTitle":"Partner-terms consent","icon":"file-signature","href":"/guides/finance/onboarding/partner-terms-consent"},{"title":"Partner onboarding","sidebarTitle":"Partner onboarding","icon":"handshake","href":"/guides/finance/onboarding/partner-onboarding"},{"title":"Troubleshooting verification","sidebarTitle":"Troubleshooting","icon":"wrench","href":"/guides/finance/onboarding/troubleshooting"}]},{"group":"Core Concepts","pages":[{"title":"Venly-managed vs self-custody","icon":"key","href":"/guides/finance/managed-vs-self-custody"},{"title":"Account verification","icon":"id-card","href":"/guides/finance/kyc-verification"},{"title":"Wallets \u0026 balances","icon":"wallet","href":"/guides/finance/wallets"},{"title":"Approving transfers without gas","icon":"file-signature","href":"/guides/finance/permits-and-allowances"},{"title":"Transfers","icon":"money-bill-transfer","href":"/guides/finance/transfers"},{"title":"Virtual bank accounts","sidebarTitle":"Virtual bank accounts","icon":"building-columns","href":"/guides/finance/virtual-bank-accounts"},{"title":"Pay-ins","sidebarTitle":"Pay-ins","icon":"arrow-down-to-bracket","href":"/guides/finance/pay-ins"},{"title":"Pay-outs","icon":"money-bill-transfer","href":"/guides/finance/payouts"},{"title":"Webhooks","icon":"bell","href":"/guides/finance/webhooks"},{"title":"API credentials","sidebarTitle":"API credentials","icon":"key","href":"/guides/finance/api-credentials"},{"title":"Billing","sidebarTitle":"Billing","icon":"receipt","href":"/guides/finance/billing"},{"title":"Safe retries with idempotency keys","icon":"arrows-rotate","href":"/guides/finance/idempotency"},{"title":"Versioning \u0026 safe updates","icon":"code-branch","href":"/guides/finance/versioning"}]},{"group":"Parties","pages":[{"title":"List parties","openapi":"api-reference/Finance-API-Specs.yaml GET /parties","href":"/api-reference/Finance-API/parties/list-all-parties"},{"title":"Create a party","openapi":"api-reference/Finance-API-Specs.yaml POST /parties","href":"/api-reference/Finance-API/parties/create-a-new-party"},{"title":"Get a party","openapi":"api-reference/Finance-API-Specs.yaml GET /parties/{partyId}","href":"/api-reference/Finance-API/parties/get-party-details"},{"title":"Update a party","openapi":"api-reference/Finance-API-Specs.yaml PATCH /parties/{partyId}","href":"/api-reference/Finance-API/parties/update-party-details"},{"title":"Delete a party","openapi":"api-reference/Finance-API-Specs.yaml DELETE /parties/{partyId}","href":"/api-reference/Finance-API/parties/delete-party"},{"title":"Create a verification link","openapi":"api-reference/Finance-API-Specs.yaml POST /parties/{partyId}/verification","href":"/api-reference/Finance-API/parties/create-a-verification-link"},{"title":"Get verification linkage","openapi":"api-reference/Finance-API-Specs.yaml GET /parties/{partyId}/iv-verification","href":"/api-reference/Finance-API/parties/get-verification-linkage"},{"title":"Get a party's KYC status","openapi":"api-reference/Finance-API-Specs.yaml GET /parties/{partyId}/kyc-status","href":"/api-reference/Finance-API/parties/get-a-partys-kyc-status"},{"title":"Issue a KYC completion link","openapi":"api-reference/Finance-API-Specs.yaml POST /parties/{partyId}/kyc-status/completion-link","href":"/api-reference/Finance-API/parties/issue-a-kyc-completion-link"},{"title":"Get partner-terms consent state","openapi":"api-reference/Finance-API-Specs.yaml GET /parties/{partyId}/partner-terms","href":"/api-reference/Finance-API/parties/get-a-partys-partner-terms-consent-state"},{"title":"Issue a partner-terms consent link","openapi":"api-reference/Finance-API-Specs.yaml POST /parties/{partyId}/partner-terms/link","href":"/api-reference/Finance-API/parties/issue-a-partner-terms-consent-link"},{"title":"Get a party's partner-onboarding status","openapi":"api-reference/Finance-API-Specs.yaml GET /parties/{partyId}/partner-onboarding","href":"/api-reference/Finance-API/parties/get-a-partys-partner-onboarding-status"},{"title":"Request partner onboarding","openapi":"api-reference/Finance-API-Specs.yaml POST /parties/{partyId}/partner-onboarding","href":"/api-reference/Finance-API/parties/request-partner-onboarding-for-a-party"}]},{"group":"Accounts","pages":[{"title":"List accounts","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts","href":"/api-reference/Finance-API/accounts/list-all-accounts"},{"title":"Create an account","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts","href":"/api-reference/Finance-API/accounts/create-a-new-account"},{"title":"Get an account","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}","href":"/api-reference/Finance-API/accounts/get-account-details"},{"title":"List party roles","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/party-roles","href":"/api-reference/Finance-API/accounts/list-party-roles-for-an-account"},{"title":"Add a party role","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{accountId}/party-roles","href":"/api-reference/Finance-API/accounts/add-a-party-to-an-account"},{"title":"Remove a party role","openapi":"api-reference/Finance-API-Specs.yaml DELETE /accounts/{accountId}/party-roles/{partyId}","href":"/api-reference/Finance-API/accounts/remove-a-party-from-an-account"}]},{"group":"Virtual Bank Accounts","pages":[{"title":"List virtual bank accounts","description":"List the virtual bank accounts assigned to an account.","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/virtual-bank-accounts","href":"/api-reference/Finance-API/virtual-bank-accounts/list-virtual-bank-accounts"},{"title":"Create a virtual bank account","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{accountId}/virtual-bank-accounts","href":"/api-reference/Finance-API/virtual-bank-accounts/create-a-virtual-bank-account"},{"title":"Get a virtual bank account","description":"Retrieve a single virtual bank account by ID.","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/virtual-bank-accounts/{virtualBankAccountId}","href":"/api-reference/Finance-API/virtual-bank-accounts/get-virtual-bank-account-details"},{"title":"Prepare a wallet-ownership proof","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{accountId}/virtual-bank-accounts/prepare","href":"/api-reference/Finance-API/virtual-bank-accounts/prepare-a-wallet-ownership-proof"},{"title":"Close a virtual bank account","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{accountId}/virtual-bank-accounts/{virtualBankAccountId}/close","href":"/api-reference/Finance-API/virtual-bank-accounts/close-a-virtual-bank-account"}]},{"group":"Supported Assets","pages":[{"title":"List supported assets","openapi":"api-reference/Finance-API-Specs.yaml GET /supported-assets","href":"/api-reference/Finance-API/supported-assets/list-supported-assets"},{"title":"List account supported assets","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/supported-assets","href":"/api-reference/Finance-API/supported-assets/list-account-supported-assets"}]},{"group":"Wallets","pages":[{"title":"List wallets","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/wallets","href":"/api-reference/Finance-API/wallets/list-wallets-for-an-account"}]},{"group":"Transfers","pages":[{"title":"Create a fiat transfer","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{senderAccountId}/transfers/fiat","href":"/api-reference/Finance-API/transfers/create-fiat-transfer"},{"title":"Create a crypto transfer","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{senderAccountId}/transfers/crypto","href":"/api-reference/Finance-API/transfers/create-crypto-transfer"},{"title":"List transfers","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/transfers","href":"/api-reference/Finance-API/transfers/list-transfers-for-account"},{"title":"Get a transfer","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/transfers/{transferId}","href":"/api-reference/Finance-API/transfers/get-transfer-details"}]},{"group":"Fiat to Crypto Payment Sessions","pages":[{"title":"Create a pay-in session","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{accountId}/fiat-to-crypto/payment-sessions","tag":"Coming soon","href":"/api-reference/Finance-API/fiat-to-crypto-payment-sessions/create-a-fiat-to-crypto-payment-session"},{"title":"List pay-in sessions","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/fiat-to-crypto/payment-sessions","tag":"Coming soon","href":"/api-reference/Finance-API/fiat-to-crypto-payment-sessions/list-pay-in-sessions"},{"title":"Get a pay-in session","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/fiat-to-crypto/payment-sessions/{sessionId}","tag":"Coming soon","href":"/api-reference/Finance-API/fiat-to-crypto-payment-sessions/get-a-pay-in-session"}]},{"group":"Pay-Ins","pages":[{"title":"List pay-ins","openapi":"api-reference/Finance-API-Specs.yaml GET /pay-ins","href":"/api-reference/Finance-API/pay-ins/list-pay-ins"},{"title":"Get a pay-in","openapi":"api-reference/Finance-API-Specs.yaml GET /pay-ins/{payInId}","href":"/api-reference/Finance-API/pay-ins/get-a-pay-in"}]},{"group":"Payout Bank Accounts","pages":[{"title":"Register a payout bank account","openapi":"api-reference/Finance-API-Specs.yaml POST /parties/{partyId}/payout-bank-accounts","href":"/api-reference/Finance-API/payout-bank-accounts/register-a-payout-bank-account"},{"title":"List payout bank accounts","openapi":"api-reference/Finance-API-Specs.yaml GET /parties/{partyId}/payout-bank-accounts","href":"/api-reference/Finance-API/payout-bank-accounts/list-payout-bank-accounts"},{"title":"Get a payout bank account","openapi":"api-reference/Finance-API-Specs.yaml GET /parties/{partyId}/payout-bank-accounts/{payoutBankAccountId}","href":"/api-reference/Finance-API/payout-bank-accounts/get-a-payout-bank-account"}]},{"group":"Payout Routes","pages":[{"title":"Create a payout route","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{accountId}/payout-routes","href":"/api-reference/Finance-API/payout-routes/create-a-payout-route"},{"title":"List payout routes","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/payout-routes","href":"/api-reference/Finance-API/payout-routes/list-payout-routes"},{"title":"Prepare a route ownership proof","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{accountId}/payout-routes/{routeId}/ownership-proof/prepare","href":"/api-reference/Finance-API/payout-routes/prepare-a-route-ownership-proof"},{"title":"Submit a route ownership proof","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{accountId}/payout-routes/{routeId}/ownership-proof/complete","href":"/api-reference/Finance-API/payout-routes/submit-a-route-ownership-proof"}]},{"group":"Payouts","pages":[{"title":"Request a payout","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{accountId}/payouts","href":"/api-reference/Finance-API/payouts/request-a-payout"},{"title":"List payouts","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/payouts","href":"/api-reference/Finance-API/payouts/list-payouts"},{"title":"Get a payout","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/payouts/{payoutId}","href":"/api-reference/Finance-API/payouts/get-a-payout"}]},{"group":"Permits","pages":[{"title":"Get permit messages","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/wallets/{walletId}/permits","href":"/api-reference/Finance-API/permits/get-permit-messages"},{"title":"Submit a signed permit","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{accountId}/wallets/{walletId}/permits","href":"/api-reference/Finance-API/permits/submit-signed-permit"}]},{"group":"Allowances","pages":[{"title":"Get wallet allowances","openapi":"api-reference/Finance-API-Specs.yaml GET /accounts/{accountId}/wallets/{walletId}/allowances","href":"/api-reference/Finance-API/allowances/get-wallet-token-allowances"},{"title":"Verify wallet allowances","openapi":"api-reference/Finance-API-Specs.yaml POST /accounts/{accountId}/wallets/{walletId}/allowance-verification","tag":"Coming soon","href":"/api-reference/Finance-API/allowances/verify-wallet-allowances"}]},{"group":"Webhooks","pages":[{"title":"Register a webhook","openapi":"api-reference/Finance-API-Specs.yaml POST /webhooks","href":"/api-reference/Finance-API/webhooks/register-a-webhook"},{"title":"List webhooks","openapi":"api-reference/Finance-API-Specs.yaml GET /webhooks","href":"/api-reference/Finance-API/webhooks/list-webhooks"},{"title":"Get webhook details","openapi":"api-reference/Finance-API-Specs.yaml GET /webhooks/{webhookId}","href":"/api-reference/Finance-API/webhooks/get-webhook-details"},{"title":"Update a webhook","openapi":"api-reference/Finance-API-Specs.yaml PUT /webhooks/{webhookId}","href":"/api-reference/Finance-API/webhooks/update-a-webhook"},{"title":"Delete a webhook","openapi":"api-reference/Finance-API-Specs.yaml DELETE /webhooks/{webhookId}","href":"/api-reference/Finance-API/webhooks/delete-a-webhook"},{"title":"Ping a webhook","openapi":"api-reference/Finance-API-Specs.yaml POST /webhooks/{webhookId}/ping","href":"/api-reference/Finance-API/webhooks/ping-a-webhook"},{"title":"List webhook deliveries","openapi":"api-reference/Finance-API-Specs.yaml GET /webhooks/{webhookId}/deliveries","href":"/api-reference/Finance-API/webhooks/list-webhook-deliveries"},{"title":"Get a webhook delivery","openapi":"api-reference/Finance-API-Specs.yaml GET /webhooks/{webhookId}/deliveries/{deliveryId}","href":"/api-reference/Finance-API/webhooks/get-a-webhook-delivery"},{"title":"Resend a webhook delivery","openapi":"api-reference/Finance-API-Specs.yaml POST /webhooks/{webhookId}/deliveries/{deliveryId}/resend","href":"/api-reference/Finance-API/webhooks/resend-a-webhook-delivery"}]},{"group":"API Credentials","pages":[{"title":"List API credentials","openapi":"api-reference/Finance-API-Specs.yaml GET /api-credentials","href":"/api-reference/Finance-API/api-credentials/list-api-credentials"},{"title":"Create API credentials","openapi":"api-reference/Finance-API-Specs.yaml POST /api-credentials","href":"/api-reference/Finance-API/api-credentials/create-api-credentials"},{"title":"Rotate a credential's secret","openapi":"api-reference/Finance-API-Specs.yaml POST /api-credentials/{clientId}/secret","href":"/api-reference/Finance-API/api-credentials/rotate-a-credentials-secret"},{"title":"Enable or disable a credential","openapi":"api-reference/Finance-API-Specs.yaml PUT /api-credentials/{clientId}/status","href":"/api-reference/Finance-API/api-credentials/enable-or-disable-a-credential"}]},{"group":"Billing","pages":[{"title":"List invoices","openapi":"api-reference/Finance-API-Specs.yaml GET /billing/invoices","href":"/api-reference/Finance-API/billing/list-invoices"},{"title":"Get an invoice","openapi":"api-reference/Finance-API-Specs.yaml GET /billing/invoices/{invoiceId}","href":"/api-reference/Finance-API/billing/get-an-invoice"},{"title":"Download an invoice PDF","openapi":"api-reference/Finance-API-Specs.yaml GET /billing/invoices/{invoiceId}/download","href":"/api-reference/Finance-API/billing/download-an-invoice-pdf"}]},{"group":"Company","pages":[{"title":"Get your company profile","openapi":"api-reference/Finance-API-Specs.yaml GET /company","href":"/api-reference/Finance-API/company/get-your-company-profile"}]},{"group":"Reference","pages":[{"title":"Errors \u0026 error codes","sidebarTitle":"Errors","icon":"triangle-exclamation","href":"/guides/finance/errors"},{"title":"Supported chains \u0026 assets","sidebarTitle":"Chains \u0026 assets","icon":"coins","href":"/guides/finance/supported-chains-and-assets"}]}]},{"tab":"Upcoming","pages":[{"title":"Upcoming","href":"/guides/card-issuance/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/guides/finance/changelog"}]}]},"basePath":"","title":"Create a virtual bank account - Venly Finance","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}