If your app has gas sponsorship configured, usage of the /transfer endpoint will be
gas-sponsored by default. There is no need to specify
additional parameters for sponsorship.
Cross-chain and cross-asset transfers accept an optional fee_configuration parameter to control
fee distribution between Privy and your app. Use the quote
endpoint to preview fees before executing a transfer.
Idempotency on errors: This endpoint returns pending immediately. Replaying the same key
returns the cached response. On a synchronous 5xx, Privy deletes the record so the same key
retries fresh. Action outcomes (rejected, failed, succeeded) arrive via
webhooks and polling. Policy violations
always allow fresh retries.
Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5 USDC). For exact_input, the amount to send. For exact_output, the exact amount to receive. Takes precedence over source.amount when both are provided.
Amount received on the destination chain. For exact_output cross-chain transfers, set at creation (the guaranteed exact amount). For exact_input cross-chain transfers, null until fill confirmation.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Privy Docs","colors":{"primary":"#010110","light":"#FFFFFF"},"logo":{"light":"https://mintcdn.com/privy-c2af3412/Ih_Fo3QYM486gzWq/logo/privy-logo-light.png?fit=max\u0026auto=format\u0026n=Ih_Fo3QYM486gzWq\u0026q=85\u0026s=bd297b680ace8a13db4d9ce977f93180","dark":"https://mintcdn.com/privy-c2af3412/Ih_Fo3QYM486gzWq/logo/privy-logo-dark.png?fit=max\u0026auto=format\u0026n=Ih_Fo3QYM486gzWq\u0026q=85\u0026s=24d83970695ab19a1803a2eb00dbea4e"},"favicon":"https://mintcdn.com/privy-c2af3412/YByWVKlFbSpnpSJG/favicon.png?fit=max\u0026auto=format\u0026n=YByWVKlFbSpnpSJG\u0026q=85\u0026s=ee4038168ea586e5f72041e5e2a1f5c8","api":{"openapi":{"source":"https://api.staging.privy.io/v1/openapi.json"},"playground":{"display":"interactive"},"examples":{"languages":["curl","java","javascript","php","go"]},"mdx":{"server":"https://api.privy.io"}},"background":{"color":{"light":"#FFFFFF","dark":"#010110"}},"navbar":{"links":[{"href":"https://demo.privy.io","label":"Demo"},{"href":"https://privy.io/slack","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.privy.io"}},"seo":{"metatags":{"og:type":"website","og:site_name":"Privy Docs","og:image":"https://assets.privy.io/docs-og.png","twitter:title":"Privy Docs","twitter:card":"summary_large_image","twitter:image":"https://assets.privy.io/docs-og.png"},"organization":{"id":"https://www.privy.io/#organization","name":"Privy","url":"https://www.privy.io","logo":"https://assets.privy.io/docs-og.png","sameAs":["https://x.com/privy_io","https://github.com/privy-io"]}},"styling":{"codeblocks":"system","latex":true},"integrations":{"gtm":{"tagId":"GTM-WV9MVTB3"}},"contextual":{"options":["claude","chatgpt","cursor","vscode","mcp","copy","view"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"privy-c2af3412","hasAudioNarration":false,"actualSubdomain":"privy-c2af3412","customDomains":["docs.privy.io"],"gitSource":{"type":"github","owner":"privy-io","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4e553b20d11886a4cce74","collectionId":"53384d6e-0531-4740-9e51-f6740a7e4bf4","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4e553b20d11886a4cce74"},"feedback":{"issues":true,"thumbs":true,"edits":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4e553b20d11886a4cce74","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Wallets","count":282},{"language":"default","tag":"API reference","count":239},{"language":"default","tag":"Recipes","count":139},{"language":"default","tag":"All recipes","count":138},{"language":"default","tag":"Identity","count":130},{"language":"default","tag":"Signatures and transactions","count":90},{"language":"default","tag":"Basics","count":86},{"language":"default","tag":"Users","count":82},{"language":"default","tag":"Financial flows","count":79},{"language":"default","tag":"Controls","count":76}]},"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":"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":"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":"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":"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":"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":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/_mintlify/custom/privy-c2af3412/4e67a2a256ed8221/style.css"}],"page":{"pagePath":"api-reference/wallets/transfer/index","slug":"/api-reference/wallets/transfer/index","pageMetadata":{"title":"Transfer","og:title":"Transfer tokens – API reference","description":"Transfer tokens from a wallet to a destination address.","openapi":"post /v1/wallets/{wallet_id}/transfer","href":"/api-reference/wallets/transfer/index"},"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: \"Transfer tokens from a wallet to a destination address.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Info,Tip}=_components;if(!Info)_missingMdxReference(`Info`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/wallets/actions/transfer/overview#supported-assets`,children:`supported assets and chains`}),` and `,_jsx(_components.a,{href:`/wallets/actions/transfer/overview#gas-and-fee-sponsorship`,children:`gas and fee sponsorship`}),` for transfer coverage and payment options.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`If your app has gas sponsorship configured, usage of the `,_jsx(_components.code,{children:`/transfer`}),` endpoint will be\n`,_jsx(_components.a,{href:`/wallets/actions/overview#gas-management`,children:`gas-sponsored by default`}),`. There is no need to specify\nadditional parameters for sponsorship.`]})}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Cross-chain and cross-asset transfers accept an optional `,_jsx(_components.code,{children:`fee_configuration`}),` parameter to control\nfee distribution between Privy and your app. Use the `,_jsx(_components.a,{href:`/api-reference/wallets/transfer/quote`,children:`quote\nendpoint`}),` to preview fees before executing a transfer.`]})}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Idempotency on errors:`}),` This endpoint returns `,_jsx(_components.code,{children:`pending`}),` immediately. Replaying the same key\nreturns the cached response. On a synchronous 5xx, Privy deletes the record so the same key\nretries fresh. Action outcomes (`,_jsx(_components.code,{children:`rejected`}),`, `,_jsx(_components.code,{children:`failed`}),`, `,_jsx(_components.code,{children:`succeeded`}),`) arrive via\n`,_jsx(_components.a,{href:`/wallets/actions/webhooks`,children:`webhooks`}),` and `,_jsx(_components.a,{href:`/wallets/actions/status`,children:`polling`}),`. Policy violations\nalways allow fresh retries.`]})})]})}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":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Transfer","og:title":"Transfer tokens – API reference","description":"Transfer tokens from a wallet to a destination address.","openapi":"post /v1/wallets/{wallet_id}/transfer","href":"/api-reference/wallets/transfer/index"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/privy-c2af3412/9a6cfa36ced76db0/welcome.js","/_mintlify/custom/privy-c2af3412/1af79d46bd64cd8b/fullstory.js","/_mintlify/custom/privy-c2af3412/e4d91321024fde21/recipes/recipes-search.js","/_mintlify/custom/privy-c2af3412/d31c5451398ab22c/check-links.js"],"openApiReferenceData":{"operation":{"tags":["Wallet Actions"],"operationId":"transfer","summary":"Transfer","description":"Transfer tokens from a wallet to a destination address.","security":["f7ec97e7-672f-4b1d-ba8d-410f15156402"],"parameters":["257c954b-abbc-4836-bf33-576944c2919c","66a4a5e9-e3df-4614-be20-ad464dc7cc36","7682ebab-fdfa-4bb7-a9b7-a8ef482619dd","71372a2a-fa57-407c-866a-f582f270b1b3","02bc575b-c401-4c71-bf1b-fb2545596d46"],"requestBody":"7f72520b-3734-4e85-8238-689eacfe15a0","responses":{"200":"bdfa2454-b5ea-46de-b1fb-27c5afe47dfa"},"method":"post","type":"path","servers":["acec9000-ad38-4fee-a777-c682143596a7"],"path":"/v1/wallets/{wallet_id}/transfer","baseUrlOptions":["https://api.privy.io"],"title":"Transfer","codeSamples":[],"requestExampleLanguages":["bash","java","javascript","php","go"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"257c954b-abbc-4836-bf33-576944c2919c":{"schema":{"type":"string","description":"ID of the wallet.","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"name":"wallet_id","in":"path"},"66a4a5e9-e3df-4614-be20-ad464dc7cc36":{"schema":{"type":"string","description":"ID of your Privy app.","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"name":"privy-app-id","in":"header"},"7682ebab-fdfa-4bb7-a9b7-a8ef482619dd":{"schema":{"type":"string","description":"Request authorization signature. If multiple signatures are required, they should be comma separated.","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"name":"privy-authorization-signature","in":"header"},"71372a2a-fa57-407c-866a-f582f270b1b3":{"schema":{"type":"string","description":"Request expiry. Value is a Unix timestamp in milliseconds representing the deadline by which the request must be processed.","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"name":"privy-request-expiry","in":"header"},"02bc575b-c401-4c71-bf1b-fb2545596d46":{"schema":{"type":"string","description":"Idempotency keys ensure API requests are executed only once within a 24-hour window.","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"name":"privy-idempotency-key","in":"header"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"source":{"oneOf":[{"type":"object","title":"NamedTokenTransferSource","description":"Source for a transfer identified by a named asset (e.g. \"usdc\", \"eth\"). Use this variant for first-class assets maintained by Privy.","required":["chain","asset"],"x-stainless-model":"wallets.token_transfer_source","example":{"asset":"ousd","amount":"10.5","chain":"tempo"},"properties":{"chain":{"type":"string","description":"The blockchain network on which to perform the transfer. Supported chains include: 'tempo', 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their respective testnets.","isRequired":true,"uniqueKey":"source.oneOf.0.chain","typeLabel":"string"},"asset":{"type":"string","description":"The asset to transfer. Supported: 'usdc', 'usdb', 'usdt', 'eurc', 'ousd', 'pathusd' (stablecoins), 'eth' (native Ethereum), 'sol' (native Solana).","isRequired":true,"uniqueKey":"source.oneOf.0.asset","typeLabel":"string"},"amount":{"type":"string","maxLength":100,"description":"Amount as a decimal string in the token's standard unit (e.g. \"1.5\" for 1.5 USDC, \"0.01\" for 0.01 ETH). For exact_input, specifies the amount to send. Not in the smallest on-chain unit (wei, lamports, etc.). Maximum 100 characters. Deprecated: use the top-level `amount` field instead.","deprecated":true,"uniqueKey":"source.oneOf.0.amount","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"source.oneOf.0","typeLabel":"NamedTokenTransferSource · object"},{"type":"object","title":"CustomTokenTransferSource","description":"Source for a transfer identified by a token contract address (EVM) or mint address (Solana). Use this variant for tokens that are not first-class assets.","required":["chain","asset_address"],"x-stainless-model":"wallets.token_transfer_source","example":{"asset_address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","amount":"10.5","chain":"tempo"},"properties":{"chain":{"type":"string","description":"The blockchain network on which to perform the transfer. Supported chains include: 'tempo', 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their respective testnets.","isRequired":true,"uniqueKey":"source.oneOf.1.chain","typeLabel":"string"},"asset_address":{"oneOf":[{"type":"string","description":"The token contract address (EVM) or mint address (Solana) of the asset to transfer.","isRequired":true,"uniqueKey":"source.oneOf.1.asset_address.oneOf.0","typeLabel":"string"},{"type":"string","description":"The token contract address (EVM) or mint address (Solana) of the asset to transfer.","isRequired":true,"uniqueKey":"source.oneOf.1.asset_address.oneOf.1","typeLabel":"string"},{"type":"string","title":"TronAddress","description":"The token contract address (EVM) or mint address (Solana) of the asset to transfer.","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address","isRequired":true,"uniqueKey":"source.oneOf.1.asset_address.oneOf.2","typeLabel":"string"}],"isRequired":true,"uniqueKey":"source.oneOf.1.asset_address","typeLabel":"string"},"amount":{"type":"string","maxLength":100,"description":"Amount as a decimal string in the token's standard unit (e.g. \"1.5\" for 1.5 USDC, \"0.01\" for 0.01 ETH). For exact_input, specifies the amount to send. Not in the smallest on-chain unit (wei, lamports, etc.). Maximum 100 characters. Deprecated: use the top-level `amount` field instead.","deprecated":true,"uniqueKey":"source.oneOf.1.amount","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"source.oneOf.1","typeLabel":"CustomTokenTransferSource · object"}],"isRequired":true,"uniqueKey":"source","typeLabel":"NamedTokenTransferSource · object | CustomTokenTransferSource · object"},"destination":{"type":"object","properties":{"address":{"oneOf":[{"type":"string","description":"Recipient address (hex for EVM, base58 for Solana, base58check for Tron)","isRequired":true,"uniqueKey":"destination.address.oneOf.0","typeLabel":"string"},{"type":"string","description":"Recipient address (hex for EVM, base58 for Solana, base58check for Tron)","isRequired":true,"uniqueKey":"destination.address.oneOf.1","typeLabel":"string"},{"type":"string","title":"TronAddress","description":"Recipient address (hex for EVM, base58 for Solana, base58check for Tron)","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address","isRequired":true,"uniqueKey":"destination.address.oneOf.2","typeLabel":"string"}],"isRequired":true,"uniqueKey":"destination.address","typeLabel":"string"},"asset":{"type":"string","description":"The destination asset. Required for cross-asset transfers (e.g., source 'usdt' to destination 'usdc').","uniqueKey":"destination.asset","typeLabel":"string"},"chain":{"type":"string","description":"The destination blockchain network. Required for cross-chain transfers (e.g., source 'tempo' to destination 'base').","uniqueKey":"destination.chain","typeLabel":"string"}},"required":["address"],"additionalProperties":false,"description":"The destination address for a token transfer. Optionally specify a different asset or chain for cross-asset or cross-chain transfers.","title":"TokenTransferDestination","example":{"address":"0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2"},"x-stainless-model":"wallets.token_transfer_destination","isRequired":true,"uniqueKey":"destination","typeLabel":"TokenTransferDestination · object"},"amount":{"type":"string","maxLength":100,"description":"Amount as a decimal string in the token's standard unit (e.g. \"1.5\" for 1.5 USDC). For exact_input, the amount to send. For exact_output, the exact amount to receive. Takes precedence over source.amount when both are provided.","uniqueKey":"amount","typeLabel":"string"},"amount_type":{"type":"string","enum":["exact_input","exact_output"],"description":"Whether the amount refers to the input token or output token.","title":"AmountType","x-stainless-model":"wallets.amount_type","uniqueKey":"amount_type","typeLabel":"enum\u003cstring>"},"slippage_bps":{"type":"integer","minimum":0,"maximum":10000,"description":"Maximum allowed slippage in basis points (1 bps = 0.01%). Only applicable for cross-chain or cross-asset transfers; omit to use the provider default.","uniqueKey":"slippage_bps","typeLabel":"integer"},"fee_configuration":{"type":"object","title":"FeeConfiguration","description":"Optional fee configuration for the transfer. If omitted, cross-chain transfers will not charge additional fees.","required":["type","value"],"x-stainless-model":"wallets.fee_configuration","example":{"type":"total_fee_bps","value":50},"properties":{"type":{"type":"string","enum":["total_fee_bps"],"description":"Discriminator: total fee specified in BPS.","isRequired":true,"uniqueKey":"fee_configuration.type","typeLabel":"enum\u003cstring>"},"value":{"type":"integer","minimum":0,"maximum":10000,"description":"Total fee in basis points (1 bps = 0.01%).","isRequired":true,"uniqueKey":"fee_configuration.value","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"fee_configuration","typeLabel":"FeeConfiguration · object"},"custody_options":{"type":"object","properties":{"initiation":{"type":"object","properties":{"channel":{"oneOf":[{"type":"string","title":"TransferInitiationChannel","description":"How the payment was initiated. Use `p2p_mobile_payment` for peer-to-peer transfers initiated on a mobile device; `other_mobile_payment` for non-P2P mobile-initiated payments (e.g. a merchant payment via a mobile app); `other` for payments not relying on a mobile device.","enum":["p2p_mobile_payment","other_mobile_payment","other"],"x-stainless-model":"wallets.transfer_initiation_channel","example":"other_mobile_payment","isRequired":true,"uniqueKey":"custody_options.initiation.channel.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"TransferInitiationChannel","description":"How the payment was initiated. Use `p2p_mobile_payment` for peer-to-peer transfers initiated on a mobile device; `other_mobile_payment` for non-P2P mobile-initiated payments (e.g. a merchant payment via a mobile app); `other` for payments not relying on a mobile device.","x-stainless-model":"wallets.transfer_initiation_channel","example":"other_mobile_payment","isRequired":true,"uniqueKey":"custody_options.initiation.channel.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"custody_options.initiation.channel","typeLabel":"enum\u003cstring> | string"},"subchannel":{"oneOf":[{"type":"string","title":"TransferInitiationSubchannel","description":"Whether the payment was made remotely or in person. Use `remote` for payments initiated from a distance (mobile app, online banking, or e-commerce checkout); `non_remote` for payments made in person (physical card, payment terminal, or contactless tap).","enum":["remote","non_remote"],"x-stainless-model":"wallets.transfer_initiation_subchannel","example":"remote","isRequired":true,"uniqueKey":"custody_options.initiation.subchannel.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"TransferInitiationSubchannel","description":"Whether the payment was made remotely or in person. Use `remote` for payments initiated from a distance (mobile app, online banking, or e-commerce checkout); `non_remote` for payments made in person (physical card, payment terminal, or contactless tap).","x-stainless-model":"wallets.transfer_initiation_subchannel","example":"remote","isRequired":true,"uniqueKey":"custody_options.initiation.subchannel.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"custody_options.initiation.subchannel","typeLabel":"enum\u003cstring> | string"},"attestations":{"type":"object","properties":{"sca":{"type":"object","properties":{"outcome":{"oneOf":[{"type":"string","title":"TransferScaOutcome","description":"Whether Strong Customer Authentication (SCA) was applied or which regulatory exemption or non-applicability reason covers this payment. Use `sca_used` when the user authenticated with SCA. Otherwise, choose the value that applies: `payment_to_self` — payer and payee are the same person (remote only); `trusted_beneficiaries` — payee is on the user's pre-approved list; `recurring_transaction` — amount and payee match a previously SCA-authorized recurring series; `contactless_low_value` — contactless card payment below the low-value threshold (non-remote only); `unattended_terminal_for_transport` — automated terminal for transport fares or parking (non-remote only); `low_value` — remote payment below the low-value threshold (remote only); `secure_corporate_payment` — dedicated corporate payment process with controls equivalent to SCA (remote only); `transaction_risk_analysis` — PSP has performed real-time risk analysis and the transaction falls within permitted thresholds (remote only); `merchant_initiated_transaction` — payment triggered by the merchant without the payer present, on a pre-authorized mandate (remote only); `not_applicable` — this flow requires initiation context but SCA and SCA exemptions do not apply; `other` — another recognized exemption not listed above.","enum":["sca_used","payment_to_self","trusted_beneficiaries","recurring_transaction","contactless_low_value","unattended_terminal_for_transport","low_value","secure_corporate_payment","transaction_risk_analysis","merchant_initiated_transaction","not_applicable","other"],"x-stainless-model":"wallets.transfer_sca_outcome","example":"sca_used","isRequired":true,"uniqueKey":"custody_options.initiation.attestations.sca.outcome.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"TransferScaOutcome","description":"Whether Strong Customer Authentication (SCA) was applied or which regulatory exemption or non-applicability reason covers this payment. Use `sca_used` when the user authenticated with SCA. Otherwise, choose the value that applies: `payment_to_self` — payer and payee are the same person (remote only); `trusted_beneficiaries` — payee is on the user's pre-approved list; `recurring_transaction` — amount and payee match a previously SCA-authorized recurring series; `contactless_low_value` — contactless card payment below the low-value threshold (non-remote only); `unattended_terminal_for_transport` — automated terminal for transport fares or parking (non-remote only); `low_value` — remote payment below the low-value threshold (remote only); `secure_corporate_payment` — dedicated corporate payment process with controls equivalent to SCA (remote only); `transaction_risk_analysis` — PSP has performed real-time risk analysis and the transaction falls within permitted thresholds (remote only); `merchant_initiated_transaction` — payment triggered by the merchant without the payer present, on a pre-authorized mandate (remote only); `not_applicable` — this flow requires initiation context but SCA and SCA exemptions do not apply; `other` — another recognized exemption not listed above.","x-stainless-model":"wallets.transfer_sca_outcome","example":"sca_used","isRequired":true,"uniqueKey":"custody_options.initiation.attestations.sca.outcome.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"custody_options.initiation.attestations.sca.outcome","typeLabel":"enum\u003cstring> | string"},"auth_factors":{"type":"array","items":{"type":"object","properties":{"category":{"oneOf":[{"type":"string","title":"TransferScaAuthFactorCategory","description":"The type of authentication factor used. Known values are: `knowledge` (something only the user knows, e.g. a PIN or password), `possession` (something only the user has, e.g. a phone receiving an OTP or a hardware token), and `inherence` (something the user is, e.g. a fingerprint or face scan). When `outcome` is `sca_used`, the two factors in `auth_factors` must belong to two different categories.","enum":["knowledge","possession","inherence"],"x-stainless-model":"wallets.transfer_sca_auth_factor_category","example":"possession","isRequired":true,"uniqueKey":"custody_options.initiation.attestations.sca.auth_factors.items.[INDEX].category.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"TransferScaAuthFactorCategory","description":"The type of authentication factor used. Known values are: `knowledge` (something only the user knows, e.g. a PIN or password), `possession` (something only the user has, e.g. a phone receiving an OTP or a hardware token), and `inherence` (something the user is, e.g. a fingerprint or face scan). When `outcome` is `sca_used`, the two factors in `auth_factors` must belong to two different categories.","x-stainless-model":"wallets.transfer_sca_auth_factor_category","example":"possession","isRequired":true,"uniqueKey":"custody_options.initiation.attestations.sca.auth_factors.items.[INDEX].category.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"custody_options.initiation.attestations.sca.auth_factors.items.[INDEX].category","typeLabel":"enum\u003cstring> | string"},"authenticated_at":{"type":"string","format":"date-time","description":"The ISO 8601 timestamp when this factor was authenticated.","isRequired":true,"uniqueKey":"custody_options.initiation.attestations.sca.auth_factors.items.[INDEX].authenticated_at","typeLabel":"string\u003cdate-time>"},"reference":{"type":"string","minLength":1,"maxLength":64,"description":"Your internal identifier for this authentication event (e.g. a session ID, transaction ID, or audit log reference). Used for reconciliation.","isRequired":true,"uniqueKey":"custody_options.initiation.attestations.sca.auth_factors.items.[INDEX].reference","typeLabel":"string"}},"required":["category","authenticated_at","reference"],"additionalProperties":false,"description":"Authentication factor metadata for a transfer.","title":"TransferScaAuthFactor","example":{"category":"possession","authenticated_at":"2026-01-15T10:30:00Z","reference":"auth_event_123"},"x-stainless-model":"wallets.transfer_sca_auth_factor","uniqueKey":"custody_options.initiation.attestations.sca.auth_factors.items.[INDEX]","typeLabel":"TransferScaAuthFactor · object"},"minItems":2,"maxItems":10,"description":"Authentication factor metadata. Optional when `outcome` is `sca_used`; if provided, it must contain at least two entries from different `category` values (e.g. one `possession` factor and one `knowledge` factor). Omit this field for any other outcome.","uniqueKey":"custody_options.initiation.attestations.sca.auth_factors","typeLabel":"TransferScaAuthFactor · object[]"}},"required":["outcome"],"additionalProperties":false,"description":"Strong Customer Authentication attestation for a transfer.","title":"TransferScaAttestation","example":{"outcome":"sca_used","auth_factors":[{"category":"possession","authenticated_at":"2026-01-15T10:30:00Z","reference":"auth_event_123"},{"category":"knowledge","authenticated_at":"2026-01-15T10:30:00Z","reference":"auth_event_456"}]},"x-stainless-model":"wallets.transfer_sca_attestation","isRequired":true,"uniqueKey":"custody_options.initiation.attestations.sca","typeLabel":"TransferScaAttestation · object"}},"required":["sca"],"additionalProperties":false,"description":"Payment initiation attestations for a transfer.","title":"TransferInitiationAttestations","example":{"sca":{"outcome":"sca_used","auth_factors":[{"category":"possession","authenticated_at":"2026-01-15T10:30:00Z","reference":"auth_event_123"},{"category":"knowledge","authenticated_at":"2026-01-15T10:30:00Z","reference":"auth_event_456"}]}},"x-stainless-model":"wallets.transfer_initiation_attestations","isRequired":true,"uniqueKey":"custody_options.initiation.attestations","typeLabel":"TransferInitiationAttestations · object"}},"required":["channel","subchannel","attestations"],"additionalProperties":false,"description":"Payment initiation context for transfers sourced from wallets that require initiation data. Captures how the payment was initiated (channel and subchannel) and whether Strong Customer Authentication was applied or which SCA exemption was used.","title":"TransferInitiation","example":{"channel":"other_mobile_payment","subchannel":"remote","attestations":{"sca":{"outcome":"sca_used","auth_factors":[{"category":"possession","authenticated_at":"2026-01-15T10:30:00Z","reference":"auth_event_123"},{"category":"knowledge","authenticated_at":"2026-01-15T10:30:00Z","reference":"auth_event_456"}]}}},"x-stainless-model":"wallets.transfer_initiation","isRequired":true,"uniqueKey":"custody_options.initiation","typeLabel":"TransferInitiation · object"}},"required":["initiation"],"additionalProperties":false,"description":"Options for a transfer from a custodial wallet.","title":"TransferCustodyOptions","example":{"initiation":{"channel":"other_mobile_payment","subchannel":"remote","attestations":{"sca":{"outcome":"not_applicable"}}}},"x-stainless-model":"wallets.transfer_custody_options","uniqueKey":"custody_options","typeLabel":"TransferCustodyOptions · object"},"nonce":{"type":"string","minLength":24,"maxLength":255,"description":"Unique caller-generated nonce used to prevent replaying a signed wallet action request. Must be at least 24 characters (e.g. a cuid2 or UUID).","title":"WalletActionNonce","x-stainless-model":"wallets.wallet_action_nonce","uniqueKey":"nonce","typeLabel":"string"},"reference_id":{"type":"string","minLength":1,"maxLength":64,"description":"Developer-provided identifier for this request. Must be unique per app.","uniqueKey":"reference_id","typeLabel":"string"}},"required":["source","destination"],"additionalProperties":false,"description":"Request body for initiating a sponsored token transfer from an embedded wallet.","title":"TransferRequestBody","example":{"amount":"10.5","source":{"asset":"ousd","amount":"10.5","chain":"tempo"},"destination":{"address":"0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2"}},"x-stainless-model":"wallets.transfer_request_body","uniqueKey":"","typeLabel":"TransferRequestBody · object"},"example":{"amount_type":"exact_input","source":{"asset":"usdc","amount":"10.5","chain":"tempo"},"destination":{"asset":"ousd","chain":"tempo","address":"0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2"},"slippage_bps":100},"examples":{"Example":{"title":"Example","value":{"amount_type":"exact_input","source":{"asset":"usdc","amount":"10.5","chain":"tempo"},"destination":{"asset":"ousd","chain":"tempo","address":"0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2"},"slippage_bps":100}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"bdfa2454-b5ea-46de-b1fb-27c5afe47dfa":{"description":"Transfer initiated successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the wallet action.","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"status":{"type":"string","title":"WalletActionStatus","description":"The current status of the wallet action.","enum":["pending","succeeded","rejected","failed"],"x-stainless-model":"wallets.actions.wallet_action_status","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"wallet_id":{"type":"string","description":"The ID of the wallet involved in the action.","isRequired":true,"uniqueKey":"wallet_id","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of when the wallet action was created.","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"type":{"type":"string","enum":["transfer"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"source_chain":{"type":"string","description":"Chain name (e.g. \"tempo\", \"base\").","isRequired":true,"uniqueKey":"source_chain","typeLabel":"string"},"destination_address":{"type":"string","description":"Recipient address.","isRequired":true,"uniqueKey":"destination_address","typeLabel":"string"},"destination_amount":{"oneOf":[{"type":"string","description":"Amount received on the destination chain. For exact_output cross-chain transfers, set at creation (the guaranteed exact amount). For exact_input cross-chain transfers, null until fill confirmation.","isRequired":true,"uniqueKey":"destination_amount.oneOf.0","typeLabel":"string"},{"type":"null","description":"Amount received on the destination chain. For exact_output cross-chain transfers, set at creation (the guaranteed exact amount). For exact_input cross-chain transfers, null until fill confirmation.","isRequired":true,"uniqueKey":"destination_amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"destination_amount","typeLabel":"string | null"},"reference_id":{"oneOf":[{"type":"string","description":"Developer-provided reference ID, if one was included in the request.","uniqueKey":"reference_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Developer-provided reference ID, if one was included in the request.","uniqueKey":"reference_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"reference_id","typeLabel":"string | null"},"failure_reason":{"type":"object","title":"FailureReason","description":"Top-level failure context for the wallet action. Present on rejected or failed actions when available.","required":["message"],"x-stainless-model":"wallets.actions.failure_reason","properties":{"message":{"type":"string","description":"Human-readable failure message.","isRequired":true,"uniqueKey":"failure_reason.message","typeLabel":"string"},"details":{"description":"Additional error details, if available.","x-stainless-any":true,"uniqueKey":"failure_reason.details","typeLabel":"any"}},"uniqueKey":"failure_reason","typeLabel":"FailureReason · object"},"steps":{"type":"array","items":{"oneOf":[{"type":"object","title":"EVMTransactionWalletActionStep","description":"A wallet action step consisting of an EVM transaction.","required":["type","status","caip2","transaction_hash"],"x-stainless-model":"wallets.actions.wallet_action_step","properties":{"type":{"type":"string","enum":["evm_transaction"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","title":"EVMWalletActionStepStatus","description":"EVM transaction status.","enum":["preparing","queued","pending","retrying","confirmed","rejected","reverted","replaced","abandoned"],"x-stainless-model":"wallets.actions.evm_wallet_action_step_status","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.status","typeLabel":"enum\u003cstring>"},"caip2":{"type":"string","description":"CAIP-2 chain identifier of the transaction, containing the chain ID.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.caip2","typeLabel":"string"},"transaction_hash":{"oneOf":[{"type":"string","description":"The transaction hash for this step. May change while the step status is non-terminal.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.transaction_hash.oneOf.0","typeLabel":"string"},{"type":"null","description":"The transaction hash for this step. May change while the step status is non-terminal.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.transaction_hash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.transaction_hash","typeLabel":"string | null"},"failure_reason":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable failure message.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.failure_reason.message","typeLabel":"string"},"details":{"description":"Additional error details, if available.","x-stainless-any":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.failure_reason.details","typeLabel":"any"}},"required":["message"],"description":"A description of why a wallet action (or a step within a wallet action) failed.","title":"FailureReason","x-stainless-model":"wallets.actions.failure_reason","uniqueKey":"steps.items.[INDEX].oneOf.0.failure_reason","typeLabel":"FailureReason · object"},"finalized":{"type":"boolean","description":"Whether this step has reached on-chain finality. Absent until finality is confirmed.","uniqueKey":"steps.items.[INDEX].oneOf.0.finalized","typeLabel":"boolean"},"gas_credits_charged":{"oneOf":[{"type":"object","title":"CurrencyAmount","description":"Gas credits charged for this step, if sponsored; may be `null` on reads made immediately after the step confirms, and always `0` on sponsored testnet steps.","required":["value","currency"],"x-stainless-model":"shared.currency_amount","example":{"value":"100.00","currency":"usd"},"properties":{"value":{"type":"string","description":"The monetary value as a string.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.gas_credits_charged.oneOf.0.value","typeLabel":"string"},"currency":{"type":"string","enum":["usd"],"description":"Currency code","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.gas_credits_charged.oneOf.0.currency","typeLabel":"enum\u003cstring>"}},"uniqueKey":"steps.items.[INDEX].oneOf.0.gas_credits_charged.oneOf.0","typeLabel":"CurrencyAmount · object"},{"type":"null","description":"Gas credits charged for this step, if sponsored; may be `null` on reads made immediately after the step confirms, and always `0` on sponsored testnet steps.","uniqueKey":"steps.items.[INDEX].oneOf.0.gas_credits_charged.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].oneOf.0.gas_credits_charged","typeLabel":"CurrencyAmount · object | null"},"gas_credits_charged_usd":{"oneOf":[{"type":"string","description":"Deprecated, use `gas_credits_charged` instead; gas credits charged in USD for this step, if sponsored, as a decimal string.","deprecated":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.gas_credits_charged_usd.oneOf.0","typeLabel":"string"},{"type":"null","description":"Deprecated, use `gas_credits_charged` instead; gas credits charged in USD for this step, if sponsored, as a decimal string.","deprecated":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.gas_credits_charged_usd.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].oneOf.0.gas_credits_charged_usd","typeLabel":"string | null"}},"uniqueKey":"steps.items.[INDEX].oneOf.0","typeLabel":"EVMTransactionWalletActionStep · object"},{"type":"object","title":"EVMUserOperationWalletActionStep","description":"A wallet action step consisting of an EVM user operation.","required":["type","status","user_operation_hash","bundle_transaction_hash","caip2","entrypoint_version"],"x-stainless-model":"wallets.actions.wallet_action_step","properties":{"type":{"type":"string","enum":["evm_user_operation"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","title":"EVMWalletActionStepStatus","description":"User operation status.","enum":["preparing","queued","pending","retrying","confirmed","rejected","reverted","replaced","abandoned"],"x-stainless-model":"wallets.actions.evm_wallet_action_step_status","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.status","typeLabel":"enum\u003cstring>"},"user_operation_hash":{"oneOf":[{"type":"string","description":"The user operation hash for this step. May change while the step status is non-terminal.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.user_operation_hash.oneOf.0","typeLabel":"string"},{"type":"null","description":"The user operation hash for this step. May change while the step status is non-terminal.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.user_operation_hash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.user_operation_hash","typeLabel":"string | null"},"bundle_transaction_hash":{"oneOf":[{"type":"string","description":"Transaction hash of the bundle in which this user operation was included. Null until included by a bundler.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.bundle_transaction_hash.oneOf.0","typeLabel":"string"},{"type":"null","description":"Transaction hash of the bundle in which this user operation was included. Null until included by a bundler.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.bundle_transaction_hash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.bundle_transaction_hash","typeLabel":"string | null"},"caip2":{"type":"string","description":"CAIP-2 network identifier, containing the chain ID of the user operation.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.caip2","typeLabel":"string"},"entrypoint_version":{"type":"string","title":"EVMUserOperationEntrypointVersion","description":"The entrypoint version of the user operation.","enum":["0.6","0.7","0.8","0.9"],"x-stainless-model":"wallets.actions.evm_user_operation_entrypoint_version","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.entrypoint_version","typeLabel":"enum\u003cstring>"},"failure_reason":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable failure message.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.failure_reason.message","typeLabel":"string"},"details":{"description":"Additional error details, if available.","x-stainless-any":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.failure_reason.details","typeLabel":"any"}},"required":["message"],"description":"A description of why a wallet action (or a step within a wallet action) failed.","title":"FailureReason","x-stainless-model":"wallets.actions.failure_reason","uniqueKey":"steps.items.[INDEX].oneOf.1.failure_reason","typeLabel":"FailureReason · object"},"finalized":{"type":"boolean","description":"Whether this step has reached on-chain finality. Absent until finality is confirmed.","uniqueKey":"steps.items.[INDEX].oneOf.1.finalized","typeLabel":"boolean"},"gas_credits_charged":{"oneOf":[{"type":"object","title":"CurrencyAmount","description":"Gas credits charged for this step, if sponsored; may be `null` on reads made immediately after the step confirms, and always `0` on sponsored testnet steps.","required":["value","currency"],"x-stainless-model":"shared.currency_amount","example":{"value":"100.00","currency":"usd"},"properties":{"value":{"type":"string","description":"The monetary value as a string.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.gas_credits_charged.oneOf.0.value","typeLabel":"string"},"currency":{"type":"string","enum":["usd"],"description":"Currency code","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.gas_credits_charged.oneOf.0.currency","typeLabel":"enum\u003cstring>"}},"uniqueKey":"steps.items.[INDEX].oneOf.1.gas_credits_charged.oneOf.0","typeLabel":"CurrencyAmount · object"},{"type":"null","description":"Gas credits charged for this step, if sponsored; may be `null` on reads made immediately after the step confirms, and always `0` on sponsored testnet steps.","uniqueKey":"steps.items.[INDEX].oneOf.1.gas_credits_charged.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].oneOf.1.gas_credits_charged","typeLabel":"CurrencyAmount · object | null"},"gas_credits_charged_usd":{"oneOf":[{"type":"string","description":"Deprecated, use `gas_credits_charged` instead; gas credits charged in USD for this step, if sponsored, as a decimal string.","deprecated":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.gas_credits_charged_usd.oneOf.0","typeLabel":"string"},{"type":"null","description":"Deprecated, use `gas_credits_charged` instead; gas credits charged in USD for this step, if sponsored, as a decimal string.","deprecated":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.gas_credits_charged_usd.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].oneOf.1.gas_credits_charged_usd","typeLabel":"string | null"}},"uniqueKey":"steps.items.[INDEX].oneOf.1","typeLabel":"EVMUserOperationWalletActionStep · object"},{"type":"object","title":"SVMTransactionWalletActionStep","description":"A wallet action step consisting of an SVM (Solana) transaction.","required":["type","status","caip2","transaction_signature"],"x-stainless-model":"wallets.actions.wallet_action_step","properties":{"type":{"type":"string","enum":["svm_transaction"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","title":"SVMWalletActionStepStatus","description":"SVM transaction status.","enum":["preparing","queued","pending","confirmed","rejected","reverted","failed"],"x-stainless-model":"wallets.actions.svm_wallet_action_step_status","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.status","typeLabel":"enum\u003cstring>"},"caip2":{"type":"string","description":"CAIP-2 chain identifier for the Solana network.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.caip2","typeLabel":"string"},"transaction_signature":{"oneOf":[{"type":"string","description":"The Solana transaction signature (base58-encoded). Null until broadcast.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.transaction_signature.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Solana transaction signature (base58-encoded). Null until broadcast.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.transaction_signature.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.transaction_signature","typeLabel":"string | null"},"failure_reason":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable failure message.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.failure_reason.message","typeLabel":"string"},"details":{"description":"Additional error details, if available.","x-stainless-any":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.failure_reason.details","typeLabel":"any"}},"required":["message"],"description":"A description of why a wallet action (or a step within a wallet action) failed.","title":"FailureReason","x-stainless-model":"wallets.actions.failure_reason","uniqueKey":"steps.items.[INDEX].oneOf.2.failure_reason","typeLabel":"FailureReason · object"},"finalized":{"type":"boolean","description":"Whether this step has reached on-chain finality. Absent until finality is confirmed.","uniqueKey":"steps.items.[INDEX].oneOf.2.finalized","typeLabel":"boolean"},"gas_credits_charged":{"oneOf":[{"type":"object","title":"CurrencyAmount","description":"Gas credits charged for this step, if sponsored; may be `null` on reads made immediately after the step confirms, and always `0` on sponsored testnet steps.","required":["value","currency"],"x-stainless-model":"shared.currency_amount","example":{"value":"100.00","currency":"usd"},"properties":{"value":{"type":"string","description":"The monetary value as a string.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.gas_credits_charged.oneOf.0.value","typeLabel":"string"},"currency":{"type":"string","enum":["usd"],"description":"Currency code","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.gas_credits_charged.oneOf.0.currency","typeLabel":"enum\u003cstring>"}},"uniqueKey":"steps.items.[INDEX].oneOf.2.gas_credits_charged.oneOf.0","typeLabel":"CurrencyAmount · object"},{"type":"null","description":"Gas credits charged for this step, if sponsored; may be `null` on reads made immediately after the step confirms, and always `0` on sponsored testnet steps.","uniqueKey":"steps.items.[INDEX].oneOf.2.gas_credits_charged.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].oneOf.2.gas_credits_charged","typeLabel":"CurrencyAmount · object | null"},"gas_credits_charged_usd":{"oneOf":[{"type":"string","description":"Deprecated, use `gas_credits_charged` instead; gas credits charged in USD for this step, if sponsored, as a decimal string.","deprecated":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.gas_credits_charged_usd.oneOf.0","typeLabel":"string"},{"type":"null","description":"Deprecated, use `gas_credits_charged` instead; gas credits charged in USD for this step, if sponsored, as a decimal string.","deprecated":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.gas_credits_charged_usd.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].oneOf.2.gas_credits_charged_usd","typeLabel":"string | null"}},"uniqueKey":"steps.items.[INDEX].oneOf.2","typeLabel":"SVMTransactionWalletActionStep · object"},{"type":"object","title":"TVMTransactionWalletActionStep","description":"A wallet action step consisting of a TVM (Tron) transaction.","required":["type","status","caip2","transaction_id"],"x-stainless-model":"wallets.actions.wallet_action_step","properties":{"type":{"type":"string","enum":["tvm_transaction"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","title":"TVMWalletActionStepStatus","description":"TVM transaction status.","enum":["preparing","queued","pending","confirmed","rejected","reverted","failed"],"x-stainless-model":"wallets.actions.tvm_wallet_action_step_status","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.status","typeLabel":"enum\u003cstring>"},"caip2":{"type":"string","description":"CAIP-2 chain identifier for the Tron network.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.caip2","typeLabel":"string"},"transaction_id":{"oneOf":[{"type":"string","description":"The Tron transaction ID. Null until broadcast.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.transaction_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Tron transaction ID. Null until broadcast.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.transaction_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.transaction_id","typeLabel":"string | null"},"failure_reason":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable failure message.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.failure_reason.message","typeLabel":"string"},"details":{"description":"Additional error details, if available.","x-stainless-any":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.failure_reason.details","typeLabel":"any"}},"required":["message"],"description":"A description of why a wallet action (or a step within a wallet action) failed.","title":"FailureReason","x-stainless-model":"wallets.actions.failure_reason","uniqueKey":"steps.items.[INDEX].oneOf.3.failure_reason","typeLabel":"FailureReason · object"},"gas_credits_charged":{"oneOf":[{"type":"object","title":"CurrencyAmount","description":"Gas credits charged for this step, if sponsored; may be `null` on reads made immediately after the step confirms, and always `0` on sponsored testnet steps.","required":["value","currency"],"x-stainless-model":"shared.currency_amount","example":{"value":"100.00","currency":"usd"},"properties":{"value":{"type":"string","description":"The monetary value as a string.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.gas_credits_charged.oneOf.0.value","typeLabel":"string"},"currency":{"type":"string","enum":["usd"],"description":"Currency code","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.gas_credits_charged.oneOf.0.currency","typeLabel":"enum\u003cstring>"}},"uniqueKey":"steps.items.[INDEX].oneOf.3.gas_credits_charged.oneOf.0","typeLabel":"CurrencyAmount · object"},{"type":"null","description":"Gas credits charged for this step, if sponsored; may be `null` on reads made immediately after the step confirms, and always `0` on sponsored testnet steps.","uniqueKey":"steps.items.[INDEX].oneOf.3.gas_credits_charged.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].oneOf.3.gas_credits_charged","typeLabel":"CurrencyAmount · object | null"},"gas_credits_charged_usd":{"oneOf":[{"type":"string","description":"Deprecated, use `gas_credits_charged` instead; gas credits charged in USD for this step, if sponsored, as a decimal string.","deprecated":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.gas_credits_charged_usd.oneOf.0","typeLabel":"string"},{"type":"null","description":"Deprecated, use `gas_credits_charged` instead; gas credits charged in USD for this step, if sponsored, as a decimal string.","deprecated":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.gas_credits_charged_usd.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].oneOf.3.gas_credits_charged_usd","typeLabel":"string | null"}},"uniqueKey":"steps.items.[INDEX].oneOf.3","typeLabel":"TVMTransactionWalletActionStep · object"},{"type":"object","title":"ExternalTransactionWalletActionStep","description":"A wallet action step representing a cross-chain/cross-asset fill by an external provider.","required":["type","status","provider"],"x-stainless-model":"wallets.actions.wallet_action_step","properties":{"type":{"type":"string","enum":["external_transaction"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","title":"ExternalTransactionWalletActionStepStatus","description":"External transaction step status.","enum":["preparing","queued","pending","confirmed","rejected","failed"],"x-stainless-model":"wallets.actions.external_transaction_wallet_action_step_status","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.4.status","typeLabel":"enum\u003cstring>"},"provider":{"oneOf":[{"type":"string","title":"ExternalTransactionStepProvider","description":"External provider filling this step, or null until the fill is requested.","enum":["relay","tempo_routes","bridge"],"x-stainless-model":"wallets.actions.external_transaction_step_provider","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.4.provider.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ExternalTransactionStepProvider","description":"External provider filling this step, or null until the fill is requested.","x-stainless-model":"wallets.actions.external_transaction_step_provider","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.4.provider.oneOf.1","typeLabel":"string"},{"type":"null","description":"External provider filling this step, or null until the fill is requested.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.4.provider.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.4.provider","typeLabel":"enum\u003cstring> | string | null"},"failure_reason":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable failure message.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.4.failure_reason.message","typeLabel":"string"},"details":{"description":"Additional error details, if available.","x-stainless-any":true,"uniqueKey":"steps.items.[INDEX].oneOf.4.failure_reason.details","typeLabel":"any"}},"required":["message"],"description":"A description of why a wallet action (or a step within a wallet action) failed.","title":"FailureReason","x-stainless-model":"wallets.actions.failure_reason","uniqueKey":"steps.items.[INDEX].oneOf.4.failure_reason","typeLabel":"FailureReason · object"}},"uniqueKey":"steps.items.[INDEX].oneOf.4","typeLabel":"ExternalTransactionWalletActionStep · object"},{"type":"object","title":"CustodianTransactionWalletActionStep","description":"A wallet action step representing a transaction executed by a custodian (e.g. Bridge).","required":["type","status","custodian","transaction_hash"],"x-stainless-model":"wallets.actions.wallet_action_step","properties":{"type":{"type":"string","enum":["custodian_transaction"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","title":"CustodianTransactionWalletActionStepStatus","description":"Custodian transaction step status.","enum":["preparing","queued","custodian_reviewing","pending","confirmed","rejected","failed"],"x-stainless-model":"wallets.actions.custodian_transaction_wallet_action_step_status","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.status","typeLabel":"enum\u003cstring>"},"custodian":{"type":"string","description":"Identifier of the custodian executing this transaction (e.g. \"bridge\").","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.custodian","typeLabel":"string"},"transaction_hash":{"oneOf":[{"type":"string","description":"Identifier of the transaction the custodian last reported on the destination chain. Set on a settled transfer, and also on a failed one when the custodian had already broadcast a payout that was later returned. Null until the custodian reports one.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.transaction_hash.oneOf.0","typeLabel":"string"},{"type":"null","description":"Identifier of the transaction the custodian last reported on the destination chain. Set on a settled transfer, and also on a failed one when the custodian had already broadcast a payout that was later returned. Null until the custodian reports one.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.transaction_hash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.transaction_hash","typeLabel":"string | null"},"failure_reason":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable failure message.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.failure_reason.message","typeLabel":"string"},"details":{"description":"Additional error details, if available.","x-stainless-any":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.failure_reason.details","typeLabel":"any"}},"required":["message"],"description":"A description of why a wallet action (or a step within a wallet action) failed.","title":"FailureReason","x-stainless-model":"wallets.actions.failure_reason","uniqueKey":"steps.items.[INDEX].oneOf.5.failure_reason","typeLabel":"FailureReason · object"}},"uniqueKey":"steps.items.[INDEX].oneOf.5","typeLabel":"CustodianTransactionWalletActionStep · object"},{"type":"object","title":"TempoZoneSettlementWalletActionStep","description":"A wallet action step representing a Tempo Zone settlement on its parent chain.","required":["type","caip2","transaction_hash","status"],"x-stainless-model":"wallets.actions.wallet_action_step","properties":{"type":{"type":"string","enum":["tempo_zone_settlement"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.type","typeLabel":"enum\u003cstring>"},"caip2":{"oneOf":[{"type":"string","description":"CAIP-2 identifier of the Tempo parent chain, or null when unavailable.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.caip2.oneOf.0","typeLabel":"string"},{"type":"null","description":"CAIP-2 identifier of the Tempo parent chain, or null when unavailable.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.caip2.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.caip2","typeLabel":"string | null"},"transaction_hash":{"oneOf":[{"type":"string","title":"Hex","description":"Parent-chain settlement transaction hash, or null until completion.","maxLength":300002,"x-stainless-model":"wallets.hex","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.transaction_hash.oneOf.0","typeLabel":"string"},{"type":"null","description":"Parent-chain settlement transaction hash, or null until completion.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.transaction_hash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.transaction_hash","typeLabel":"string | null"},"status":{"type":"string","title":"ExternalTransactionWalletActionStepStatus","description":"Tempo Zone settlement step status.","enum":["preparing","queued","pending","confirmed","rejected","failed"],"x-stainless-model":"wallets.actions.external_transaction_wallet_action_step_status","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.status","typeLabel":"enum\u003cstring>"},"failure_reason":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable failure message.","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.failure_reason.message","typeLabel":"string"},"details":{"description":"Additional error details, if available.","x-stainless-any":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.failure_reason.details","typeLabel":"any"}},"required":["message"],"description":"A description of why a wallet action (or a step within a wallet action) failed.","title":"FailureReason","x-stainless-model":"wallets.actions.failure_reason","uniqueKey":"steps.items.[INDEX].oneOf.6.failure_reason","typeLabel":"FailureReason · object"}},"uniqueKey":"steps.items.[INDEX].oneOf.6","typeLabel":"TempoZoneSettlementWalletActionStep · object"}],"uniqueKey":"steps.items.[INDEX]","typeLabel":"EVMTransactionWalletActionStep · object | EVMUserOperationWalletActionStep · object | SVMTransactionWalletActionStep · object | TVMTransactionWalletActionStep · object | ExternalTransactionWalletActionStep · object | CustodianTransactionWalletActionStep · object | TempoZoneSettlementWalletActionStep · object"},"description":"The steps of the wallet action. Only returned if `?include=steps` is provided.","uniqueKey":"steps","typeLabel":"(EVMTransactionWalletActionStep · object | EVMUserOperationWalletActionStep · object | SVMTransactionWalletActionStep · object | TVMTransactionWalletActionStep · object | ExternalTransactionWalletActionStep · object | CustodianTransactionWalletActionStep · object | TempoZoneSettlementWalletActionStep · object)[]"},"amount_type":{"type":"string","enum":["exact_input","exact_output"],"description":"Whether the amount refers to the input token or output token.","title":"AmountType","x-stainless-model":"wallets.amount_type","uniqueKey":"amount_type","typeLabel":"enum\u003cstring>"},"source_asset":{"type":"string","description":"Asset identifier (e.g. \"usdc\", \"eth\"). Present when the transfer was initiated with a named asset; omitted for custom-token transfers.","uniqueKey":"source_asset","typeLabel":"string"},"source_asset_address":{"type":"string","description":"Token contract address (EVM) or mint address (Solana). Present when the transfer was initiated with `asset_address`.","uniqueKey":"source_asset_address","typeLabel":"string"},"source_asset_decimals":{"type":"integer","description":"Number of decimals for the transferred token. Present when the transfer was initiated with `asset_address` and the decimals were resolved on-chain.","uniqueKey":"source_asset_decimals","typeLabel":"integer"},"source_amount":{"type":"string","description":"Decimal amount sent on the source chain (e.g. \"1.5\"). For exact_output cross-chain transfers, null until fill confirmation.","uniqueKey":"source_amount","typeLabel":"string"},"destination_asset":{"type":"string","description":"Destination asset for cross-asset transfers. Omitted for same-asset transfers.","uniqueKey":"destination_asset","typeLabel":"string"},"destination_chain":{"type":"string","description":"Destination chain for cross-chain transfers. Omitted for same-chain transfers.","uniqueKey":"destination_chain","typeLabel":"string"},"estimated_fees":{"oneOf":[{"type":"array","items":{"oneOf":[{"type":"object","title":"RelayerFee","description":"Estimated fee paid to the relayer.","required":["type","amount"],"x-stainless-model":"wallets.fee_line_item","example":{"type":"privy","recipient":"0x1234567890abcdef1234567890abcdef12345678","amount":"0.20"},"properties":{"type":{"type":"string","enum":["relayer"],"isRequired":true,"uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"string","description":"Amount in USD (in decimals).","isRequired":true,"uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.0.amount","typeLabel":"string"},"recipient":{"oneOf":[{"type":"string","uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.0.recipient.oneOf.0","typeLabel":"string"},{"type":"string","uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.0.recipient.oneOf.1","typeLabel":"string"},{"type":"string","title":"TronAddress","description":"Tron address: base58check-encoded, starting with T, 34 characters.","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address","uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.0.recipient.oneOf.2","typeLabel":"string"}],"uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.0.recipient","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"RelayerFee · object"},{"type":"object","title":"PrivyFee","description":"Estimated fee paid to Privy.","required":["type","amount"],"x-stainless-model":"wallets.fee_line_item","example":{"type":"privy","amount":"0.20"},"properties":{"type":{"type":"string","enum":["privy"],"isRequired":true,"uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"string","description":"Amount in USD (in decimals).","isRequired":true,"uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.1.amount","typeLabel":"string"},"recipient":{"oneOf":[{"type":"string","uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.1.recipient.oneOf.0","typeLabel":"string"},{"type":"string","uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.1.recipient.oneOf.1","typeLabel":"string"},{"type":"string","title":"TronAddress","description":"Tron address: base58check-encoded, starting with T, 34 characters.","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address","uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.1.recipient.oneOf.2","typeLabel":"string"}],"uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.1.recipient","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"PrivyFee · object"},{"type":"object","title":"DeveloperFee","description":"Estimated fee paid to the developer.","required":["type","amount"],"x-stainless-model":"wallets.fee_line_item","example":{"type":"privy","recipient":"0x1234567890abcdef1234567890abcdef12345678","amount":"0.20"},"properties":{"type":{"type":"string","enum":["developer"],"isRequired":true,"uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"string","description":"Amount in USD (in decimals).","isRequired":true,"uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.2.amount","typeLabel":"string"},"recipient":{"oneOf":[{"type":"string","uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.2.recipient.oneOf.0","typeLabel":"string"},{"type":"string","uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.2.recipient.oneOf.1","typeLabel":"string"},{"type":"string","title":"TronAddress","description":"Tron address: base58check-encoded, starting with T, 34 characters.","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address","uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.2.recipient.oneOf.2","typeLabel":"string"}],"uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.2.recipient","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"estimated_fees.oneOf.0.items.[INDEX].oneOf.2","typeLabel":"DeveloperFee · object"}],"uniqueKey":"estimated_fees.oneOf.0.items.[INDEX]","typeLabel":"RelayerFee · object | PrivyFee · object | DeveloperFee · object"},"description":"Estimated fee breakdown from the provider quote. Only present for cross-chain or cross-asset transfers. Populated after on-chain confirmation.","uniqueKey":"estimated_fees.oneOf.0","typeLabel":"(RelayerFee · object | PrivyFee · object | DeveloperFee · object)[]"},{"type":"null","items":{"oneOf":[{"type":"object","title":"RelayerFee","description":"Estimated fee paid to the relayer.","required":["type","amount"],"x-stainless-model":"wallets.fee_line_item","example":{"type":"privy","recipient":"0x1234567890abcdef1234567890abcdef12345678","amount":"0.20"},"properties":{"type":{"type":"string","enum":["relayer"]},"recipient":{"oneOf":[{"type":"string"},{"type":"string"},{"type":"string","title":"TronAddress","description":"Tron address: base58check-encoded, starting with T, 34 characters.","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address"}]},"amount":{"type":"string","description":"Amount in USD (in decimals)."}},"additionalProperties":false},{"type":"object","title":"PrivyFee","description":"Estimated fee paid to Privy.","required":["type","amount"],"x-stainless-model":"wallets.fee_line_item","example":{"type":"privy","amount":"0.20"},"properties":{"type":{"type":"string","enum":["privy"]},"recipient":{"oneOf":[{"type":"string"},{"type":"string"},{"type":"string","title":"TronAddress","description":"Tron address: base58check-encoded, starting with T, 34 characters.","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address"}]},"amount":{"type":"string","description":"Amount in USD (in decimals)."}},"additionalProperties":false},{"type":"object","title":"DeveloperFee","description":"Estimated fee paid to the developer.","required":["type","amount"],"x-stainless-model":"wallets.fee_line_item","example":{"type":"privy","recipient":"0x1234567890abcdef1234567890abcdef12345678","amount":"0.20"},"properties":{"type":{"type":"string","enum":["developer"]},"recipient":{"oneOf":[{"type":"string"},{"type":"string"},{"type":"string","title":"TronAddress","description":"Tron address: base58check-encoded, starting with T, 34 characters.","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address"}]},"amount":{"type":"string","description":"Amount in USD (in decimals)."}},"additionalProperties":false}]},"description":"Estimated fee breakdown from the provider quote. Only present for cross-chain or cross-asset transfers. Populated after on-chain confirmation.","uniqueKey":"estimated_fees.oneOf.1","typeLabel":"null"}],"uniqueKey":"estimated_fees","typeLabel":"(RelayerFee · object | PrivyFee · object | DeveloperFee · object)[] | null"},"estimated_gas":{"oneOf":[{"type":"object","title":"Gas","description":"Estimated source-chain gas cost from the provider quote. Only present for cross-chain or cross-asset transfers. Populated after on-chain confirmation.","required":["base_amount","amount","gas_asset"],"x-stainless-model":"wallets.gas","example":{"base_amount":"100000000000000","amount":"0.0001","gas_asset":"ETH"},"properties":{"base_amount":{"type":"string","description":"Gas cost in the gas token's base units (e.g. wei).","isRequired":true,"uniqueKey":"estimated_gas.oneOf.0.base_amount","typeLabel":"string"},"amount":{"type":"string","description":"Gas cost in the gas token as a human-readable decimal string (e.g. \"0.0001\").","isRequired":true,"uniqueKey":"estimated_gas.oneOf.0.amount","typeLabel":"string"},"gas_asset":{"type":"string","description":"Gas token symbol (e.g. \"ETH\", \"USDC\").","isRequired":true,"uniqueKey":"estimated_gas.oneOf.0.gas_asset","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"estimated_gas.oneOf.0","typeLabel":"Gas · object"},{"type":"null","description":"Estimated source-chain gas cost from the provider quote. Only present for cross-chain or cross-asset transfers. Populated after on-chain confirmation.","uniqueKey":"estimated_gas.oneOf.1","typeLabel":"null"}],"uniqueKey":"estimated_gas","typeLabel":"Gas · object | null"},"fees":{"oneOf":[{"type":"array","items":{"oneOf":[{"type":"object","title":"RelayerFee","description":"Estimated fee paid to the relayer.","required":["type","amount"],"x-stainless-model":"wallets.fee_line_item","example":{"type":"privy","recipient":"0x1234567890abcdef1234567890abcdef12345678","amount":"0.20"},"properties":{"type":{"type":"string","enum":["relayer"],"isRequired":true,"uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"string","description":"Amount in USD (in decimals).","isRequired":true,"uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.0.amount","typeLabel":"string"},"recipient":{"oneOf":[{"type":"string","uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.0.recipient.oneOf.0","typeLabel":"string"},{"type":"string","uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.0.recipient.oneOf.1","typeLabel":"string"},{"type":"string","title":"TronAddress","description":"Tron address: base58check-encoded, starting with T, 34 characters.","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address","uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.0.recipient.oneOf.2","typeLabel":"string"}],"uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.0.recipient","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"RelayerFee · object"},{"type":"object","title":"PrivyFee","description":"Estimated fee paid to Privy.","required":["type","amount"],"x-stainless-model":"wallets.fee_line_item","example":{"type":"privy","amount":"0.20"},"properties":{"type":{"type":"string","enum":["privy"],"isRequired":true,"uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"string","description":"Amount in USD (in decimals).","isRequired":true,"uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.1.amount","typeLabel":"string"},"recipient":{"oneOf":[{"type":"string","uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.1.recipient.oneOf.0","typeLabel":"string"},{"type":"string","uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.1.recipient.oneOf.1","typeLabel":"string"},{"type":"string","title":"TronAddress","description":"Tron address: base58check-encoded, starting with T, 34 characters.","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address","uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.1.recipient.oneOf.2","typeLabel":"string"}],"uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.1.recipient","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"PrivyFee · object"},{"type":"object","title":"DeveloperFee","description":"Estimated fee paid to the developer.","required":["type","amount"],"x-stainless-model":"wallets.fee_line_item","example":{"type":"privy","recipient":"0x1234567890abcdef1234567890abcdef12345678","amount":"0.20"},"properties":{"type":{"type":"string","enum":["developer"],"isRequired":true,"uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"string","description":"Amount in USD (in decimals).","isRequired":true,"uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.2.amount","typeLabel":"string"},"recipient":{"oneOf":[{"type":"string","uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.2.recipient.oneOf.0","typeLabel":"string"},{"type":"string","uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.2.recipient.oneOf.1","typeLabel":"string"},{"type":"string","title":"TronAddress","description":"Tron address: base58check-encoded, starting with T, 34 characters.","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address","uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.2.recipient.oneOf.2","typeLabel":"string"}],"uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.2.recipient","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"fees.oneOf.0.items.[INDEX].oneOf.2","typeLabel":"DeveloperFee · object"}],"uniqueKey":"fees.oneOf.0.items.[INDEX]","typeLabel":"RelayerFee · object | PrivyFee · object | DeveloperFee · object"},"description":"Actual fees paid for the transfer. Populated after on-chain confirmation. Only present for cross-chain transfers.","uniqueKey":"fees.oneOf.0","typeLabel":"(RelayerFee · object | PrivyFee · object | DeveloperFee · object)[]"},{"type":"null","items":{"oneOf":[{"type":"object","title":"RelayerFee","description":"Estimated fee paid to the relayer.","required":["type","amount"],"x-stainless-model":"wallets.fee_line_item","example":{"type":"privy","recipient":"0x1234567890abcdef1234567890abcdef12345678","amount":"0.20"},"properties":{"type":{"type":"string","enum":["relayer"]},"recipient":{"oneOf":[{"type":"string"},{"type":"string"},{"type":"string","title":"TronAddress","description":"Tron address: base58check-encoded, starting with T, 34 characters.","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address"}]},"amount":{"type":"string","description":"Amount in USD (in decimals)."}},"additionalProperties":false},{"type":"object","title":"PrivyFee","description":"Estimated fee paid to Privy.","required":["type","amount"],"x-stainless-model":"wallets.fee_line_item","example":{"type":"privy","amount":"0.20"},"properties":{"type":{"type":"string","enum":["privy"]},"recipient":{"oneOf":[{"type":"string"},{"type":"string"},{"type":"string","title":"TronAddress","description":"Tron address: base58check-encoded, starting with T, 34 characters.","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address"}]},"amount":{"type":"string","description":"Amount in USD (in decimals)."}},"additionalProperties":false},{"type":"object","title":"DeveloperFee","description":"Estimated fee paid to the developer.","required":["type","amount"],"x-stainless-model":"wallets.fee_line_item","example":{"type":"privy","recipient":"0x1234567890abcdef1234567890abcdef12345678","amount":"0.20"},"properties":{"type":{"type":"string","enum":["developer"]},"recipient":{"oneOf":[{"type":"string"},{"type":"string"},{"type":"string","title":"TronAddress","description":"Tron address: base58check-encoded, starting with T, 34 characters.","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$","x-stainless-model":"shared.tron_address"}]},"amount":{"type":"string","description":"Amount in USD (in decimals)."}},"additionalProperties":false}]},"description":"Actual fees paid for the transfer. Populated after on-chain confirmation. Only present for cross-chain transfers.","uniqueKey":"fees.oneOf.1","typeLabel":"null"}],"uniqueKey":"fees","typeLabel":"(RelayerFee · object | PrivyFee · object | DeveloperFee · object)[] | null"},"gas":{"oneOf":[{"type":"object","title":"Gas","description":"Actual source-chain gas cost. Populated after on-chain confirmation. Only present for cross-chain transfers.","required":["base_amount","amount","gas_asset"],"x-stainless-model":"wallets.gas","example":{"base_amount":"100000000000000","amount":"0.0001","gas_asset":"ETH"},"properties":{"base_amount":{"type":"string","description":"Gas cost in the gas token's base units (e.g. wei).","isRequired":true,"uniqueKey":"gas.oneOf.0.base_amount","typeLabel":"string"},"amount":{"type":"string","description":"Gas cost in the gas token as a human-readable decimal string (e.g. \"0.0001\").","isRequired":true,"uniqueKey":"gas.oneOf.0.amount","typeLabel":"string"},"gas_asset":{"type":"string","description":"Gas token symbol (e.g. \"ETH\", \"USDC\").","isRequired":true,"uniqueKey":"gas.oneOf.0.gas_asset","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"gas.oneOf.0","typeLabel":"Gas · object"},{"type":"null","description":"Actual source-chain gas cost. Populated after on-chain confirmation. Only present for cross-chain transfers.","uniqueKey":"gas.oneOf.1","typeLabel":"null"}],"uniqueKey":"gas","typeLabel":"Gas · object | null"}},"required":["id","status","wallet_id","created_at","type","source_chain","destination_address","destination_amount"],"description":"Response for a transfer action.","title":"TransferActionResponse","x-stainless-model":"wallets.actions.transfer_action_response","uniqueKey":"","typeLabel":"TransferActionResponse · object"},"example":{"id":"550e8400-e29b-41d4-a716-446655440000","status":"pending","wallet_id":"fmfdj6yqly31huorjqzq38zc","type":"transfer","source_asset":"ousd","source_amount":"10.5","source_chain":"tempo","destination_address":"0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2"},"examples":{"Example":{"title":"Example","value":{"id":"550e8400-e29b-41d4-a716-446655440000","status":"pending","wallet_id":"fmfdj6yqly31huorjqzq38zc","type":"transfer","source_asset":"ousd","source_amount":"10.5","source_chain":"tempo","destination_address":"0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"f7ec97e7-672f-4b1d-ba8d-410f15156402":{"appSecretAuth":{"type":"http","scheme":"basic","description":"Basic Auth header with your app ID as the username and your app secret as the password.","scopes":[],"schemeName":"appSecretAuth"}}},"servers":{"acec9000-ad38-4fee-a777-c682143596a7":{"url":"https://api.privy.io"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"basic","description":"Basic Auth header with your app ID as the username and your app secret as the password.","scopes":[],"schemeName":"appSecretAuth"},"schema":{"title":"Basic Auth","type":"object","description":"Basic Auth header with your app ID as the username and your app secret as the password.","isRequired":true,"properties":{"username":{"type":"string","uniqueKey":"username","isRequired":true,"typeLabel":"string","deprecated":false},"password":{"type":"string","uniqueKey":"password","isRequired":true,"typeLabel":"string","deprecated":false}},"additionalProperties":false,"deprecated":false},"schemeName":"appSecretAuth","name":"Authorization"}],"title":"appSecretAuth"}]},"originalFileLocation":"https://api.staging.privy.io/v1/openapi.json"},"subdomain":"privy-c2af3412","siteName":"Privy Docs","title":"Transfer tokens – API reference","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-12T22:38:05.380Z","originalFileLocation":"api-reference/wallets/transfer/index.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=\"Transfer tokens from a wallet to a destination address.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Privy Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Transfer tokens – API reference\">\u003cmeta data-mint-head property=\"og:description\" content=\"Transfer tokens from a wallet to a destination address.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Privy Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.privy.io/api-reference/wallets/transfer\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://assets.privy.io/docs-og.png\">\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=\"Privy Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Transfer tokens from a wallet to a destination address.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://assets.privy.io/docs-og.png\">\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/privy-c2af3412/bJgmnaRQwH8sO8y5/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Privy Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#010110\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.privy.io/api-reference/wallets/transfer\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/wallets/transfer/index.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.privy.io/#organization\",\"name\":\"Privy\",\"url\":\"https://www.privy.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://assets.privy.io/docs-og.png\"},\"sameAs\":[\"https://x.com/privy_io\",\"https://github.com/privy-io\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.privy.io#website\",\"name\":\"Privy Docs\",\"url\":\"https://docs.privy.io\",\"publisher\":{\"@id\":\"https://www.privy.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.privy.io/api-reference/wallets/transfer#webpage\",\"url\":\"https://docs.privy.io/api-reference/wallets/transfer\",\"name\":\"Transfer\",\"description\":\"Transfer tokens from a wallet to a destination address.\",\"dateModified\":\"2026-10-12T22:38:05.380Z\",\"isPartOf\":{\"@id\":\"https://docs.privy.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.privy.io/api-reference/wallets/transfer#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.privy.io/api-reference/wallets/transfer#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Wallets\",\"item\":\"https://docs.privy.io/api-reference/wallets/create\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Payouts\",\"item\":\"https://docs.privy.io/api-reference/wallets/payout/create\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Crypto\",\"item\":\"https://docs.privy.io/api-reference/wallets/transfer/index\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Transfer\",\"item\":\"https://docs.privy.io/api-reference/wallets/transfer\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.privy.io/api-reference/wallets/transfer#apireference\",\"headline\":\"Transfer\",\"name\":\"Transfer\",\"description\":\"Transfer tokens from a wallet to a destination address.\",\"url\":\"https://docs.privy.io/api-reference/wallets/transfer\",\"mainEntityOfPage\":{\"@id\":\"https://docs.privy.io/api-reference/wallets/transfer#webpage\"},\"image\":\"https://assets.privy.io/docs-og.png\",\"dateModified\":\"2026-10-12T22:38:05.380Z\",\"publisher\":{\"@id\":\"https://www.privy.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.privy.io#website\"}}]}\u003c/script>","siteName":"Privy Docs","nav":{"global":null,"tabs":[{"tab":"Basics","pages":[{"title":"Basics","href":"/basics/get-started/about"}]},{"tab":"Wallets","menu":[{"item":"Overview","pages":[{"title":"Overview","href":"/wallets/overview"}]},{"item":"Embedded wallets","pages":[{"title":"Embedded wallets","href":"/wallets/overview/embedded"}]},{"item":"Organization wallets","pages":[{"title":"Organization wallets","href":"/organizations/overview"}]},{"item":"External wallets","pages":[{"title":"External wallets","href":"/wallets/connectors/overview"}]},{"item":"Signatures and transactions","pages":[{"title":"Signatures and transactions","href":"/wallets/signatures-and-transactions"}]},{"item":"Balances and webhooks","pages":[{"title":"Balances and webhooks","href":"/wallets/gas-and-asset-management/assets/overview"}]},{"item":"Gas and fee management","pages":[{"title":"Gas and fee management","href":"/wallets/gas-and-asset-management/gas/overview"}]}],"pages":[{"title":"Wallets","href":"/wallets/overview"}]},{"tab":"Financial flows","menu":[{"item":"Overview","pages":[{"title":"Overview","href":"/financial-flows/overview"}]},{"item":"Deposits","pages":[{"title":"Deposits","href":"/financial-flows/deposits/overview"}]},{"item":"Payouts","pages":[{"title":"Payouts","href":"/financial-flows/payouts/overview"}]},{"item":"Earn","pages":[{"title":"Earn","href":"/wallets/actions/earn/overview"}]},{"item":"Cards","pages":[{"title":"Cards","href":"/financial-flows/cards/overview"}]},{"item":"Trade","pages":[{"title":"Trade","href":"/wallets/actions/swap/overview"}]},{"item":"Monetization","pages":[{"title":"Monetization","href":"/financial-flows/monetization"}]},{"item":"Treasury management","pages":[{"title":"Treasury management","href":"/treasury-management/overview"}]},{"item":"Private transactions","pages":[{"title":"Private transactions","href":"/financial-flows/private-transactions"}]}],"pages":[{"title":"Financial flows","href":"/financial-flows/overview"}]},{"tab":"Controls and policies","menu":[{"item":"Controls","pages":[{"title":"Controls","href":"/controls/overview"}]},{"item":"Policies","pages":[{"title":"Policies","href":"/controls/policies/overview"}]},{"item":"Manual approvals","pages":[{"title":"Manual approvals","href":"/controls/dashboard/overview"}]}],"pages":[{"title":"Controls and policies","href":"/controls/overview"}]},{"tab":"Identity","menu":[{"item":"Authentication","pages":[{"title":"Authentication","href":"/authentication/overview"}]},{"item":"Users","pages":[{"title":"Users","href":"/user-management/users/overview"}]},{"item":"KYC and KYB","pages":[{"title":"KYC and KYB","href":"/kyc-kyb/overview"}]}],"pages":[{"title":"Identity","href":"/authentication/overview"}]},{"tab":"Security","pages":[{"title":"Security","href":"/security/overview"}]},{"tab":"Recipes","pages":[{"title":"Recipes","href":"/recipes/overview"}]},{"tab":"API reference","groups":[{"group":"Basics","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Authorization signatures","href":"/api-reference/authorization-signatures"},{"title":"Idempotency keys","href":"/api-reference/idempotency-keys"},{"title":"Request expiry","href":"/api-reference/request-expiry"},{"title":"Webhooks overview","sidebarTitle":"Webhooks","href":"/api-reference/webhooks/overview"},{"title":"Privy labs APIs","sidebarTitle":"Privy labs","href":"/api-reference/labs/overview"}]},{"group":"Wallets","pages":[{"group":"Wallets","pages":[{"title":"Create wallet","openapi":"post /v1/wallets","href":"/api-reference/wallets/create"},{"title":"Create wallets in batch","openapi":"post /v1/wallets/batch","href":"/api-reference/wallets/batch-create"},{"title":"Create custodial wallets","openapi":"post /v1/custodial_wallets","href":"/api-reference/wallets/custodial-wallets"},{"title":"Get wallet","openapi":"get /v1/wallets/{wallet_id}","href":"/api-reference/wallets/get"},{"title":"Get wallets","openapi":"get /v1/wallets","href":"/api-reference/wallets/get-all"},{"title":"Get wallet by address","openapi":"post /v1/wallets/address","href":"/api-reference/wallets/get-by-address"},{"title":"Update wallet","openapi":"patch /v1/wallets/{wallet_id}","href":"/api-reference/wallets/update"},{"title":"Assign wallet entity","openapi":"post /v1/wallets/{wallet_id}/entity","href":"/api-reference/wallets/entity"},{"title":"Archive wallet","openapi":"post /v1/wallets/{wallet_id}/archive","href":"/api-reference/wallets/archive"},{"title":"Get balance","openapi":"get /v1/wallets/{wallet_id}/balance","href":"/api-reference/wallets/get-balance"},{"title":"Get transactions","openapi":"get /v1/wallets/{wallet_id}/transactions","href":"/api-reference/wallets/get-transactions"},{"title":"Export wallet","openapi":"post /v1/wallets/{wallet_id}/export","href":"/api-reference/wallets/export"},{"group":"Import wallet","pages":[{"title":"Initialize import","openapi":"post /v1/wallets/import/init","href":"/api-reference/wallets/import/init"},{"title":"Submit import","openapi":"post /v1/wallets/import/submit","href":"/api-reference/wallets/import/submit"}]},{"title":"Authenticate","openapi":"post /v1/wallets/authenticate","href":"/api-reference/wallets/authenticate"},{"group":"Webhooks","pages":[{"openapi":"webhook wallet.archived","title":"Wallet archived","href":"/api-reference/webhooks/wallet/archived"},{"openapi":"webhook wallet.restored","title":"Wallet restored","href":"/api-reference/webhooks/wallet/restored"},{"openapi":"webhook wallet.funds_deposited","title":"Funds deposited","href":"/api-reference/webhooks/wallet/funds_deposited"},{"openapi":"webhook wallet.funds_withdrawn","title":"Funds withdrawn","href":"/api-reference/webhooks/wallet/funds_withdrawn"},{"openapi":"webhook wallet.private_key_export","title":"Private key export","href":"/api-reference/webhooks/wallet/private_key_export"},{"openapi":"webhook wallet.recovered","title":"Wallet recovered","href":"/api-reference/webhooks/wallet/recovered"},{"openapi":"webhook wallet.recovery_setup","title":"Wallet recovery setup","href":"/api-reference/webhooks/wallet/recovery_setup"},{"openapi":"webhook user_operation.completed","title":"User operation completed","href":"/api-reference/webhooks/user-operation/completed"}]}]},{"group":"Signatures and transactions","pages":[{"group":"Ethereum","pages":[{"title":"eth_sendTransaction","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/eth-send-transaction"},{"title":"wallet_sendCalls","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/wallet-send-calls"},{"title":"personal_sign","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/personal-sign"},{"title":"eth_signTransaction","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/eth-sign-transaction"},{"title":"eth_signTypedData_v4","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/eth-signtypeddata-v4"},{"title":"eth_signUserOperation","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/eth-sign-user-operation"},{"title":"eth_sign7702Authorization","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/eth-sign-7702-authorization"},{"title":"secp256k1_sign","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/secp256k1-sign"}]},{"group":"Solana","pages":[{"title":"signMessage","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/solana/sign-message"},{"title":"signTransaction","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/solana/sign-transaction"},{"title":"signAndSendTransaction","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/solana/sign-and-send-transaction"}]},{"group":"Tempo","pages":[{"title":"eth_sendTransaction","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/tempo/eth-send-transaction"},{"title":"eth_signTransaction","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/tempo/eth-sign-transaction"}]},{"group":"Tron","pages":[{"title":"tron_sendTransaction","href":"/api-reference/wallets/tron/tron-send-transaction"},{"title":"tron_signTransaction","href":"/api-reference/wallets/tron/tron-sign-transaction"}]},{"group":"Spark BTC","pages":[{"title":"getBalance","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/get-balance"},{"title":"transfer","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/transfer"},{"title":"transferTokens","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/transfer-tokens"},{"title":"getStaticDepositAddress","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/get-static-deposit-address"},{"title":"claimStaticDeposit","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/claim-static-deposit"},{"title":"getClaimStaticDepositQuote","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/get-static-deposit-quote"},{"title":"createLightningInvoice","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/create-lightning-invoice"},{"title":"payLightningInvoice","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/pay-lightning-invoice"},{"title":"signMessageWithIdentityKey","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/sign-message-with-identity-key"},{"title":"getWithdrawalFeeQuote","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/get-withdrawal-fee-quote"},{"title":"withdraw","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/withdraw"}]},{"group":"Other chains","pages":[{"title":"Raw sign","openapi":"post /v1/wallets/{wallet_id}/raw_sign","href":"/api-reference/wallets/raw-sign"}]},{"group":"Transactions","pages":[{"title":"Get transaction","openapi":"get /v1/transactions/{transaction_id}","href":"/api-reference/transactions/get"},{"title":"Get transaction by external ID","openapi":"get /v1/transactions","href":"/api-reference/transactions/external-id"},{"title":"Get gas spend","openapi":"get /v1/apps/gas_spend","href":"/api-reference/transactions/gas-spend"},{"group":"Webhooks","pages":[{"openapi":"webhook transaction.broadcasted","title":"Transaction broadcasted","href":"/api-reference/webhooks/transaction/broadcasted"},{"openapi":"webhook transaction.confirmed","title":"Transaction confirmed","href":"/api-reference/webhooks/transaction/confirmed"},{"openapi":"webhook transaction.execution_reverted","title":"Transaction execution reverted","href":"/api-reference/webhooks/transaction/execution_reverted"},{"openapi":"webhook transaction.failed","title":"Transaction failed","href":"/api-reference/webhooks/transaction/failed"},{"openapi":"webhook transaction.provider_error","title":"Transaction provider error","href":"/api-reference/webhooks/transaction/provider_error"},{"openapi":"webhook transaction.replaced","title":"Transaction replaced","href":"/api-reference/webhooks/transaction/replaced"},{"openapi":"webhook transaction.still_pending","title":"Transaction still pending","href":"/api-reference/webhooks/transaction/still_pending"}]}]}]},{"group":"Deposits","pages":[{"group":"Fiat","pages":[{"title":"Create fiat deposit account","openapi":"post /v1/wallets/{wallet_id}/deposit_accounts/fiat","href":"/api-reference/fiat/deposit-accounts/create"},{"title":"List fiat deposit accounts","openapi":"get /v1/wallets/{wallet_id}/deposit_accounts/fiat","href":"/api-reference/fiat/deposit-accounts/list"},{"title":"Get fiat deposit account","openapi":"get /v1/wallets/{wallet_id}/deposit_accounts/fiat/{deposit_account_id}","href":"/api-reference/fiat/deposit-accounts/get"}]},{"group":"Crypto","pages":[{"title":"Create crypto deposit account","openapi":"post /v1/wallets/{wallet_id}/deposit_accounts/crypto","href":"/api-reference/crypto-deposits/create"},{"title":"Quote crypto deposit account","openapi":"post /v1/deposit_accounts/crypto/quote","href":"/api-reference/crypto-deposits/quote"},{"title":"Get crypto deposit account order","openapi":"get /v1/wallets/{wallet_id}/deposit_accounts/crypto/orders/{order_id}","href":"/api-reference/crypto-deposits/get-order"},{"title":"Get next crypto deposit account order","openapi":"get /v1/wallets/{wallet_id}/deposit_accounts/crypto/next_order","href":"/api-reference/crypto-deposits/get-next-order"}]}]},{"group":"Payouts","pages":[{"group":"Fiat","pages":[{"title":"Create a payout","openapi":"post /v1/wallets/{wallet_id}/payout/fiat","href":"/api-reference/wallets/payout/create"},{"group":"External fiat accounts","pages":[{"group":"For users","pages":[{"title":"Create external fiat account","openapi":"post /v1/users/{user_id}/external_fiat_accounts","href":"/api-reference/fiat/external-fiat-accounts/create"},{"title":"List external fiat accounts","openapi":"get /v1/users/{user_id}/external_fiat_accounts","href":"/api-reference/fiat/external-fiat-accounts/list"},{"title":"Get external fiat account","openapi":"get /v1/users/{user_id}/external_fiat_accounts/{account_id}","href":"/api-reference/fiat/external-fiat-accounts/get"},{"title":"Delete external fiat account","openapi":"delete /v1/users/{user_id}/external_fiat_accounts/{account_id}","href":"/api-reference/fiat/external-fiat-accounts/delete"}]},{"group":"For organizations","pages":[{"title":"Create external fiat account","openapi":"post /v1/organizations/{organization_id}/external_fiat_accounts","href":"/api-reference/fiat/external-fiat-accounts/organizations/create"},{"title":"List external fiat accounts","openapi":"get /v1/organizations/{organization_id}/external_fiat_accounts","href":"/api-reference/fiat/external-fiat-accounts/organizations/list"},{"title":"Get external fiat account","openapi":"get /v1/organizations/{organization_id}/external_fiat_accounts/{account_id}","href":"/api-reference/fiat/external-fiat-accounts/organizations/get"},{"title":"Delete external fiat account","openapi":"delete /v1/organizations/{organization_id}/external_fiat_accounts/{account_id}","description":"Deletes an external fiat account linked to an organization.","href":"/api-reference/fiat/external-fiat-accounts/organizations/delete"}]}]}]},{"group":"Crypto","pages":[{"title":"Transfer","openapi":"post /v1/wallets/{wallet_id}/transfer","href":"/api-reference/wallets/transfer/index"},{"title":"Quote transfer fees","description":"Get a fee estimate and expected output amount before executing a transfer","openapi":"post /v1/wallets/{wallet_id}/transfer/quote","href":"/api-reference/wallets/transfer/quote"},{"group":"Webhooks","pages":[{"openapi":"webhook wallet_action.transfer.created","title":"Transfer created","href":"/api-reference/webhooks/wallet-action/transfer/created"},{"openapi":"webhook wallet_action.transfer.succeeded","title":"Transfer succeeded","href":"/api-reference/webhooks/wallet-action/transfer/succeeded"},{"openapi":"webhook wallet_action.transfer.failed","title":"Transfer failed","href":"/api-reference/webhooks/wallet-action/transfer/failed"},{"openapi":"webhook wallet_action.transfer.rejected","title":"Transfer rejected","href":"/api-reference/webhooks/wallet-action/transfer/rejected"}]}]}]},{"group":"Swaps","pages":[{"title":"Get swap quote","openapi":"post /v1/wallets/{wallet_id}/swap/quote","href":"/api-reference/wallets/swap/quote"},{"title":"Swap tokens","openapi":"post /v1/wallets/{wallet_id}/swap","href":"/api-reference/wallets/swap/tokens"},{"group":"Webhooks","pages":[{"openapi":"webhook wallet_action.swap.created","title":"Swap created","href":"/api-reference/webhooks/wallet-action/swap/created"},{"openapi":"webhook wallet_action.swap.succeeded","title":"Swap succeeded","href":"/api-reference/webhooks/wallet-action/swap/succeeded"},{"openapi":"webhook wallet_action.swap.failed","title":"Swap failed","href":"/api-reference/webhooks/wallet-action/swap/failed"},{"openapi":"webhook wallet_action.swap.rejected","title":"Swap rejected","href":"/api-reference/webhooks/wallet-action/swap/rejected"}]}]},{"group":"Earn","pages":[{"title":"Deposit into vault","openapi":"post /v1/wallets/{wallet_id}/earn/ethereum/deposit","href":"/api-reference/wallets/earn/deposit"},{"title":"Withdraw from vault","openapi":"post /v1/wallets/{wallet_id}/earn/ethereum/withdraw","href":"/api-reference/wallets/earn/withdraw"},{"title":"Claim reward incentives","openapi":"post /v1/wallets/{wallet_id}/earn/ethereum/incentive/claim","href":"/api-reference/wallets/earn/incentive-claim"},{"title":"Get incentive rewards","openapi":"get /v1/wallets/{wallet_id}/earn/ethereum/incentive/claim","href":"/api-reference/wallets/earn/get-incentive-rewards"},{"title":"Get Ethereum vault details","openapi":"get /v1/earn/ethereum/vaults/{vault_id}","href":"/api-reference/wallets/earn/get-vault-details"},{"title":"Get Ethereum vault position","openapi":"get /v1/wallets/{wallet_id}/earn/ethereum/vaults","href":"/api-reference/wallets/earn/get-position"},{"title":"Earn fee collect","openapi":"post /v1/wallets/{wallet_id}/earn/ethereum/fees/collect","href":"/api-reference/wallets/earn/fees-collect"},{"group":"Webhooks","pages":[{"group":"Earn deposits","pages":[{"openapi":"webhook wallet_action.earn_deposit.created","title":"Earn deposit created","href":"/api-reference/webhooks/wallet-action/earn-deposit/created"},{"title":"Earn deposit succeeded","openapi":"webhook wallet_action.earn_deposit.succeeded","href":"/api-reference/webhooks/wallet-action/earn-deposit/succeeded"},{"title":"Earn deposit failed","openapi":"webhook wallet_action.earn_deposit.failed","href":"/api-reference/webhooks/wallet-action/earn-deposit/failed"},{"title":"Earn deposit rejected","openapi":"webhook wallet_action.earn_deposit.rejected","href":"/api-reference/webhooks/wallet-action/earn-deposit/rejected"}]},{"group":"Earn withdrawals","pages":[{"title":"Earn withdraw created","openapi":"webhook wallet_action.earn_withdraw.created","href":"/api-reference/webhooks/wallet-action/earn-withdraw/created"},{"title":"Earn withdraw succeeded","openapi":"webhook wallet_action.earn_withdraw.succeeded","href":"/api-reference/webhooks/wallet-action/earn-withdraw/succeeded"},{"title":"Earn withdraw failed","openapi":"webhook wallet_action.earn_withdraw.failed","href":"/api-reference/webhooks/wallet-action/earn-withdraw/failed"},{"title":"Earn withdraw rejected","openapi":"webhook wallet_action.earn_withdraw.rejected","href":"/api-reference/webhooks/wallet-action/earn-withdraw/rejected"}]},{"group":"Earn incentive claims","pages":[{"title":"Earn reward incentive claim created","openapi":"webhook wallet_action.earn_incentive_claim.created","href":"/api-reference/webhooks/wallet-action/earn-incentive-claim/created"},{"title":"Earn reward incentive claim succeeded","openapi":"webhook wallet_action.earn_incentive_claim.succeeded","href":"/api-reference/webhooks/wallet-action/earn-incentive-claim/succeeded"},{"title":"Earn reward incentive claim failed","openapi":"webhook wallet_action.earn_incentive_claim.failed","href":"/api-reference/webhooks/wallet-action/earn-incentive-claim/failed"},{"title":"Earn reward incentive claim rejected","openapi":"webhook wallet_action.earn_incentive_claim.rejected","href":"/api-reference/webhooks/wallet-action/earn-incentive-claim/rejected"}]},{"group":"Earn fee collections","pages":[{"title":"Earn fee collect created","openapi":"webhook wallet_action.earn_fee_collect.created","href":"/api-reference/webhooks/wallet-action/earn-fee-collect/created"},{"title":"Earn fee collect succeeded","openapi":"webhook wallet_action.earn_fee_collect.succeeded","href":"/api-reference/webhooks/wallet-action/earn-fee-collect/succeeded"},{"title":"Earn fee collect failed","openapi":"webhook wallet_action.earn_fee_collect.failed","href":"/api-reference/webhooks/wallet-action/earn-fee-collect/failed"},{"title":"Earn fee collect rejected","openapi":"webhook wallet_action.earn_fee_collect.rejected","href":"/api-reference/webhooks/wallet-action/earn-fee-collect/rejected"}]}]}]},{"group":"Wallet actions","pages":[{"title":"Get wallet action","openapi":"get /v1/wallets/{wallet_id}/actions/{action_id}","href":"/api-reference/wallets/actions/get"},{"title":"Get wallet action by external ID","openapi":"get /v1/actions","href":"/api-reference/wallets/actions/external-id"},{"title":"List all wallet actions","openapi":"get /v1/wallets/{wallet_id}/actions","href":"/api-reference/wallets/actions/list"}]}]},{"group":"Controls","pages":[{"group":"Key quorums","pages":[{"title":"Create key quorum","openapi":"post /v1/key_quorums","href":"/api-reference/key-quorums/create"},{"title":"Get key quorums","openapi":"get /v1/key_quorums","href":"/api-reference/key-quorums/get-all"},{"title":"Get key quorum","openapi":"get /v1/key_quorums/{key_quorum_id}","href":"/api-reference/key-quorums/get"},{"title":"Update key quorum","openapi":"patch /v1/key_quorums/{key_quorum_id}","href":"/api-reference/key-quorums/update"},{"title":"Delete key quorum","openapi":"delete /v1/key_quorums/{key_quorum_id}","href":"/api-reference/key-quorums/delete"}]},{"group":"Policies","pages":[{"title":"Create policy","openapi":"post /v1/policies","href":"/api-reference/policies/create"},{"title":"Get policies","openapi":"get /v1/policies","href":"/api-reference/policies/get-all"},{"title":"Get policy","openapi":"get /v1/policies/{policy_id}","href":"/api-reference/policies/get"},{"title":"Update policy","openapi":"patch /v1/policies/{policy_id}","href":"/api-reference/policies/update"},{"title":"Delete policy","openapi":"delete /v1/policies/{policy_id}","href":"/api-reference/policies/delete"},{"group":"Rules","pages":[{"title":"Add a rule to a policy","openapi":"post /v1/policies/{policy_id}/rules","href":"/api-reference/policies/rules/create"},{"title":"Get a rule from a policy","openapi":"get /v1/policies/{policy_id}/rules/{rule_id}","href":"/api-reference/policies/rules/get"},{"title":"Update a rule in a policy","openapi":"patch /v1/policies/{policy_id}/rules/{rule_id}","href":"/api-reference/policies/rules/update"},{"title":"Delete a rule from a policy","openapi":"delete /v1/policies/{policy_id}/rules/{rule_id}","href":"/api-reference/policies/rules/delete"}]}]},{"group":"Condition sets","pages":[{"title":"Create condition set","openapi":"post /v1/condition_sets","href":"/api-reference/condition-sets/create"},{"title":"Get condition sets","openapi":"get /v1/condition_sets","href":"/api-reference/condition-sets/get-all"},{"title":"Get condition set","openapi":"get /v1/condition_sets/{condition_set_id}","href":"/api-reference/condition-sets/get"},{"title":"Update condition set","openapi":"patch /v1/condition_sets/{condition_set_id}","href":"/api-reference/condition-sets/update"},{"title":"Delete condition set","openapi":"delete /v1/condition_sets/{condition_set_id}","href":"/api-reference/condition-sets/delete"},{"group":"Condition set items","pages":[{"title":"Add items to a condition set","openapi":"post /v1/condition_sets/{condition_set_id}/condition_set_items","href":"/api-reference/condition-sets/condition-set-items/create"},{"title":"Get an item from a condition set","openapi":"get /v1/condition_sets/{condition_set_id}/condition_set_items/{condition_set_item_id}","href":"/api-reference/condition-sets/condition-set-items/get"},{"title":"Get all items from a condition set","openapi":"get /v1/condition_sets/{condition_set_id}/condition_set_items","href":"/api-reference/condition-sets/condition-set-items/get-all"},{"title":"Update items in a condition set","openapi":"put /v1/condition_sets/{condition_set_id}/condition_set_items","href":"/api-reference/condition-sets/condition-set-items/update"},{"title":"Delete an item from a condition set","openapi":"delete /v1/condition_sets/{condition_set_id}/condition_set_items/{condition_set_item_id}","href":"/api-reference/condition-sets/condition-set-items/delete"}]}]},{"group":"Aggregations","pages":[{"title":"Create aggregation","openapi":"post /v1/aggregations","href":"/api-reference/aggregations/create"},{"title":"Get aggregation","openapi":"get /v1/aggregations/{aggregation_id}","href":"/api-reference/aggregations/get"},{"title":"Delete aggregation","openapi":"delete /v1/aggregations/{aggregation_id}","href":"/api-reference/aggregations/delete"}]},{"group":"Wallet automations","pages":[{"title":"Create wallet automation","openapi":"post /v1/wallet_automations","href":"/api-reference/wallet-automations/create"},{"title":"List wallet automations","openapi":"get /v1/wallet_automations","href":"/api-reference/wallet-automations/list"},{"title":"Get wallet automation","openapi":"get /v1/wallet_automations/{automation_id}","href":"/api-reference/wallet-automations/get"},{"title":"Update wallet automation","openapi":"patch /v1/wallet_automations/{automation_id}","href":"/api-reference/wallet-automations/update"},{"title":"Delete wallet automation","openapi":"delete /v1/wallet_automations/{automation_id}","href":"/api-reference/wallet-automations/delete"},{"group":"Wallet attachments","pages":[{"title":"Attach wallet automations","openapi":"post /v1/wallets/{wallet_id}/automations/attach","href":"/api-reference/wallet-automations/attach"},{"title":"Detach wallet automations","openapi":"post /v1/wallets/{wallet_id}/automations/detach","href":"/api-reference/wallet-automations/detach"}]},{"title":"List wallet automation executions","openapi":"get /v1/wallet_automations/executions","href":"/api-reference/wallet-automations/list-executions"},{"title":"Reindex wallet automations","openapi":"post /v1/wallet_automations/reindex","href":"/api-reference/wallet-automations/reindex"},{"group":"Webhooks","pages":[{"openapi":"webhook wallet_automation.submitted","title":"Wallet automation submitted","href":"/api-reference/webhooks/wallet-automation/submitted"}]}]}]},{"group":"Identity","pages":[{"group":"Users","pages":[{"title":"Create user","openapi":"post /v1/users","playground":"interactive","href":"/api-reference/users/create"},{"group":"Get user","pages":[{"title":"Get user by ID","openapi":"get /v1/users/{user_id}","href":"/api-reference/users/get"},{"group":"Linked accounts","pages":[{"title":"Get user by wallet address","openapi":"post /v1/users/wallet/address","href":"/api-reference/users/get-by-wallet-address"},{"title":"Get user by smart wallet address","openapi":"post /v1/users/smart_wallet/address","href":"/api-reference/users/get-by-smart-wallet-address"},{"title":"Get user by custom auth ID","openapi":"post /v1/users/custom_auth/id","href":"/api-reference/users/get-by-custom-auth"},{"title":"Get user by email address","openapi":"post /v1/users/email/address","href":"/api-reference/users/get-by-email-address"},{"title":"Get user by phone number","openapi":"post /v1/users/phone/number","href":"/api-reference/users/get-by-phone-number"},{"title":"Get user by Discord username","openapi":"post /v1/users/discord/username","href":"/api-reference/users/get-by-discord-username"},{"title":"Get user by GitHub username","openapi":"post /v1/users/github/username","href":"/api-reference/users/get-by-github-username"},{"title":"Get user by Instagram username","openapi":"post /v1/users/instagram/username","href":"/api-reference/users/get-by-instagram-username"},{"title":"Get user by Twitter username","openapi":"post /v1/users/twitter/username","href":"/api-reference/users/get-by-twitter-username"},{"title":"Get user by Twitter subject","openapi":"post /v1/users/twitter/subject","href":"/api-reference/users/get-by-twitter-subject"},{"title":"Get user by Telegram username","openapi":"post /v1/users/telegram/username","href":"/api-reference/users/get-by-telegram-username"},{"title":"Get user by Telegram user ID","openapi":"post /v1/users/telegram/telegram_user_id","href":"/api-reference/users/get-by-telegram-user-id"},{"title":"Get user by Farcaster ID","openapi":"post /v1/users/farcaster/fid","href":"/api-reference/users/get-by-farcaster-id"},{"title":"Get user by Spotify subject","openapi":"post /v1/users/spotify/subject","href":"/api-reference/users/get-by-spotify-subject"},{"title":"Get user by Twitch username","openapi":"post /v1/users/twitch/username","href":"/api-reference/users/get-by-twitch-username"}]}]},{"title":"Get users","openapi":"get /v1/users","playground":"interactive","href":"/api-reference/users/get-all"},{"title":"Search users","openapi":"post /v1/users/search","href":"/api-reference/users/search"},{"title":"Refresh Twitter account","api":"post /v1/users/twitter/refresh","href":"/api-reference/users/refresh-twitter-account"},{"title":"Delete user","openapi":"delete /v1/users/{user_id}","href":"/api-reference/users/delete"},{"title":"Freeze user","openapi":"post /v1/users/{user_id}/freeze","href":"/api-reference/users/freeze"},{"title":"Unfreeze user","openapi":"delete /v1/users/{user_id}/freeze","href":"/api-reference/users/unfreeze"},{"title":"Add custom metadata","openapi":"post /v1/users/{user_id}/custom_metadata","href":"/api-reference/users/custom-metadata/create"},{"title":"Update custom metadata","openapi":"patch /v1/users/{user_id}/custom_metadata","href":"/api-reference/users/custom-metadata/update"},{"title":"Pregenerate wallets","openapi":"post /v1/users/{user_id}/wallets","href":"/api-reference/users/pregenerate-wallets"},{"group":"MFA","pages":[{"group":"SMS","pages":[{"title":"Start SMS MFA enrollment","openapi":"post /v1/users/{user_id}/mfa/sms/enrollment/init","href":"/api-reference/users/mfa/sms/enrollment/init"},{"title":"Complete SMS MFA enrollment","openapi":"post /v1/users/{user_id}/mfa/sms/enrollment/verify","href":"/api-reference/users/mfa/sms/enrollment/verify"},{"title":"Start SMS MFA verification","openapi":"post /v1/users/{user_id}/mfa/sms/verification/init","href":"/api-reference/users/mfa/sms/verification/init"},{"title":"Complete SMS MFA verification","openapi":"post /v1/users/{user_id}/mfa/sms/verification/verify","href":"/api-reference/users/mfa/sms/verification/verify"}]},{"group":"TOTP","pages":[{"title":"Start TOTP MFA enrollment","openapi":"post /v1/users/{user_id}/mfa/totp/enrollment/init","href":"/api-reference/users/mfa/totp/enrollment/init"},{"title":"Complete TOTP MFA enrollment","openapi":"post /v1/users/{user_id}/mfa/totp/enrollment/verify","href":"/api-reference/users/mfa/totp/enrollment/verify"},{"title":"Complete TOTP MFA verification","openapi":"post /v1/users/{user_id}/mfa/totp/verification/verify","href":"/api-reference/users/mfa/totp/verification/verify"}]},{"group":"Passkey","pages":[{"title":"Start passkey MFA enrollment","openapi":"post /v1/users/{user_id}/mfa/passkey/enrollment/init","href":"/api-reference/users/mfa/passkey/enrollment/init"},{"title":"Complete passkey MFA enrollment","openapi":"post /v1/users/{user_id}/mfa/passkey/enrollment/verify","href":"/api-reference/users/mfa/passkey/enrollment/verify"},{"title":"Start passkey MFA verification","openapi":"post /v1/users/{user_id}/mfa/passkey/verification/init","href":"/api-reference/users/mfa/passkey/verification/init"},{"title":"Complete passkey MFA verification","openapi":"post /v1/users/{user_id}/mfa/passkey/verification/verify","href":"/api-reference/users/mfa/passkey/verification/verify"}]}]},{"group":"Allowlist","pages":[{"title":"List allowlist entries","openapi":"get /v1/apps/{app_id}/allowlist","href":"/api-reference/apps/list-allowlist"},{"title":"Add to allowlist","openapi":"post /v1/apps/{app_id}/allowlist","href":"/api-reference/apps/add-to-allowlist"},{"title":"Remove from allowlist","openapi":"delete /v1/apps/{app_id}/allowlist","href":"/api-reference/apps/remove-from-allowlist"}]},{"group":"Webhooks","pages":[{"openapi":"webhook user.authenticated","title":"User authenticated","href":"/api-reference/webhooks/user/authenticated"},{"openapi":"webhook user.created","title":"User created","href":"/api-reference/webhooks/user/created"},{"openapi":"webhook user.deleted","title":"User deleted","href":"/api-reference/webhooks/user/deleted"},{"openapi":"webhook user.linked_account","title":"User linked account","href":"/api-reference/webhooks/user/linked_account"},{"openapi":"webhook user.transferred_account","title":"User transferred account","href":"/api-reference/webhooks/user/transferred_account"},{"openapi":"webhook user.unlinked_account","title":"User unlinked account","href":"/api-reference/webhooks/user/unlinked_account"},{"openapi":"webhook user.updated_account","title":"User updated account","href":"/api-reference/webhooks/user/updated_account"},{"openapi":"webhook user.wallet_created","title":"User wallet created","href":"/api-reference/webhooks/user/wallet_created"},{"openapi":"webhook mfa.disabled","title":"MFA disabled","href":"/api-reference/webhooks/mfa/disabled"},{"openapi":"webhook mfa.enabled","title":"MFA enabled","href":"/api-reference/webhooks/mfa/enabled"}]},{"group":"KYC","pages":[{"title":"Get KYC status","openapi":"get /v1/users/{user_id}/kyc","href":"/api-reference/fiat/kyc-server/get"},{"title":"Initiate KYC terms of service","openapi":"post /v1/users/{user_id}/kyc/tos","href":"/api-reference/fiat/kyc-server/tos"},{"title":"Initiate KYC verification","openapi":"post /v1/users/{user_id}/kyc/links","href":"/api-reference/fiat/kyc-server/links"},{"title":"Submit KYC data","openapi":"post /v1/users/{user_id}/kyc/submit","href":"/api-reference/fiat/kyc-server/submit"}]}]},{"group":"Organizations","pages":[{"title":"Create organization","openapi":"post /v1/organizations","href":"/api-reference/organizations/create"},{"title":"List organizations","openapi":"get /v1/organizations","href":"/api-reference/organizations/get-all"},{"title":"Get organization","openapi":"get /v1/organizations/{organization_id}","href":"/api-reference/organizations/get"},{"title":"Update organization","openapi":"patch /v1/organizations/{organization_id}","href":"/api-reference/organizations/update"},{"title":"Delete organization","openapi":"delete /v1/organizations/{organization_id}","href":"/api-reference/organizations/delete"},{"group":"KYB","pages":[{"title":"Get KYB status","openapi":"get /v1/organizations/{organization_id}/kyb","href":"/api-reference/fiat/kyb/get"},{"title":"Initiate KYB terms of service","openapi":"post /v1/organizations/{organization_id}/kyb/tos","href":"/api-reference/fiat/kyb/tos"},{"title":"Initiate KYB verification","openapi":"post /v1/organizations/{organization_id}/kyb/links","href":"/api-reference/fiat/kyb/links"},{"title":"Submit KYB data","openapi":"post /v1/organizations/{organization_id}/kyb/submit","href":"/api-reference/fiat/kyb/submit"}]}]}]},{"group":"Intents","pages":[{"group":"Usage","pages":[{"title":"Get intent","openapi":"get /v1/intents/{intent_id}","href":"/api-reference/intents/get"},{"title":"List intents","openapi":"get /v1/intents","href":"/api-reference/intents/list"},{"title":"Create RPC transaction","openapi":"post /v1/intents/wallets/{wallet_id}/rpc","href":"/api-reference/intents/rpc"},{"title":"Create transfer action","openapi":"post /v1/intents/wallets/{wallet_id}/transfer","href":"/api-reference/intents/transfer"},{"title":"Authorize intent","openapi":"post /v1/intents/{intent_id}/authorize","href":"/api-reference/intents/authorize"},{"title":"Reject intent","openapi":"post /v1/intents/{intent_id}/reject","href":"/api-reference/intents/reject"}]},{"group":"Resource update intents","pages":[{"title":"Update wallet","openapi":"patch /v1/intents/wallets/{wallet_id}","href":"/api-reference/intents/update-wallet"},{"title":"Update key quorum","openapi":"patch /v1/intents/key_quorums/{key_quorum_id}","href":"/api-reference/intents/update-key-quorum"},{"title":"Update policy","openapi":"patch /v1/intents/policies/{policy_id}","href":"/api-reference/intents/update-policy"},{"title":"Create rule","openapi":"post /v1/intents/policies/{policy_id}/rules","href":"/api-reference/intents/create-rule"},{"title":"Update policy rule","openapi":"patch /v1/intents/policies/{policy_id}/rules/{rule_id}","href":"/api-reference/intents/update-rule"},{"title":"Delete rule","openapi":"delete /v1/intents/policies/{policy_id}/rules/{rule_id}","href":"/api-reference/intents/delete-rule"}]},{"group":"Webhooks","pages":[{"openapi":"webhook intent.created","title":"Intent created","href":"/api-reference/webhooks/intents/created"},{"openapi":"webhook intent.authorized","title":"Intent authorized","href":"/api-reference/webhooks/intents/authorized"},{"openapi":"webhook intent.rejected","title":"Intent rejected","href":"/api-reference/webhooks/intents/rejected"},{"openapi":"webhook intent.executed","title":"Intent executed","href":"/api-reference/webhooks/intents/executed"},{"openapi":"webhook intent.failed","title":"Intent failed","href":"/api-reference/webhooks/intents/failed"}]}]},{"group":"Credit usage","pages":[{"group":"Webhooks","pages":[{"openapi":"webhook usage.gas_sponsorship.recorded","title":"Gas sponsorship charge recorded","href":"/api-reference/webhooks/usage/gas_sponsorship_recorded"},{"openapi":"webhook usage.swap_provider_fee.recorded","title":"Swap provider fee charge recorded","href":"/api-reference/webhooks/usage/swap_provider_fee_recorded"}]}]},{"group":"Labs","pages":[{"group":"Swaps","pages":[{"title":"Advanced swap (Solana)","openapi":"post /v1/wallets/{wallet_id}/experimental/solana/advanced-swap","href":"/api-reference/labs/advanced-swap"}]}]}]}]},"basePath":"","title":"Transfer tokens – API reference","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}