Requires scope:manage:pay-outs — see Required scopes.Submits the signed message and resumes the route’s registration. On success the route leaves AWAITING_OWNERSHIP_PROOF and continues to ACTIVE asynchronously.
A 200 means the proof was accepted, not that the route is ready. Poll the route or register a webhook to hear when it reaches ACTIVE — only then does it have a depositAddress.
Send messageexactly as prepare returned it. It must match the canonical text for this route, which embeds the route’s own wallet, and the signature must recover that wallet.That’s what makes the stateless design safe, and it has two consequences worth knowing:
A proof signed for a different wallet, route or tenant is rejected — it can’t be replayed here.
A message with extra text wrapped around the expected content is rejected too, even if the signature is valid.
You don’t have to call prepare first. This endpoint only cares that the message is canonical and the signature matches.
The proof is never stored or logged. It’s verified in memory, forwarded once, and discarded — only the outcome is persisted.
Code
Meaning
ownership-proof-not-applicable
This route needs no owner-signed proof, or its source wallet is Venly-managed.
invalid-proof-message
message isn’t the canonical text for this route.
signature-mismatch
signature doesn’t recover the route’s wallet address.
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-facing route view. Provider identity is never exposed.
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":""},"chroma":{"liveDeploymentHistoryId":"6ad0bd1e4dcba6f2ddf906eb","collectionId":"883d59b8-ed41-4ef2-8012-a4b8f33bdfc7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad0bd1e4dcba6f2ddf906eb"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad0bd1e4dcba6f2ddf906eb","clientVersion":"0.0.4006","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":[{"name":"kill-isr","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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/Finance-API/payout-routes/submit-a-route-ownership-proof","slug":"/api-reference/Finance-API/payout-routes/submit-a-route-ownership-proof","pageMetadata":{"title":"Submit a route ownership proof","description":"Submit the signed message and resume a paused pay-out route registration.","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"},"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: \"Submit the signed message and resume a paused pay-out route registration.\"\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`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Note,Table}=_components;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:pay-outs`}),` — see `,_jsx(_components.a,{href:`/getting-started/authentication#required-scopes-finance-api`,children:`Required scopes`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Submits the signed message and resumes the route’s registration. On success the route leaves `,_jsx(_components.code,{children:`AWAITING_OWNERSHIP_PROOF`}),` and continues to `,_jsx(_components.code,{children:`ACTIVE`}),` asynchronously.`]}),`\n`,_jsxs(Note,{children:[`A `,_jsx(_components.code,{children:`200`}),` means the proof was accepted, not that the route is ready. Poll the route or `,_jsx(_components.a,{href:`/guides/finance/webhooks`,children:`register a webhook`}),` to hear when it reaches `,_jsx(_components.code,{children:`ACTIVE`}),` — only then does it have a `,_jsx(_components.code,{children:`depositAddress`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Send `,_jsx(_components.code,{children:`message`}),` `,_jsxs(_components.strong,{children:[`exactly as `,_jsx(_components.a,{href:`/api-reference/Finance-API/payout-routes/prepare-a-route-ownership-proof`,children:`prepare`}),` returned it`]}),`. It must match the canonical text for this route, which embeds the route’s own wallet, and the signature must recover that wallet.`]}),`\n`,_jsx(_components.p,{children:`That’s what makes the stateless design safe, and it has two consequences worth knowing:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A proof signed for a different wallet, route or tenant is rejected — it can’t be replayed here.`}),`\n`,_jsx(_components.li,{children:`A message with extra text wrapped around the expected content is rejected too, even if the signature is valid.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`You don’t have to call `,_jsx(_components.code,{children:`prepare`}),` first. This endpoint only cares that the message is canonical and the signature matches.`]}),`\n`,_jsx(Note,{children:`The proof is never stored or logged. It’s verified in memory, forwarded once, and discarded — only the outcome is persisted.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ownership-proof-not-applicable`})}),_jsx(_components.td,{children:`This route needs no owner-signed proof, or its source wallet is Venly-managed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`invalid-proof-message`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`message`}),` isn’t the canonical text for this route.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`signature-mismatch`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`signature`}),` doesn’t recover the route’s wallet address.`]})]})]})]})]})}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":"Submit a route ownership proof","description":"Submit the signed message and resume a paused pay-out route registration.","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"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Payout Routes"],"summary":"Submit a pay-out route ownership proof","description":"Submit the signed message and resume a paused pay-out route registration.","operationId":"completePayoutRouteOwnershipProof","parameters":["f15ee3d3-2572-4d27-a2ab-8d87e6e07c39","b97052d6-ecd6-4877-8050-44b150b4afb2"],"requestBody":"cbbf09b0-42cd-444b-992c-8d09a26e70ad","responses":{"200":"83047fde-d11d-4d50-8563-23b18e02d1a2","400":"09dfa12a-4cdf-48ee-9f4d-a82d99b237d1","401":"0b2c26b0-8003-4484-b5dc-857a185a4a9d","403":"e4727f82-731b-4015-941b-985ea971478a","404":"f176a78a-f30b-4878-8bad-d1520a14280c","500":"c3025106-c33f-4bd3-91ae-6a2f7a2a78a6"},"method":"post","type":"path","servers":["21e412a3-a369-4e3e-8c53-f1ccb83c3a83","bed023ee-c018-412c-ba06-d7ddf85d8199"],"security":["cea216b5-9159-488e-a42d-f5626675ace3"],"path":"/accounts/{accountId}/payout-routes/{routeId}/ownership-proof/complete","baseUrlOptions":["https://api.venlyfinance.com/v1","https://api-staging.venlyfinance.com/v1"],"title":"Submit a pay-out route ownership proof","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"f15ee3d3-2572-4d27-a2ab-8d87e6e07c39":{"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"},"b97052d6-ecd6-4877-8050-44b150b4afb2":{"name":"routeId","in":"path","required":true,"description":"Unique pay-out route identifier","schema":{"type":"string","format":"uuid","isRequired":true,"description":"Unique pay-out route identifier","uniqueKey":"","typeLabel":"string\u003cuuid>"},"example":"7b683e87-4c73-4821-aa1d-52481805f40b"},"f48a8a1f-e262-492a-b74d-9d35fd8bd71a":{"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","required":["message","signature"],"properties":{"message":{"type":"string","description":"The message exactly as `prepare` returned it","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"signature":{"type":"string","description":"EIP-191 signature produced by the route's source wallet","isRequired":true,"uniqueKey":"signature","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"message":"I confirm ownership of wallet 0x7c6b9095... on 20/08/2026","signature":"0x9f8e7d6c5b4a39281706f5e4d3c2b1a09f8e7d6c5b4a39281706f5e4d3c2b1a01b"},"examples":{"Example":{"title":"Example","value":{"message":"I confirm ownership of wallet 0x7c6b9095... on 20/08/2026","signature":"0x9f8e7d6c5b4a39281706f5e4d3c2b1a09f8e7d6c5b4a39281706f5e4d3c2b1a01b"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"83047fde-d11d-4d50-8563-23b18e02d1a2":{"description":"The route, with registration resumed","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":"Customer-facing route view. Provider identity is never exposed.","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"result.id","typeLabel":"string\u003cuuid>"},"status":{"type":"string","description":"Lifecycle of a payout route. Only `ACTIVE` routes can be used for pay-outs or as PUSH deposit\naddresses.\n- `PENDING` — created; provider registration not yet started\n- `REGISTERING` — provider registration in progress\n- `AWAITING_OWNERSHIP_PROOF` — waiting for the owner of a self-custody source wallet to sign\n a wallet-ownership proof. Registration is paused until you submit it — see\n [Submit a pay-out route ownership proof](/api-reference/Finance-API/payout-routes/submit-a-route-ownership-proof).\n This is the only status that needs an action from you.\n- `ACTIVE` — registered; `depositAddress` populated\n- `REJECTED` — registration failed terminally or was rejected\n\n`ACTIVE`, `AWAITING_OWNERSHIP_PROOF` and `REJECTED` each raise a webhook\n(`PAYOUT_ROUTE_ACTIVATED`, `PAYOUT_ROUTE_AWAITING_OWNERSHIP_PROOF`, `PAYOUT_ROUTE_REJECTED`), so\nyou don't need to poll. Still reconcile routes left in `AWAITING_OWNERSHIP_PROOF` now and then:\ndelivery is best-effort, and the route only moves once the proof is submitted. `PENDING` and\n`REGISTERING` raise no event.\n","enum":["PENDING","REGISTERING","AWAITING_OWNERSHIP_PROOF","ACTIVE","REJECTED"],"uniqueKey":"result.status","typeLabel":"enum\u003cstring>"},"depositAsset":{"type":"object","description":"The crypto asset a customer sends to fund a route — a (chain, name) pair.","required":["chain","name"],"properties":{"chain":{"type":"string","description":"Supported blockchain network. Availability per chain depends on your company's configured\n`supportedChains` — see [Supported chains and assets](/guides/finance/supported-chains-and-assets).\n","enum":["AVALANCHE","BASE","ETHEREUM","POLYGON","SOLANA"],"isRequired":true,"uniqueKey":"result.depositAsset.chain","typeLabel":"enum\u003cstring>"},"name":{"type":"string","maxLength":50,"description":"Crypto asset name","example":"USDC","isRequired":true,"uniqueKey":"result.depositAsset.name","typeLabel":"string"}},"uniqueKey":"result.depositAsset","typeLabel":"object"},"fiatCurrency":{"type":"string","uniqueKey":"result.fiatCurrency","typeLabel":"string"},"depositAddress":{"oneOf":[{"type":"string","description":"The address a customer sends to for a PUSH pay-out. Included **only** for an `ACTIVE` route\non a `SELF_CUSTODY` account; null or omitted otherwise.\n","uniqueKey":"result.depositAddress.oneOf.0","typeLabel":"string"},{"type":"null","description":"The address a customer sends to for a PUSH pay-out. Included **only** for an `ACTIVE` route\non a `SELF_CUSTODY` account; null or omitted otherwise.\n","uniqueKey":"result.depositAddress.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.depositAddress","typeLabel":"string | null"},"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"},"examples":{"Example":{"title":"Example","value":{"success":true,"result":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","status":"PENDING","depositAsset":{"chain":"AVALANCHE","name":"USDC"},"fiatCurrency":"\u003cstring>","depositAddress":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z"}}}},"exampleType":"generated"}},"exampleType":"generated"},"09dfa12a-4cdf-48ee-9f4d-a82d99b237d1":{"description":"Bad request. Notable codes:\n- `ownership-proof-not-applicable` — this route needs no owner-signed proof, or its source wallet is Venly-managed\n- `invalid-proof-message` — `message` is not the canonical text for this route\n- `signature-mismatch` — `signature` does not recover the route's wallet address\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"},"0b2c26b0-8003-4484-b5dc-857a185a4a9d":{"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"},"e4727f82-731b-4015-941b-985ea971478a":{"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"},"f176a78a-f30b-4878-8bad-d1520a14280c":{"description":"Resource not found (404)","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":"account-not-found","message":"The requested resource was not found."}]},"examples":{"Example":{"title":"Example","value":{"success":false,"errors":[{"code":"account-not-found","message":"The requested resource was not found."}]}}},"exampleType":"examples"}},"exampleType":"examples"},"c3025106-c33f-4bd3-91ae-6a2f7a2a78a6":{"description":"Unexpected server error (500)","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":"internal-error","message":"An unexpected error occurred. Please try again later."}]},"examples":{"Example":{"title":"Example","value":{"success":false,"errors":[{"code":"internal-error","message":"An unexpected error occurred. Please try again later."}]}}},"exampleType":"examples"}},"exampleType":"examples"}},"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":"Submit a route ownership proof - Venly Finance","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-25T10:03:05.315Z","originalFileLocation":"api-reference/Finance-API/payout-routes/submit-a-route-ownership-proof.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=\"Submit the signed message and resume a paused pay-out route registration.\">\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=\"Submit a route ownership proof - Venly Finance\">\u003cmeta data-mint-head property=\"og:description\" content=\"Submit the signed message and resume a paused pay-out route registration.\">\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/payout-routes/submit-a-route-ownership-proof\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://venly.mintlify.app/_mintlify/api/og/v2?division=Payout+Routes\u0026amp;title=Submit+a+route+ownership+proof\u0026amp;description=Submit+the+signed+message+and+resume+a+paused+pay-out+route+registration.\u0026amp;theme=e440225e8514029a77b780e4\u0026amp;signature=9ebf9698b2a64b37ba558084ce4b449dc9d0285f5585f681e0b3107723336621\">\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=\"Submit a route ownership proof - Venly Finance\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Submit the signed message and resume a paused pay-out route registration.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://venly.mintlify.app/_mintlify/api/og/v2?division=Payout+Routes\u0026amp;title=Submit+a+route+ownership+proof\u0026amp;description=Submit+the+signed+message+and+resume+a+paused+pay-out+route+registration.\u0026amp;theme=e440225e8514029a77b780e4\u0026amp;signature=9ebf9698b2a64b37ba558084ce4b449dc9d0285f5585f681e0b3107723336621\">\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/payout-routes/submit-a-route-ownership-proof\">\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/payout-routes/submit-a-route-ownership-proof.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/payout-routes/submit-a-route-ownership-proof#webpage\",\"url\":\"https://docs.venlyfinance.com/api-reference/Finance-API/payout-routes/submit-a-route-ownership-proof\",\"name\":\"Submit a route ownership proof\",\"description\":\"Submit the signed message and resume a paused pay-out route registration.\",\"dateModified\":\"2026-08-25T10:03:05.315Z\",\"isPartOf\":{\"@id\":\"https://docs.venlyfinance.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.venlyfinance.com/api-reference/Finance-API/payout-routes/submit-a-route-ownership-proof#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.venlyfinance.com/api-reference/Finance-API/payout-routes/submit-a-route-ownership-proof#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Payout Routes\",\"item\":\"https://docs.venlyfinance.com/api-reference/Finance-API/payout-routes/create-a-payout-route\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Submit a route ownership proof\",\"item\":\"https://docs.venlyfinance.com/api-reference/Finance-API/payout-routes/submit-a-route-ownership-proof\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.venlyfinance.com/api-reference/Finance-API/payout-routes/submit-a-route-ownership-proof#apireference\",\"headline\":\"Submit a route ownership proof\",\"name\":\"Submit a route ownership proof\",\"description\":\"Submit the signed message and resume a paused pay-out route registration.\",\"url\":\"https://docs.venlyfinance.com/api-reference/Finance-API/payout-routes/submit-a-route-ownership-proof\",\"mainEntityOfPage\":{\"@id\":\"https://docs.venlyfinance.com/api-reference/Finance-API/payout-routes/submit-a-route-ownership-proof#webpage\"},\"dateModified\":\"2026-08-25T10:03:05.315Z\",\"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","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","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","description":"Get the exact message a self-custody wallet owner must sign to finish registering a pay-out route.","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","description":"Send crypto from an account wallet over a route and have the provider pay out fiat.","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"}]}]},"title":"Submit a route ownership proof - Venly Finance","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js","Markdown-Cc16CX65.js","clsx-Cs6nMGht.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-zbf22OZA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-C_fs-y5n.js"]}