Pay USDC to send money to a Venmo or PayPal recipient. The x402 USDC price is the requested amount plus a 4.9% fee (with a $1.50 minimum fee). On-chain payment credits the calling wallet’s Laso account balance via the standard deposit webhook; the callable then debits the gross amount and dispatches the payout.
Asynchronous. A dispatched payout answers 202 Accepted, not 200: the payment is recorded and handed to the payout provider, which settles it afterwards. Poll the returned status_url (GET /get-payment-status?payment_id=...) until state reaches a terminal value rather than treating the 202 as money received. A 200 means the opposite: nothing was dispatched because identity verification is required.
KYC required. The first time a wallet sends a Venmo or PayPal payout it must complete identity verification. If the wallet is not yet verified the response returns kyc_required: true and a kyc_url — open the URL, complete the flow, and retry. If you don’t want to proceed, the credited account balance can be withdrawn with POST /withdraw.
Recipient details. For Venmo, recipient_id is the recipient’s 10-digit U.S. phone number, and the first and last name are optional. No email is needed. For PayPal, recipient_id is the recipient’s PayPal email, which also serves as recipient_email (so recipient_email is optional), and the first and last name are required.
Fee: 4.9% with a $1.50 minimum (included in the USDC price).
GET
/
send-payment
Send a payment via Venmo or PayPal
curl --request GET \ --url https://laso.finance/send-payment
PayPal only. Recipient's email address; defaults to recipient_id (the PayPal email). Ignored for Venmo.
Response
Identity verification is required, so no payout was dispatched. The x402 payment you made was still credited to your Laso account balance: complete the flow at kyc_url and retry, or call POST /withdraw to pull the USDC back to your wallet.
URL the wallet owner must open to complete identity verification. No payout was sent, but the x402 payment you made was still credited to your Laso account balance. After verifying, retry /send-payment to dispatch the payout, or call POST /withdraw to pull the credited USDC back to your wallet.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Laso Finance API","colors":{"primary":"#3182CE","light":"#63B3ED","dark":"#2B6CB0"},"logo":{"light":"https://mintcdn.com/lasofinance/ofpGRRSVLQ9V1OQK/logo/light.svg?fit=max\u0026auto=format\u0026n=ofpGRRSVLQ9V1OQK\u0026q=85\u0026s=bd9f84a4711475d24375fe444b276211","dark":"https://mintcdn.com/lasofinance/ofpGRRSVLQ9V1OQK/logo/dark.svg?fit=max\u0026auto=format\u0026n=ofpGRRSVLQ9V1OQK\u0026q=85\u0026s=02b9e95a41760833955f02322dd28520"},"favicon":"https://mintcdn.com/lasofinance/ofpGRRSVLQ9V1OQK/favicon.svg?fit=max\u0026auto=format\u0026n=ofpGRRSVLQ9V1OQK\u0026q=85\u0026s=b77639351bc9249b59a562d4ce64ac18","navbar":{"links":[{"href":"mailto:support@laso.finance","label":"Support"},{"icon":"github","href":"https://github.com/LasoFinance/docs","label":"GitHub"}],"primary":{"type":"button","label":"laso.finance","href":"https://laso.finance"}},"footer":{"socials":{"x":"https://x.com/intent/follow?screen_name=lasofinance","github":"https://github.com/LasoFinance/docs"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lasofinance","hasAudioNarration":false,"actualSubdomain":"lasofinance","customDomains":["docs.laso.finance"],"gitSource":{"type":"github","owner":"lasofinance","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"edits":true,"thumbs":true,"issues":true,"agentFeedback":true},"entitlements":{},"buildId":"6aee4de288ca07f8054a49d4","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API Reference","count":78},{"language":"default","tag":"Guides","count":38},{"language":"default","tag":"Cards","count":20},{"language":"default","tag":"Banking","count":19},{"language":"default","tag":"Agent Wallet","count":11},{"language":"default","tag":"Platform","count":8},{"language":"default","tag":"Spend","count":8},{"language":"default","tag":"Account","count":8},{"language":"default","tag":"Integrations","count":7},{"language":"default","tag":"How We Use","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/send-a-payment-via-venmo-or-paypal","slug":"/api-reference/send-a-payment-via-venmo-or-paypal","pageMetadata":{"title":"Send a payment via Venmo or PayPal","description":"Pay USDC to send money to a Venmo or PayPal recipient. The x402 USDC price is the requested amount plus a 4.9% fee (with a \\$1.50 minimum fee). On-chain payment credits the calling wallet's Laso account balance via the standard deposit webhook; the callable then debits the gross amount and dispatches the payout.\n\n**Asynchronous.** A dispatched payout answers `202 Accepted`, not `200`: the payment is recorded and handed to the payout provider, which settles it afterwards. Poll the returned `status_url` (`GET /get-payment-status?payment_id=...`) until `state` reaches a terminal value rather than treating the 202 as money received. A `200` means the opposite: nothing was dispatched because identity verification is required.\n\n**KYC required.** The first time a wallet sends a Venmo or PayPal payout it must complete identity verification. If the wallet is not yet verified the response returns `kyc_required: true` and a `kyc_url` — open the URL, complete the flow, and retry. If you don't want to proceed, the credited account balance can be withdrawn with `POST /withdraw`.\n\n**Recipient details.** For Venmo, `recipient_id` is the recipient's 10-digit U.S. phone number, and the first and last name are optional. No email is needed. For PayPal, `recipient_id` is the recipient's PayPal email, which also serves as `recipient_email` (so `recipient_email` is optional), and the first and last name are required.\n\n**Fee:** 4.9% with a \\$1.50 minimum (included in the USDC price).","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /send-payment","href":"/api-reference/send-a-payment-via-venmo-or-paypal","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Pay USDC to send money to a Venmo or PayPal recipient. The x402 USDC price is the requested amount plus a 4.9% fee (with a $1.50 minimum fee). On-chain payment credits the calling wallet’s Laso account balance via the standard deposit webhook; the callable then debits the gross amount and dispatches the payout.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Asynchronous.\"\n }), \" A dispatched payout answers \", _jsx(_components.code, {\n children: \"202 Accepted\"\n }), \", not \", _jsx(_components.code, {\n children: \"200\"\n }), \": the payment is recorded and handed to the payout provider, which settles it afterwards. Poll the returned \", _jsx(_components.code, {\n children: \"status_url\"\n }), \" (\", _jsx(_components.code, {\n children: \"GET /get-payment-status?payment_id=...\"\n }), \") until \", _jsx(_components.code, {\n children: \"state\"\n }), \" reaches a terminal value rather than treating the 202 as money received. A \", _jsx(_components.code, {\n children: \"200\"\n }), \" means the opposite: nothing was dispatched because identity verification is required.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"KYC required.\"\n }), \" The first time a wallet sends a Venmo or PayPal payout it must complete identity verification. If the wallet is not yet verified the response returns \", _jsx(_components.code, {\n children: \"kyc_required: true\"\n }), \" and a \", _jsx(_components.code, {\n children: \"kyc_url\"\n }), \" — open the URL, complete the flow, and retry. If you don’t want to proceed, the credited account balance can be withdrawn with \", _jsx(_components.code, {\n children: \"POST /withdraw\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Recipient details.\"\n }), \" For Venmo, \", _jsx(_components.code, {\n children: \"recipient_id\"\n }), \" is the recipient’s 10-digit U.S. phone number, and the first and last name are optional. No email is needed. For PayPal, \", _jsx(_components.code, {\n children: \"recipient_id\"\n }), \" is the recipient’s PayPal email, which also serves as \", _jsx(_components.code, {\n children: \"recipient_email\"\n }), \" (so \", _jsx(_components.code, {\n children: \"recipient_email\"\n }), \" is optional), and the first and last name are required.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Fee:\"\n }), \" 4.9% with a $1.50 minimum (included in the USDC price).\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Send a payment via Venmo or PayPal","description":"Pay USDC to send money to a Venmo or PayPal recipient. The x402 USDC price is the requested amount plus a 4.9% fee (with a \\$1.50 minimum fee). On-chain payment credits the calling wallet's Laso account balance via the standard deposit webhook; the callable then debits the gross amount and dispatches the payout.\n\n**Asynchronous.** A dispatched payout answers `202 Accepted`, not `200`: the payment is recorded and handed to the payout provider, which settles it afterwards. Poll the returned `status_url` (`GET /get-payment-status?payment_id=...`) until `state` reaches a terminal value rather than treating the 202 as money received. A `200` means the opposite: nothing was dispatched because identity verification is required.\n\n**KYC required.** The first time a wallet sends a Venmo or PayPal payout it must complete identity verification. If the wallet is not yet verified the response returns `kyc_required: true` and a `kyc_url` — open the URL, complete the flow, and retry. If you don't want to proceed, the credited account balance can be withdrawn with `POST /withdraw`.\n\n**Recipient details.** For Venmo, `recipient_id` is the recipient's 10-digit U.S. phone number, and the first and last name are optional. No email is needed. For PayPal, `recipient_id` is the recipient's PayPal email, which also serves as `recipient_email` (so `recipient_email` is optional), and the first and last name are required.\n\n**Fee:** 4.9% with a \\$1.50 minimum (included in the USDC price).","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /send-payment","href":"/api-reference/send-a-payment-via-venmo-or-paypal","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"sendPayment","summary":"Send a payment via Venmo or PayPal","description":"Pay USDC to send money to a Venmo or PayPal recipient. The x402 USDC price is the requested amount plus a 4.9% fee (with a \\$1.50 minimum fee). On-chain payment credits the calling wallet's Laso account balance via the standard deposit webhook; the callable then debits the gross amount and dispatches the payout.\n\n**Asynchronous.** A dispatched payout answers `202 Accepted`, not `200`: the payment is recorded and handed to the payout provider, which settles it afterwards. Poll the returned `status_url` (`GET /get-payment-status?payment_id=...`) until `state` reaches a terminal value rather than treating the 202 as money received. A `200` means the opposite: nothing was dispatched because identity verification is required.\n\n**KYC required.** The first time a wallet sends a Venmo or PayPal payout it must complete identity verification. If the wallet is not yet verified the response returns `kyc_required: true` and a `kyc_url` — open the URL, complete the flow, and retry. If you don't want to proceed, the credited account balance can be withdrawn with `POST /withdraw`.\n\n**Recipient details.** For Venmo, `recipient_id` is the recipient's 10-digit U.S. phone number, and the first and last name are optional. No email is needed. For PayPal, `recipient_id` is the recipient's PayPal email, which also serves as `recipient_email` (so `recipient_email` is optional), and the first and last name are required.\n\n**Fee:** 4.9% with a \\$1.50 minimum (included in the USDC price).","x-x402":[{"price":"dynamic","priceRange":"~$6.50–$1,049 USD (amount $5–$1,000 × 1.049 fee, min $1.50 fee)","scheme":"exact","network":"eip155:8453","payTo":"0x3291e96b3bff7ed56e3ca8364273c5b4654b2b37"},{"price":"dynamic","priceRange":"~$6.50–$1,049 USD (amount $5–$1,000 × 1.049 fee, min $1.50 fee)","scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","payTo":"3MZVk97x9SeRxbYpc3jhzRfU2fyA3emYutnqfn9kNfYX"}],"x-payment-info":{"offers":[{"amount":null,"currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Payout via Venmo or PayPal","intent":"charge","method":"evm"}],"price":{"mode":"dynamic","currency":"USD","min":"6.50","max":"1049"},"protocols":[{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}},{"x402":{}}]},"parameters":["b53c6d8c-1e21-4fd9-b59f-741676f7b655","0efcda17-9b81-4b76-b9ec-6191b43008d7","fd8bfd79-af43-41ff-8020-a8e599f91d68","58ef478a-11f7-4b3c-9b6c-0d461d016ae8","627f9fb3-d4c6-4a66-a05a-43bfd6ab50b7","4d69a9de-b1cc-4490-bb80-e3fb858d1605"],"responses":{"200":"bbc5af30-1228-4f82-91c9-6241ed27c405","202":"0e3c7bc4-7f0f-4d48-9c15-704ab232ae44","400":"870e9894-9cd1-4bec-b4c5-35bf0e70f511","402":"68437496-b0ba-4603-baaa-a9a1732015a4"},"method":"get","type":"path","servers":["ac3eaebf-a471-45a2-a1e6-5b184b32c280"],"security":[],"path":"/send-payment","baseUrlOptions":["https://laso.finance"],"title":"Send a payment via Venmo or PayPal","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"b53c6d8c-1e21-4fd9-b59f-741676f7b655":{"name":"amount","in":"query","required":true,"description":"USD amount to send to the recipient (min \\$5, max \\$1,000). The x402 payment price is this amount plus a 4.9% fee (with a \\$1.50 minimum).","schema":{"type":"number","minimum":5,"maximum":1000,"isRequired":true,"description":"USD amount to send to the recipient (min \\$5, max \\$1,000). The x402 payment price is this amount plus a 4.9% fee (with a \\$1.50 minimum).","uniqueKey":"","typeLabel":"number"}},"0efcda17-9b81-4b76-b9ec-6191b43008d7":{"name":"platform","in":"query","required":true,"description":"Payment platform.","schema":{"type":"string","enum":["venmo","paypal"],"isRequired":true,"description":"Payment platform.","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"fd8bfd79-af43-41ff-8020-a8e599f91d68":{"name":"recipient_id","in":"query","required":true,"description":"Recipient identifier. For Venmo: 10-digit U.S. phone number. For PayPal: email address.","schema":{"type":"string","isRequired":true,"description":"Recipient identifier. For Venmo: 10-digit U.S. phone number. For PayPal: email address.","uniqueKey":"","typeLabel":"string"}},"58ef478a-11f7-4b3c-9b6c-0d461d016ae8":{"name":"recipient_first_name","in":"query","required":false,"description":"Recipient's first name (English letters A-Z and a-z only). Required for PayPal, optional for Venmo.","schema":{"type":"string","isRequired":false,"description":"Recipient's first name (English letters A-Z and a-z only). Required for PayPal, optional for Venmo.","uniqueKey":"","typeLabel":"string"}},"627f9fb3-d4c6-4a66-a05a-43bfd6ab50b7":{"name":"recipient_last_name","in":"query","required":false,"description":"Recipient's last name (English letters A-Z and a-z only). Required for PayPal, optional for Venmo.","schema":{"type":"string","isRequired":false,"description":"Recipient's last name (English letters A-Z and a-z only). Required for PayPal, optional for Venmo.","uniqueKey":"","typeLabel":"string"}},"4d69a9de-b1cc-4490-bb80-e3fb858d1605":{"name":"recipient_email","in":"query","required":false,"description":"PayPal only. Recipient's email address; defaults to recipient_id (the PayPal email). Ignored for Venmo.","schema":{"type":"string","format":"email","isRequired":false,"description":"PayPal only. Recipient's email address; defaults to recipient_id (the PayPal email). Ignored for Venmo.","uniqueKey":"","typeLabel":"string\u003cemail>"}}},"responses":{"bbc5af30-1228-4f82-91c9-6241ed27c405":{"description":"Identity verification is required, so no payout was dispatched. The x402 payment you made was still credited to your Laso account balance: complete the flow at `kyc_url` and retry, or call `POST /withdraw` to pull the USDC back to your wallet.","content":{"application/json":{"schema":{"type":"object","properties":{"auth":{"type":"object","properties":{"id_token":{"type":"string","description":"ID token — use as Bearer token for Laso Finance APIs","uniqueKey":"auth.id_token","typeLabel":"string"},"refresh_token":{"type":"string","description":"Use with POST /auth (grant_type=refresh_token) to get a new id_token when it expires","uniqueKey":"auth.refresh_token","typeLabel":"string"},"expires_in":{"type":"string","description":"Token lifetime in seconds","uniqueKey":"auth.expires_in","typeLabel":"string"}},"uniqueKey":"auth","typeLabel":"object"},"callable_base_url":{"type":"string","uniqueKey":"callable_base_url","typeLabel":"string"},"user_id":{"type":"string","uniqueKey":"user_id","typeLabel":"string"},"kyc_required":{"type":"boolean","enum":[true],"uniqueKey":"kyc_required","typeLabel":"enum\u003cboolean>"},"kyc_url":{"type":"string","description":"URL the wallet owner must open to complete identity verification. No payout was sent, but the x402 payment you made was still credited to your Laso account balance. After verifying, retry /send-payment to dispatch the payout, or call POST /withdraw to pull the credited USDC back to your wallet.","uniqueKey":"kyc_url","typeLabel":"string"},"message":{"type":"string","description":"Human-readable explanation of the KYC requirement and how to recover the credited funds via retry or POST /withdraw.","uniqueKey":"message","typeLabel":"string"},"platform":{"type":"string","enum":["venmo","paypal"],"uniqueKey":"platform","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","uniqueKey":"amount","typeLabel":"number"},"recipient_id":{"type":"string","uniqueKey":"recipient_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"auth":{"id_token":"\u003cstring>","refresh_token":"\u003cstring>","expires_in":"\u003cstring>"},"callable_base_url":"\u003cstring>","user_id":"\u003cstring>","kyc_required":true,"kyc_url":"\u003cstring>","message":"\u003cstring>","platform":"venmo","amount":123,"recipient_id":"\u003cstring>"}}},"exampleType":"generated"}},"headers":{"X-Laso-Api-Version":{"description":"The version of the API contract that produced this response, the same value `GET /version` returns as `api_version`. It moves only on a breaking change, so an agent can pin against it and tolerate unknown response fields without rechecking the docs. Distinct from `X-Laso-Docs-Version`, which tracks the prose. Present on every response once the service has read its version beacon; absent, rather than a placeholder, during the cold-start window before that read completes.","schema":{"type":"string","example":"1.0.0"}}},"exampleType":"generated"},"0e3c7bc4-7f0f-4d48-9c15-704ab232ae44":{"description":"Payout accepted. The payment is recorded and dispatched to the payout provider, which settles it afterwards, so this response reports that the request was accepted, not that the recipient has the money. Poll `status_url` (also returned in the `Location` header) until `state` reaches a terminal value.","headers":{"Location":{"description":"URL of the status resource for this payout, the same value as `status_url`.","schema":{"type":"string","format":"uri"}},"X-Laso-Api-Version":{"description":"The version of the API contract that produced this response, the same value `GET /version` returns as `api_version`. It moves only on a breaking change, so an agent can pin against it and tolerate unknown response fields without rechecking the docs. Distinct from `X-Laso-Docs-Version`, which tracks the prose. Present on every response once the service has read its version beacon; absent, rather than a placeholder, during the cold-start window before that read completes.","schema":{"type":"string","example":"1.0.0"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"auth":{"type":"object","properties":{"id_token":{"type":"string","description":"ID token — use as Bearer token for Laso Finance APIs","uniqueKey":"auth.id_token","typeLabel":"string"},"refresh_token":{"type":"string","description":"Use with POST /auth (grant_type=refresh_token) to get a new id_token when it expires","uniqueKey":"auth.refresh_token","typeLabel":"string"},"expires_in":{"type":"string","description":"Token lifetime in seconds","uniqueKey":"auth.expires_in","typeLabel":"string"}},"uniqueKey":"auth","typeLabel":"object"},"callable_base_url":{"type":"string","uniqueKey":"callable_base_url","typeLabel":"string"},"user_id":{"type":"string","uniqueKey":"user_id","typeLabel":"string"},"success":{"type":"boolean","uniqueKey":"success","typeLabel":"boolean"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"platform":{"type":"string","enum":["venmo","paypal"],"uniqueKey":"platform","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","uniqueKey":"amount","typeLabel":"number"},"recipient_id":{"type":"string","uniqueKey":"recipient_id","typeLabel":"string"},"payment_id":{"type":"string","description":"Id of the payout record just created. Pass it to `GET /get-payment-status?payment_id=...` to follow this specific payout.","uniqueKey":"payment_id","typeLabel":"string"},"status_url":{"type":"string","format":"uri","description":"Absolute URL to poll for this payout's state. Always present, so prefer it over the `Location` header.","example":"https://laso.finance/get-payment-status?payment_id=abc123","uniqueKey":"status_url","typeLabel":"string\u003curi>"},"state":{"type":"string","description":"Payment lifecycle state (e.g. `in-process`, `queued`).","uniqueKey":"state","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"auth":{"id_token":"\u003cstring>","refresh_token":"\u003cstring>","expires_in":"\u003cstring>"},"callable_base_url":"\u003cstring>","user_id":"\u003cstring>","success":true,"message":"\u003cstring>","platform":"venmo","amount":123,"recipient_id":"\u003cstring>","payment_id":"\u003cstring>","status_url":"https://laso.finance/get-payment-status?payment_id=abc123","state":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"870e9894-9cd1-4bec-b4c5-35bf0e70f511":{"description":"Invalid or missing parameters, or no payer address.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"headers":{"X-Laso-Api-Version":{"description":"The version of the API contract that produced this response, the same value `GET /version` returns as `api_version`. It moves only on a breaking change, so an agent can pin against it and tolerate unknown response fields without rechecking the docs. Distinct from `X-Laso-Docs-Version`, which tracks the prose. Present on every response once the service has read its version beacon; absent, rather than a placeholder, during the cold-start window before that read completes.","schema":{"type":"string","example":"1.0.0"}}},"exampleType":"generated"},"68437496-b0ba-4603-baaa-a9a1732015a4":{"description":"Payment required. The payment details are base64-encoded in the `PAYMENT-REQUIRED` response header and echoed as JSON in the response body. A **second** 402 on the paid retry means something different: the payment was refused, either at verification (most often an underfunded wallet) or at on-chain settlement. That response body is not empty and carries no `accepts` — it is the x402 settlement-failure shape `{\"success\": false, \"errorReason\": \"...\", \"errorMessage\": \"...\"}`, plus `x_laso_guidance` when a concrete next step applies. Distinguish the two by body: a challenge carries `accepts`, a failure carries `success: false`. The usual cause is an underfunded wallet, and the usual cause of that is the fee being charged **on top of** `amount` on routes that add one (a wallet holding exactly \\$2,000 cannot send a \\$2,000 bank payment; `/get-card` adds no fee, so it costs exactly `amount`). Nothing is charged for a failed settlement, so retrying with a smaller amount is safe.","headers":{"X-Laso-Api-Version":{"description":"The version of the API contract that produced this response, the same value `GET /version` returns as `api_version`. It moves only on a breaking change, so an agent can pin against it and tolerate unknown response fields without rechecking the docs. Distinct from `X-Laso-Docs-Version`, which tracks the prose. Present on every response once the service has read its version beacon; absent, rather than a placeholder, during the cold-start window before that read completes.","schema":{"type":"string","example":"1.0.0"}}},"content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{},"servers":{"ac3eaebf-a471-45a2-a1e6-5b184b32c280":{"url":"https://laso.finance","description":"Production"}}},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"lasofinance","siteName":"Laso Finance API","title":"Send a payment via Venmo or PayPal - Laso Finance API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T22:00:07.298Z","originalFileLocation":"api-reference/send-a-payment-via-venmo-or-paypal.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=\"Pay USDC to send money to a Venmo or PayPal recipient. The x402 USDC price is the requested amount plus a 4.9% fee (with a \\$1.50 minimum fee). On-chain payment credits the calling wallet\u0026#x27;s Laso account balance via the standard deposit webhook; the callable then debits the gross amount and dispatches the payout. Asynchronous. A dispatched payout answers 202 Accepted, not 200: the payment is recorded and handed to the payout provider, which settles it afterwards. Poll the returned status_url (GET /get-payment-status?payment_id=...) until state reaches a terminal value rather than treating the 202 as money received. A 200 means the opposite: nothing was dispatched because identity verification is required. KYC required. The first time a wallet sends a Venmo or PayPal payout it must complete identity verification. If the wallet is not yet verified the response returns kyc_required: true and a kyc_url — open the URL, complete the flow, and retry. If you don\u0026#x27;t want to proceed, the credited account balance can be withdrawn with POST /withdraw. Recipient details. For Venmo, recipient_id is the recipient\u0026#x27;s 10-digit U.S. phone number, and the first and last name are optional. No email is needed. For PayPal, recipient_id is the recipient\u0026#x27;s PayPal email, which also serves as recipient_email (so recipient_email is optional), and the first and last name are required. Fee: 4.9% with a \\$1.50 minimum (included in the USDC price).\">\u003cmeta data-mint-head name=\"application-name\" content=\"Laso Finance API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lasofinance/BdNprig5jTangfgN/_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/lasofinance/BdNprig5jTangfgN/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lasofinance/BdNprig5jTangfgN/_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/lasofinance/BdNprig5jTangfgN/_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/lasofinance/BdNprig5jTangfgN/_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/lasofinance/BdNprig5jTangfgN/_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/lasofinance/BdNprig5jTangfgN/_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/lasofinance/BdNprig5jTangfgN/_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/lasofinance/BdNprig5jTangfgN/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Send a payment via Venmo or PayPal - Laso Finance API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Pay USDC to send money to a Venmo or PayPal recipient. The x402 USDC price is the requested amount plus a 4.9% fee (with a \\$1.50 minimum fee). On-chain payment credits the calling wallet\u0026#x27;s Laso account balance via the standard deposit webhook; the callable then debits the gross amount and dispatches the payout. Asynchronous. A dispatched payout answers 202 Accepted, not 200: the payment is recorded and handed to the payout provider, which settles it afterwards. Poll the returned status_url (GET /get-payment-status?payment_id=...) until state reaches a terminal value rather than treating the 202 as money received. A 200 means the opposite: nothing was dispatched because identity verification is required. KYC required. The first time a wallet sends a Venmo or PayPal payout it must complete identity verification. If the wallet is not yet verified the response returns kyc_required: true and a kyc_url — open the URL, complete the flow, and retry. If you don\u0026#x27;t want to proceed, the credited account balance can be withdrawn with POST /withdraw. Recipient details. For Venmo, recipient_id is the recipient\u0026#x27;s 10-digit U.S. phone number, and the first and last name are optional. No email is needed. For PayPal, recipient_id is the recipient\u0026#x27;s PayPal email, which also serves as recipient_email (so recipient_email is optional), and the first and last name are required. Fee: 4.9% with a \\$1.50 minimum (included in the USDC price).\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Laso Finance API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.laso.finance/api-reference/send-a-payment-via-venmo-or-paypal\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lasofinance.mintlify.site/_mintlify/api/og/v2?division=Payments\u0026amp;title=Send+a+payment+via+Venmo+or+PayPal\u0026amp;description=Pay+USDC+to+send+money+to+a+Venmo+or+PayPal+recipient.+The+x402+USDC+price+is+the+requested+amount+plus+a+4.9%25+fee+%28with+a+%5C%241.50+minimum+fee%29.+On-chain+payment\u0026amp;theme=98f9ba75e7b3eeb2c36a661c\u0026amp;signature=9cb5d9bd6d6f91990e8df0676466dcbb6b6efdb67992290f2004c4a03acfa05d\">\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=\"Send a payment via Venmo or PayPal - Laso Finance API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Pay USDC to send money to a Venmo or PayPal recipient. The x402 USDC price is the requested amount plus a 4.9% fee (with a \\$1.50 minimum fee). On-chain payment credits the calling wallet\u0026#x27;s Laso account balance via the standard deposit webhook; the callable then debits the gross amount and dispatches the payout. Asynchronous. A dispatched payout answers 202 Accepted, not 200: the payment is recorded and handed to the payout provider, which settles it afterwards. Poll the returned status_url (GET /get-payment-status?payment_id=...) until state reaches a terminal value rather than treating the 202 as money received. A 200 means the opposite: nothing was dispatched because identity verification is required. KYC required. The first time a wallet sends a Venmo or PayPal payout it must complete identity verification. If the wallet is not yet verified the response returns kyc_required: true and a kyc_url — open the URL, complete the flow, and retry. If you don\u0026#x27;t want to proceed, the credited account balance can be withdrawn with POST /withdraw. Recipient details. For Venmo, recipient_id is the recipient\u0026#x27;s 10-digit U.S. phone number, and the first and last name are optional. No email is needed. For PayPal, recipient_id is the recipient\u0026#x27;s PayPal email, which also serves as recipient_email (so recipient_email is optional), and the first and last name are required. Fee: 4.9% with a \\$1.50 minimum (included in the USDC price).\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lasofinance.mintlify.site/_mintlify/api/og/v2?division=Payments\u0026amp;title=Send+a+payment+via+Venmo+or+PayPal\u0026amp;description=Pay+USDC+to+send+money+to+a+Venmo+or+PayPal+recipient.+The+x402+USDC+price+is+the+requested+amount+plus+a+4.9%25+fee+%28with+a+%5C%241.50+minimum+fee%29.+On-chain+payment\u0026amp;theme=98f9ba75e7b3eeb2c36a661c\u0026amp;signature=9cb5d9bd6d6f91990e8df0676466dcbb6b6efdb67992290f2004c4a03acfa05d\">\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/lasofinance/BdNprig5jTangfgN/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Laso Finance API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3182CE\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.laso.finance/api-reference/send-a-payment-via-venmo-or-paypal\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/send-a-payment-via-venmo-or-paypal.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.laso.finance/#organization\",\"name\":\"Laso Finance API\",\"url\":\"https://docs.laso.finance\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lasofinance/ofpGRRSVLQ9V1OQK/logo/light.svg?fit=max\u0026auto=format\u0026n=ofpGRRSVLQ9V1OQK\u0026q=85\u0026s=bd9f84a4711475d24375fe444b276211\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.laso.finance#website\",\"name\":\"Laso Finance API\",\"url\":\"https://docs.laso.finance\",\"publisher\":{\"@id\":\"https://docs.laso.finance/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.laso.finance/api-reference/send-a-payment-via-venmo-or-paypal#webpage\",\"url\":\"https://docs.laso.finance/api-reference/send-a-payment-via-venmo-or-paypal\",\"name\":\"Send a payment via Venmo or PayPal\",\"description\":\"Pay USDC to send money to a Venmo or PayPal recipient. The x402 USDC price is the requested amount plus a 4.9% fee (with a \\\\$1.50 minimum fee). On-chain payment credits the calling wallet's Laso account balance via the standard deposit webhook; the callable then debits the gross amount and dispatches the payout. Asynchronous. A dispatched payout answers 202 Accepted, not 200: the payment is recorded and handed to the payout provider, which settles it afterwards. Poll the returned status_url (GET /get-payment-status?payment_id=...) until state reaches a terminal value rather than treating the 202 as money received. A 200 means the opposite: nothing was dispatched because identity verification is required. KYC required. The first time a wallet sends a Venmo or PayPal payout it must complete identity verification. If the wallet is not yet verified the response returns kyc_required: true and a kyc_url — open the URL, complete the flow, and retry. If you don't want to proceed, the credited account balance can be withdrawn with POST /withdraw. Recipient details. For Venmo, recipient_id is the recipient's 10-digit U.S. phone number, and the first and last name are optional. No email is needed. For PayPal, recipient_id is the recipient's PayPal email, which also serves as recipient_email (so recipient_email is optional), and the first and last name are required. Fee: 4.9% with a \\\\$1.50 minimum (included in the USDC price).\",\"dateModified\":\"2026-11-06T22:00:07.298Z\",\"isPartOf\":{\"@id\":\"https://docs.laso.finance#website\"},\"breadcrumb\":{\"@id\":\"https://docs.laso.finance/api-reference/send-a-payment-via-venmo-or-paypal#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.laso.finance/api-reference/send-a-payment-via-venmo-or-paypal#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Laso Finance API\",\"item\":\"https://docs.laso.finance\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Send a payment via Venmo or PayPal\",\"item\":\"https://docs.laso.finance/api-reference/send-a-payment-via-venmo-or-paypal\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.laso.finance/api-reference/send-a-payment-via-venmo-or-paypal#apireference\",\"headline\":\"Send a payment via Venmo or PayPal\",\"name\":\"Send a payment via Venmo or PayPal\",\"description\":\"Pay USDC to send money to a Venmo or PayPal recipient. The x402 USDC price is the requested amount plus a 4.9% fee (with a \\\\$1.50 minimum fee). On-chain payment credits the calling wallet's Laso account balance via the standard deposit webhook; the callable then debits the gross amount and dispatches the payout. Asynchronous. A dispatched payout answers 202 Accepted, not 200: the payment is recorded and handed to the payout provider, which settles it afterwards. Poll the returned status_url (GET /get-payment-status?payment_id=...) until state reaches a terminal value rather than treating the 202 as money received. A 200 means the opposite: nothing was dispatched because identity verification is required. KYC required. The first time a wallet sends a Venmo or PayPal payout it must complete identity verification. If the wallet is not yet verified the response returns kyc_required: true and a kyc_url — open the URL, complete the flow, and retry. If you don't want to proceed, the credited account balance can be withdrawn with POST /withdraw. Recipient details. For Venmo, recipient_id is the recipient's 10-digit U.S. phone number, and the first and last name are optional. No email is needed. For PayPal, recipient_id is the recipient's PayPal email, which also serves as recipient_email (so recipient_email is optional), and the first and last name are required. Fee: 4.9% with a \\\\$1.50 minimum (included in the USDC price).\",\"url\":\"https://docs.laso.finance/api-reference/send-a-payment-via-venmo-or-paypal\",\"mainEntityOfPage\":{\"@id\":\"https://docs.laso.finance/api-reference/send-a-payment-via-venmo-or-paypal#webpage\"},\"dateModified\":\"2026-11-06T22:00:07.298Z\",\"publisher\":{\"@id\":\"https://docs.laso.finance/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.laso.finance#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Laso Finance API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Laso Finance API","nav":{"global":{},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/what-is-laso"}]},{"tab":"API Reference","groups":[{"group":"Account","pages":[{"title":"Start a signup for a human with no Laso account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /signup","href":"/api-reference/start-a-signup-for-a-human-with-no-laso-account"},{"title":"Wait for your human to finish the signup","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /signup-status","href":"/api-reference/wait-for-your-human-to-finish-the-signup"},{"title":"Get auth credentials","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /auth","href":"/api-reference/get-auth-credentials"},{"title":"Refresh an ID token","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /auth","href":"/api-reference/refresh-an-id-token"},{"title":"Refresh an ID token (deprecated)","deprecated":true,"version":null,"openapi":"/api-reference/openapi.json post /refresh","href":"/api-reference/refresh-an-id-token-deprecated"},{"title":"Get account balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-account-balance","href":"/api-reference/get-account-balance"},{"title":"Get a login link for the web dashboard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-auth-link","href":"/api-reference/get-a-login-link-for-the-web-dashboard"},{"title":"Send feedback about the API","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /feedback","href":"/api-reference/send-feedback-about-the-api"}]},{"group":"Cards","pages":[{"title":"Order a USA prepaid card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-card","href":"/api-reference/order-a-usa-prepaid-card"},{"title":"Get card details","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-card-data","href":"/api-reference/get-card-details"},{"title":"Create a reloadable card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /create-reloadable-card","href":"/api-reference/cards/create-a-reloadable-card"},{"title":"List reloadable card transactions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /list-card-transactions","href":"/api-reference/cards/list-reloadable-card-transactions"},{"title":"Get the reloadable card deposit address","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-card-deposit-address","href":"/api-reference/cards/get-the-reloadable-card-deposit-address"},{"title":"Check the card issuer link","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-card-issuer-status","href":"/api-reference/cards/check-the-card-issuer-link"},{"title":"Send the account holder a code to link the card issuer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /start-card-issuer-link","href":"/api-reference/cards/send-the-account-holder-a-code-to-link-the-card-issuer"},{"title":"Complete the card issuer link with the account holder's code","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /verify-card-issuer-link","href":"/api-reference/cards/complete-the-card-issuer-link-with-the-account-holders-code"},{"title":"Unlink the card issuer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /disconnect-card-issuer","href":"/api-reference/cards/unlink-the-card-issuer"},{"title":"List the holder's saved cards","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-saved-cards","href":"/api-reference/cards/list-the-holders-saved-cards"},{"title":"Get a link for the holder to save their own card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /create-saved-card-link","href":"/api-reference/cards/get-a-link-for-the-holder-to-save-their-own-card"},{"title":"Shop and pay with the holder's saved card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /buy-with-saved-card","href":"/api-reference/cards/shop-and-pay-with-the-holders-saved-card"},{"title":"Read a purchase turn that was still running","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-purchase-turn","href":"/api-reference/cards/read-a-purchase-turn-that-was-still-running"},{"title":"Read a purchase conversation's orders","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-purchase-conversation","href":"/api-reference/cards/read-a-purchase-conversations-orders"},{"title":"Load a reloadable card balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /fund-card-balance","href":"/api-reference/load-a-reloadable-card-balance"},{"title":"Top up a reloadable card from the account balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /fund-card-from-account-balance","href":"/api-reference/cards/top-up-a-reloadable-card-from-the-account-balance"},{"title":"Withdraw from a reloadable card balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /withdraw-card-balance","href":"/api-reference/cards/withdraw-from-a-reloadable-card-balance"},{"title":"Trigger a card data refresh","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /refresh-card-data","href":"/api-reference/trigger-a-card-data-refresh"},{"title":"Order an international prepaid card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /order-intl-card","href":"/api-reference/order-an-international-prepaid-card"},{"title":"Cancel a queued international card order","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /cancel-intl-order","href":"/api-reference/cancel-a-queued-international-card-order"}]},{"group":"Gift Cards","pages":[{"title":"Search the gift card catalog","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /search-gift-cards","href":"/api-reference/search-the-gift-card-catalog"},{"title":"Order a gift card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /order-gift-card","href":"/api-reference/order-a-gift-card"}]},{"group":"Push to Card","pages":[{"title":"Send money to a debit card (USD, EUR, GBP)","description":"Pay USDC to initiate a push-to-card transfer. Specify the face value in the target currency (USD, EUR, or GBP); Laso computes the USDC cost using the current exchange rate plus a 4.8% fee (minimum fee of \\$1.50/€1.50/£1.50 in the transfer currency), and that becomes the x402 price. Returns a `redemption_url` that must be opened to complete the transfer. The form requires sender name, debit card number, and cardholder name.\n\n**Supported currencies:**\n- `USD` — U.S. debit cards (U.S. bank accounts only)\n- `EUR` — Eurozone debit cards\n- `GBP` — U.K. debit cards\n\nLaso cannot perform the transfer directly — the redemption URL must be visited and the debit card details entered manually (by the agent or a human).\n\n**Fee:** 4.8%, with a minimum of 1.50 in the transfer currency (included in the USDC price, computed from the requested face value).","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-push-to-card","href":"/api-reference/send-money-to-a-debit-card-usd-eur-gbp"}]},{"group":"Payments","pages":[{"title":"Send a payment via Venmo or PayPal","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /send-payment","href":"/api-reference/send-a-payment-via-venmo-or-paypal"},{"title":"Check Venmo and PayPal payout status (free)","description":"Reports the state of the Venmo and PayPal payouts this account has sent with `GET /send-payment`. Free: only the payout itself is a paid action.\n\nThree ways to call it: with `payment_id` to fetch one payout, with `recipient_id` (from `GET /payment-recipients`) to list every payout to that saved recipient, or with neither to list every payout this account has sent, newest first.\n\n`state` is `queued` (waiting on account balance), `awaiting-funding` (debited and accepted, but delayed on our side before it reaches the platform, usually until the next business day), `in-process` (dispatched to the platform), `complete`, `failed`, or `cancelled`. `queued`, `awaiting-funding` and `in-process` are the states still in flight; poll every few minutes, or register a webhook with `POST /register-webhook` to be told when a payout completes instead. A payout that has been `in-process` for more than an hour is worth raising with the account owner. `state` is absent on payouts sent before state tracking existed.\n\nBank payouts are not listed here: follow those with `listBankingTransactions`. Push-to-card transfers are completed by the recipient in the browser and have no server-side state.\n\nRequires a Bearer token from `/auth` or `/get-card`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-payment-status","href":"/api-reference/check-venmo-and-paypal-payout-status-free"},{"title":"List saved Venmo and PayPal recipients (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /payment-recipients","href":"/api-reference/list-saved-venmo-and-paypal-recipients-free"},{"title":"Rename or archive a saved recipient (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /payment-recipients","href":"/api-reference/rename-or-archive-a-saved-recipient-free"},{"title":"Remove a saved recipient (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /payment-recipients","href":"/api-reference/remove-a-saved-recipient-free"}]},{"group":"Address Book","pages":[{"title":"List saved recipients","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /listAddressBook","href":"/api-reference/list-saved-recipients"},{"title":"Save or rename a recipient","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /saveAddressBookEntry","href":"/api-reference/save-or-rename-a-recipient"},{"title":"Remove a saved recipient","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /deleteAddressBookEntry","href":"/api-reference/remove-a-saved-recipient"}]},{"group":"Banking","pages":[{"title":"Send dollars to a bank account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /send-bank-payment","href":"/api-reference/send-dollars-to-a-bank-account"},{"title":"List bank payout recipients (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /bank-recipients","href":"/api-reference/list-bank-payout-recipients-free"},{"title":"Create the banking profile","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /createBankingProfile","href":"/api-reference/banking/create-the-banking-profile"},{"title":"Check the banking profile status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /getBankingProfileStatus","href":"/api-reference/banking/check-the-banking-profile-status"},{"title":"Read the banking application","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /getBankingApplication","href":"/api-reference/banking/read-the-banking-application"},{"title":"Answer application questions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /updateBankingApplicationDetails","href":"/api-reference/banking/answer-application-questions"},{"title":"Upload a proof-of-address document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /uploadBankingDocument","href":"/api-reference/banking/upload-a-proof-of-address-document"},{"title":"Submit the application","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /submitBankingApplication","href":"/api-reference/banking/submit-the-application"},{"title":"Open an on-ramp or off-ramp account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /createBankingAccount","href":"/api-reference/banking/open-an-on-ramp-or-off-ramp-account"},{"title":"List banking accounts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /listBankingAccounts","href":"/api-reference/banking/list-banking-accounts"},{"title":"Create a payout recipient","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /createBankingRecipient","href":"/api-reference/banking/create-a-payout-recipient"},{"title":"Attach bank details to a recipient","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /addBankingDestination","href":"/api-reference/banking/attach-bank-details-to-a-recipient"},{"title":"List recipients and destinations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /listBankingRecipients","href":"/api-reference/banking/list-recipients-and-destinations"},{"title":"Rename a destination","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /updateBankingDestination","href":"/api-reference/banking/rename-a-destination"},{"title":"Delete a recipient","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /deleteBankingRecipient","href":"/api-reference/banking/delete-a-recipient"},{"title":"Read one transaction","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /getBankingTransaction","href":"/api-reference/banking/read-one-transaction"},{"title":"List transactions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /listBankingTransactions","href":"/api-reference/banking/list-transactions"}]},{"group":"Agent Wallet","pages":[{"title":"Exchange an API key for a session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /agentAuth","href":"/api-reference/agent-wallet/exchange-an-api-key-for-a-session"},{"title":"Announce that you connected","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /announceAgentConnection","href":"/api-reference/agent-wallet/announce-that-you-connected"},{"title":"Read the managed wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /getAgentWallet","href":"/api-reference/agent-wallet/read-the-managed-wallet"},{"title":"Pay an x402 endpoint from the managed wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /agentX402Pay","href":"/api-reference/agent-wallet/pay-an-x402-endpoint-from-the-managed-wallet"},{"title":"Send USDC or any token from the managed wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /agentWalletTransfer","href":"/api-reference/agent-wallet/send-usdc-or-any-token-from-the-managed-wallet"},{"title":"Read the spend limits","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /getAgentSpendLimit","href":"/api-reference/agent-wallet/read-the-spend-limits"},{"title":"Provision a managed wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /createAgentWallet","href":"/api-reference/agent-wallet/provision-a-managed-wallet"},{"title":"Issue an API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /createAgentApiKey","href":"/api-reference/agent-wallet/issue-an-api-key"},{"title":"List API keys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /listAgentApiKeys","href":"/api-reference/agent-wallet/list-api-keys"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /revokeAgentApiKey","href":"/api-reference/agent-wallet/revoke-an-api-key"},{"title":"Revoke all unused API keys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /revokeUnusedAgentApiKeys","href":"/api-reference/agent-wallet/revoke-all-unused-api-keys"}]},{"group":"Merchants","pages":[{"title":"Search merchant spend data","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /search-merchants","href":"/api-reference/search-merchant-spend-data"}]},{"group":"Pricing and coverage","pages":[{"title":"Get the fee schedule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-pricing","href":"/api-reference/get-the-fee-schedule"},{"title":"Get supported countries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-supported-countries","href":"/api-reference/get-supported-countries"}]},{"group":"Verification (optional)","pages":[{"title":"Get KYC verification status (optional)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-kyc-status","href":"/api-reference/verification-optional/get-kyc-verification-status-optional"},{"title":"Get a KYC verification link (optional)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-kyc-link","href":"/api-reference/verification-optional/get-a-kyc-verification-link-optional"}]},{"group":"Notifications","pages":[{"title":"Register a notification webhook (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /register-webhook","href":"/api-reference/notifications/register-a-notification-webhook-free"},{"title":"Get webhook registration \u0026 delivery health (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-webhook","href":"/api-reference/notifications/get-webhook-registration-\u0026-delivery-health-free"},{"title":"Delete the notification webhook (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /delete-webhook","href":"/api-reference/notifications/delete-the-notification-webhook-free"}]},{"group":"Withdrawals","pages":[{"title":"Withdraw from account balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /withdraw","href":"/api-reference/withdraw-from-account-balance"},{"title":"Get withdrawal statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-withdrawal-status","href":"/api-reference/get-withdrawal-statuses"}]},{"group":"Discovery","pages":[{"title":"Get the current docs version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /version","href":"/api-reference/get-the-current-docs-version"}]}]},{"tab":"How We Use","pages":[{"title":"How We Use","href":"/how-we-use/automated-payroll"}]},{"tab":"Starter Template (Reference)","hidden":true,"pages":[{"title":"Starter Template (Reference)","href":"/quickstart"}]}]},"basePath":"","title":"Send a payment via Venmo or PayPal - Laso Finance API","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}