Recipient wallet pubkey, or an initialized stealth handle (e.g. alice@magicblock.id). When a non-pubkey handle is provided it is resolved via its stealth pool and requires visibility: private, fromBalance: base, toBalance: base.
Optional. Use mainnet for BASE_RPC_URL and EPHEMERAL_RPC_URL, devnet for BASE_DEVNET_RPC_URL and EPHEMERAL_DEVNET_RPC_URL, or provide a custom http(s) RPC URL to override the base RPC while keeping the configured ephemeral RPC.
Optional. Private transfer only. Defaults to 1. Number of queue entries to split the transfer across. Must be between 1 and 15 and cannot exceed amount.
Optional. Defaults to false. When true, skips lookup-table compilation and returns a legacy transaction. Private base -> base transfers may otherwise return a v0 transaction when a useful lookup table is configured.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"MagicBlock Documentation","description":"With MagicBlock, anything you imagine is possible. Build unstoppable games, high-speed DeFi, and Web3 apps that run like Web2.","colors":{"primary":"#2545F6","light":"#2545F6","dark":"#2545F6"},"logo":{"light":"https://mintcdn.com/magicblock-42/5iyVpKJBt1PkwHw4/logo/MagicBlock-Logo-Black.png?fit=max\u0026auto=format\u0026n=5iyVpKJBt1PkwHw4\u0026q=85\u0026s=9687d1cd15beb5e4477b188af93a5023","dark":"https://mintcdn.com/magicblock-42/5iyVpKJBt1PkwHw4/logo/MagicBlock-Logo-White.png?fit=max\u0026auto=format\u0026n=5iyVpKJBt1PkwHw4\u0026q=85\u0026s=5729c944bf3688e76971fe8e4237bd07"},"favicon":"https://mintcdn.com/magicblock-42/5iyVpKJBt1PkwHw4/logo/favicon.png?fit=max\u0026auto=format\u0026n=5iyVpKJBt1PkwHw4\u0026q=85\u0026s=947add7c1733d1425c08bb43ee1335c0","api":{"examples":{"prefill":true}},"navbar":{"links":[{"href":"https://github.com/magicblock-labs","label":"Github"}],"primary":{"type":"button","label":"Install AI Skill","href":"https://docs.magicblock.gg/pages/overview/additional-information/ai-dev-skill"}},"footer":{"socials":{"twitter":"https://twitter.com/magicblock","github":"https://github.com/magicblock-labs","linkedin":"https://www.linkedin.com/company/magicblock"}},"search":{"prompt":"Search docs or ask a general question..."},"integrations":{"ga4":{"measurementId":"G-M3W08J15Y9"}},"banner":{"content":"Debugging an error? [Install the MagicBlock AI skill](/pages/overview/additional-information/ai-dev-skill) and ask your coding agent instead.","dismissible":true},"errors":{"404":{"redirect":true}},"contextual":{"options":["copy","view","chatgpt","claude",{"title":"Debug with the MagicBlock skill","description":"Install the skill so your coding agent can debug your code with MagicBlock context","icon":"wand-magic-sparkles","href":"/pages/overview/additional-information/ai-dev-skill"}],"display":"header"},"thumbnails":{"background":"https://mintcdn.com/magicblock-42/fTHi_GKgaLnoNzDu/images/thumbmail-bg.jpg?fit=max\u0026auto=format\u0026n=fTHi_GKgaLnoNzDu\u0026q=85\u0026s=6dbde31fdb6d0b5956861ff97897e7e4"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Tutorials","icon":"youtube","href":"https://www.youtube.com/@Magicblock-Labs"},{"anchor":"Community","icon":"users","href":"https://build.magicblock.app/builders?utm_source=docs.magicblock.gg"},{"anchor":"Hackathons \u0026 Events","icon":"rocket","href":"https://luma.com/magicblock-events?utm_source=docs.magicblock.app"}]},"languages":[{"language":"en","href":"pages/get-started/introduction/why-magicblock"},{"language":"cn","href":"cn/pages/overview/products"},{"language":"jp","href":"jp/pages/overview/products"},{"language":"ko","href":"ko/pages/overview/products"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"magicblock-42","hasAudioNarration":false,"actualSubdomain":"magicblock-42","customDomains":["docs.magicblock.gg"],"gitSource":{"type":"github","owner":"magicblock-labs","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae3914eaefc13221ea43cb1","collectionId":"dbccc9f3-2957-4626-a861-d67e3014dee0","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3914eaefc13221ea43cb1"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae3914eaefc13221ea43cb1","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"en","tag":"Products","count":98},{"language":"en","tag":"API Reference","count":61},{"language":"en","tag":"Ephemeral Rollup","count":59},{"language":"cn","tag":"Ephemeral Rollup","count":54},{"language":"jp","tag":"Ephemeral Rollup","count":54},{"language":"ko","tag":"Ephemeral Rollup","count":54},{"language":"cn","tag":"RPC API","count":34},{"language":"jp","tag":"RPC API","count":34},{"language":"ko","tag":"RPC API","count":34},{"language":"en","tag":"RPC API","count":34},{"language":"cn","tag":"方法","count":33},{"language":"jp","tag":"メソッド","count":33},{"language":"ko","tag":"메서드","count":33},{"language":"cn","tag":"工具","count":32},{"language":"jp","tag":"ツール","count":32},{"language":"ko","tag":"도구","count":32},{"language":"en","tag":"Guides","count":31},{"language":"en","tag":"Integrations","count":27},{"language":"en","tag":"Get Started","count":24},{"language":"cn","tag":"Ephemeral SPL Token","count":23},{"language":"jp","tag":"Ephemeral SPL Token","count":23},{"language":"ko","tag":"Ephemeral SPL Token","count":23},{"language":"en","tag":"Ephemeral SPL Token","count":23},{"language":"cn","tag":"API 参考","count":19},{"language":"cn","tag":"Private Ephemeral Rollup","count":19},{"language":"jp","tag":"API リファレンス","count":19},{"language":"jp","tag":"Private Ephemeral Rollup","count":19},{"language":"ko","tag":"API 레퍼런스","count":19},{"language":"ko","tag":"Private Ephemeral Rollup","count":19},{"language":"cn","tag":"参考资料","count":17},{"language":"jp","tag":"参考資料","count":17},{"language":"ko","tag":"참고 자료","count":17},{"language":"cn","tag":"Solana Unity SDK","count":16},{"language":"jp","tag":"ガイド","count":16},{"language":"jp","tag":"Solana Unity SDK","count":16},{"language":"ko","tag":"가이드","count":16},{"language":"ko","tag":"Solana Unity SDK","count":16},{"language":"en","tag":"Solana Unity SDK","count":16},{"language":"cn","tag":"Private Payments API","count":14},{"language":"en","tag":"Concepts","count":12}]},"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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer","slug":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer","pageMetadata":{"title":"转移 SPL Tokens","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/transfer.openapi.json POST /v1/spl/transfer","description":null,"href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"转移 SPL Tokens","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/transfer.openapi.json POST /v1/spl/transfer","description":null,"href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/magicblock-42/b23ad8dded0dada5/google-ads-tag.js","/_mintlify/custom/magicblock-42/44344145ea116972/custom/product-indicator.js","/_mintlify/custom/magicblock-42/39ef27222741e6e4/x-pixel.js"],"openApiReferenceData":{"operation":{"summary":"Transfer SPL Tokens","description":"Transfer SPL tokens publicly or privately through an ephemeral rollup. Accepts an optional `Authorization: Bearer \u003ctoken>` header obtained from the `/v1/spl/login` flow when the request needs to read or write data inside the Private Ephemeral Rollup.","security":["ba9dadbd-7d43-4fbd-86c3-a09d71871124","2c85f25d-7db5-4266-9393-7f691eb3e59e"],"requestBody":"99bd17b3-3626-4559-8b7f-5eb8c75afd1f","responses":{"200":"02c6ac2d-7899-464d-b096-5bb166a5e6c1","400":"203ee12f-0a52-4a45-a6cc-c339337c69db","422":"d9b4cb54-c93b-4518-957d-409800b0f5f1"},"method":"post","type":"path","servers":["c9b2e6e3-b637-4b37-95cc-df3e421d9b2d"],"path":"/v1/spl/transfer","baseUrlOptions":["https://payments.magicblock.app"],"title":"Transfer SPL Tokens","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.from":"3rXKwQ1kpjBd5tdcco32qsvqUh1BnZjcYnS5kYrP7AYE","body.to":"Bt9oNR5cCtnfuMmXgWELd6q5i974PdEMQDUE55nBC57L","body.mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","body.amount":1000000,"body.visibility":"private","body.fromBalance":"base","body.toBalance":"base","body.exactOut":false,"body.initIfMissing":true,"body.initAtasIfMissing":true,"body.initVaultIfMissing":false,"body.memo":"Order #1042","body.minDelayMs":"0","body.maxDelayMs":"0","body.clientRefId":"42","body.split":1,"body.gasless":true}]},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"from":{"type":"string","description":"Sender wallet pubkey.","example":"3rXKwQ1kpjBd5tdcco32qsvqUh1BnZjcYnS5kYrP7AYE","isRequired":true,"uniqueKey":"from","typeLabel":"string"},"to":{"type":"string","description":"Recipient wallet pubkey, or an initialized stealth handle (e.g. `alice@magicblock.id`). When a non-pubkey handle is provided it is resolved via its stealth pool and requires `visibility: private`, `fromBalance: base`, `toBalance: base`.","example":"Bt9oNR5cCtnfuMmXgWELd6q5i974PdEMQDUE55nBC57L","isRequired":true,"uniqueKey":"to","typeLabel":"string"},"mint":{"type":"string","description":"SPL mint pubkey.","example":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","isRequired":true,"uniqueKey":"mint","typeLabel":"string"},"amount":{"type":"integer","minimum":1,"example":1000000,"description":"Base-unit amount as an integer JSON value with minimum 1.","isRequired":true,"uniqueKey":"amount","typeLabel":"integer"},"cluster":{"oneOf":[{"type":"string","description":"Optional. Use `mainnet` for BASE_RPC_URL and EPHEMERAL_RPC_URL, `devnet` for BASE_DEVNET_RPC_URL and EPHEMERAL_DEVNET_RPC_URL, or provide a custom http(s) RPC URL to override the base RPC while keeping the configured ephemeral RPC.","enum":["mainnet","devnet"],"example":"mainnet","uniqueKey":"cluster.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Optional. Use `mainnet` for BASE_RPC_URL and EPHEMERAL_RPC_URL, `devnet` for BASE_DEVNET_RPC_URL and EPHEMERAL_DEVNET_RPC_URL, or provide a custom http(s) RPC URL to override the base RPC while keeping the configured ephemeral RPC.","example":"mainnet","uniqueKey":"cluster.oneOf.1","typeLabel":"string"}],"uniqueKey":"cluster","typeLabel":"enum\u003cstring> | string"},"visibility":{"type":"string","enum":["public","private"],"description":"Optional. Defaults to `private`. Use `public` for a transparent SPL transfer or `private` to route through the Private Ephemeral Rollup.","uniqueKey":"visibility","typeLabel":"enum\u003cstring>"},"fromBalance":{"type":"string","enum":["base","ephemeral"],"description":"Optional. Defaults to `base`. Where the sender's balance is held. Drives which RPC the API uses for blockhash and where the client should submit.","uniqueKey":"fromBalance","typeLabel":"enum\u003cstring>"},"toBalance":{"type":"string","enum":["base","ephemeral"],"description":"Optional. Defaults to `base`. Where the recipient should receive the funds.","uniqueKey":"toBalance","typeLabel":"enum\u003cstring>"},"exactOut":{"type":"boolean","description":"Optional. When `true`, treats `amount` as the exact amount the recipient should receive (relevant when fees are deducted).","uniqueKey":"exactOut","typeLabel":"boolean"},"validator":{"type":"string","example":"MAS1Dt9qreoRMQ14YQuhg8UTZMMzDdKhmkZMECCzk57","description":"Optional. When this transfer route needs a validator and none is provided, the API resolves it from the selected ephemeral RPC via `getIdentity`.","uniqueKey":"validator","typeLabel":"string"},"initIfMissing":{"type":"boolean","description":"Optional. Initialize the transfer queue if missing.","uniqueKey":"initIfMissing","typeLabel":"boolean"},"initAtasIfMissing":{"type":"boolean","description":"Optional. Initialize associated token accounts if missing.","uniqueKey":"initAtasIfMissing","typeLabel":"boolean"},"initVaultIfMissing":{"type":"boolean","description":"Optional. Initialize the vault if missing. Defaults to `false`.","uniqueKey":"initVaultIfMissing","typeLabel":"boolean"},"memo":{"type":"string","example":"Order #1042","description":"Optional. Appends a final Memo Program instruction with this UTF-8 message.","uniqueKey":"memo","typeLabel":"string"},"minDelayMs":{"type":"string","pattern":"^\\d+$","example":"0","description":"Optional. Private transfer only. Defaults to `0`. Earliest (ms) the queued transfer may settle.","uniqueKey":"minDelayMs","typeLabel":"string"},"maxDelayMs":{"type":"string","pattern":"^\\d+$","example":"0","description":"Optional. Private transfer only. Defaults to `0` when omitted, or to `minDelayMs` when only `minDelayMs` is set. Must be >= `minDelayMs`.","uniqueKey":"maxDelayMs","typeLabel":"string"},"clientRefId":{"type":"string","pattern":"^\\d+$","example":"42","description":"Optional. Private transfer only. Encrypted client reference ID that can be used to confirm a payment.","uniqueKey":"clientRefId","typeLabel":"string"},"split":{"type":"integer","exclusiveMinimum":0,"maximum":15,"example":1,"description":"Optional. Private transfer only. Defaults to `1`. Number of queue entries to split the transfer across. Must be between 1 and 15 and cannot exceed `amount`.","uniqueKey":"split","typeLabel":"integer"},"gasless":{"type":"boolean","example":true,"description":"Optional. When `true`, the API uses the configured sponsor as transaction fee payer and prepends a relay-fee token transfer to the sponsor ATA.","uniqueKey":"gasless","typeLabel":"boolean"},"legacy":{"type":"boolean","description":"Optional. Defaults to `false`. When `true`, skips lookup-table compilation and returns a legacy transaction. Private `base -> base` transfers may otherwise return a v0 transaction when a useful lookup table is configured.","uniqueKey":"legacy","typeLabel":"boolean"}},"required":["from","to","mint","amount"],"example":{"from":"3rXKwQ1kpjBd5tdcco32qsvqUh1BnZjcYnS5kYrP7AYE","to":"Bt9oNR5cCtnfuMmXgWELd6q5i974PdEMQDUE55nBC57L","mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","amount":1000000,"visibility":"private","fromBalance":"base","toBalance":"base","exactOut":false,"initIfMissing":true,"initAtasIfMissing":true,"initVaultIfMissing":false,"memo":"Order #1042","minDelayMs":"0","maxDelayMs":"0","clientRefId":"42","split":1,"gasless":true},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"from":"3rXKwQ1kpjBd5tdcco32qsvqUh1BnZjcYnS5kYrP7AYE","to":"Bt9oNR5cCtnfuMmXgWELd6q5i974PdEMQDUE55nBC57L","mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","amount":1000000,"visibility":"private","fromBalance":"base","toBalance":"base","exactOut":false,"initIfMissing":true,"initAtasIfMissing":true,"initVaultIfMissing":false,"memo":"Order #1042","minDelayMs":"0","maxDelayMs":"0","clientRefId":"42","split":1,"gasless":true}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"02c6ac2d-7899-464d-b096-5bb166a5e6c1":{"description":"Unsigned serialized transaction","content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","enum":["transfer"],"isRequired":true,"uniqueKey":"kind","typeLabel":"enum\u003cstring>"},"version":{"type":"string","enum":["legacy","v0"],"isRequired":true,"uniqueKey":"version","typeLabel":"enum\u003cstring>"},"transactionBase64":{"type":"string","isRequired":true,"uniqueKey":"transactionBase64","typeLabel":"string"},"sendTo":{"type":"string","enum":["base","ephemeral"],"isRequired":true,"uniqueKey":"sendTo","typeLabel":"enum\u003cstring>"},"recentBlockhash":{"type":"string","isRequired":true,"uniqueKey":"recentBlockhash","typeLabel":"string"},"lastValidBlockHeight":{"type":"integer","isRequired":true,"uniqueKey":"lastValidBlockHeight","typeLabel":"integer"},"instructionCount":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"instructionCount","typeLabel":"integer"},"requiredSigners":{"type":"array","items":{"type":"string","uniqueKey":"requiredSigners.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"requiredSigners","typeLabel":"string[]"},"from":{"type":"string","enum":["base","ephemeral"],"description":"Mirrors the request `fromBalance`.","uniqueKey":"from","typeLabel":"enum\u003cstring>"},"validator":{"type":"string","uniqueKey":"validator","typeLabel":"string"},"fees":{"type":"object","description":"Fees applied to the transfer, in base units.","properties":{"lamports":{"type":"string","isRequired":true,"uniqueKey":"fees.lamports","typeLabel":"string"},"tokens":{"type":"string","isRequired":true,"uniqueKey":"fees.tokens","typeLabel":"string"}},"required":["lamports","tokens"],"uniqueKey":"fees","typeLabel":"object"}},"required":["kind","version","transactionBase64","sendTo","recentBlockhash","lastValidBlockHeight","instructionCount","requiredSigners"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"kind":"transfer","version":"legacy","transactionBase64":"\u003cstring>","sendTo":"base","recentBlockhash":"\u003cstring>","lastValidBlockHeight":123,"instructionCount":1,"requiredSigners":["\u003cstring>"],"from":"base","validator":"\u003cstring>","fees":{"lamports":"\u003cstring>","tokens":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"203ee12f-0a52-4a45-a6cc-c339337c69db":{"description":"Build error or unsupported transfer route (`UNSUPPORTED_TRANSFER_ROUTE`)","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"d9b4cb54-c93b-4518-957d-409800b0f5f1":{"description":"Validation error","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"ba9dadbd-7d43-4fbd-86c3-a09d71871124":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token obtained from the `/v1/spl/login` flow.","scopes":[]}},"2c85f25d-7db5-4266-9393-7f691eb3e59e":{}},"servers":{"c9b2e6e3-b637-4b37-95cc-df3e421d9b2d":{"url":"https://payments.magicblock.app","description":"Mainnet - Private Payments API"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Token obtained from the `/v1/spl/login` flow.","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Token obtained from the `/v1/spl/login` flow.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"cn/pages/ephemeral-spl-token/api-reference/openapi/transfer.openapi.json"},"subdomain":"magicblock-42","siteName":"MagicBlock Documentation","title":"转移 SPL Tokens - MagicBlock Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/pages/get-started/introduction/why-magicblock","matchLevel":4},"cn":{"href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer","matchLevel":0},"jp":{"href":"/jp/pages/private-ephemeral-rollups-pers/api-reference/per/transfer","matchLevel":1},"ko":{"href":"/ko/pages/private-ephemeral-rollups-pers/api-reference/per/transfer","matchLevel":1}}},"lastModified":"2026-10-29T18:33:34.499Z","originalFileLocation":"cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer.mdx","locale":"cn"},"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=\"application-name\" content=\"MagicBlock Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/magicblock-42/U_0PfsrxUNdGUMiY/_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/magicblock-42/U_0PfsrxUNdGUMiY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/magicblock-42/U_0PfsrxUNdGUMiY/_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/magicblock-42/U_0PfsrxUNdGUMiY/_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/magicblock-42/U_0PfsrxUNdGUMiY/_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/magicblock-42/U_0PfsrxUNdGUMiY/_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/magicblock-42/U_0PfsrxUNdGUMiY/_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/magicblock-42/U_0PfsrxUNdGUMiY/_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/magicblock-42/U_0PfsrxUNdGUMiY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"转移 SPL Tokens - MagicBlock Documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MagicBlock Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.magicblock.gg/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://magicblock-42.mintlify.app/_mintlify/api/og/v2?division=Private+Payments+API\u0026amp;title=%E8%BD%AC%E7%A7%BB+SPL+Tokens\u0026amp;theme=1d8cd91d37fdb38687cb25b8\u0026amp;signature=538d40b340df58eedb469f7b58f3c685826ac70d44e8febe1db3beac61697d7e\">\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=\"转移 SPL Tokens - MagicBlock Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://magicblock-42.mintlify.app/_mintlify/api/og/v2?division=Private+Payments+API\u0026amp;title=%E8%BD%AC%E7%A7%BB+SPL+Tokens\u0026amp;theme=1d8cd91d37fdb38687cb25b8\u0026amp;signature=538d40b340df58eedb469f7b58f3c685826ac70d44e8febe1db3beac61697d7e\">\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/magicblock-42/U_0PfsrxUNdGUMiY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MagicBlock Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2545F6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.magicblock.gg/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.magicblock.gg/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.magicblock.gg/jp/pages/private-ephemeral-rollups-pers/api-reference/per/transfer\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.magicblock.gg/ko/pages/private-ephemeral-rollups-pers/api-reference/per/transfer\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.magicblock.gg/#organization\",\"name\":\"MagicBlock Documentation\",\"url\":\"https://docs.magicblock.gg\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/magicblock-42/5iyVpKJBt1PkwHw4/logo/MagicBlock-Logo-Black.png?fit=max\u0026auto=format\u0026n=5iyVpKJBt1PkwHw4\u0026q=85\u0026s=9687d1cd15beb5e4477b188af93a5023\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.magicblock.gg#website\",\"name\":\"MagicBlock Documentation\",\"url\":\"https://docs.magicblock.gg\",\"publisher\":{\"@id\":\"https://docs.magicblock.gg/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.magicblock.gg/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer#webpage\",\"url\":\"https://docs.magicblock.gg/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer\",\"name\":\"转移 SPL Tokens\",\"dateModified\":\"2026-10-29T18:33:34.499Z\",\"isPartOf\":{\"@id\":\"https://docs.magicblock.gg#website\"},\"breadcrumb\":{\"@id\":\"https://docs.magicblock.gg/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.magicblock.gg/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Private Payments API\",\"item\":\"https://docs.magicblock.gg/cn/pages/private-ephemeral-rollups-pers/api-reference/per/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"转移 SPL Tokens\",\"item\":\"https://docs.magicblock.gg/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.magicblock.gg/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer#apireference\",\"headline\":\"转移 SPL Tokens\",\"name\":\"转移 SPL Tokens\",\"url\":\"https://docs.magicblock.gg/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer\",\"mainEntityOfPage\":{\"@id\":\"https://docs.magicblock.gg/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer#webpage\"},\"dateModified\":\"2026-10-29T18:33:34.499Z\",\"publisher\":{\"@id\":\"https://docs.magicblock.gg/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.magicblock.gg#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MagicBlock Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"MagicBlock Documentation","nav":{"global":{"anchors":[{"anchor":"Tutorials","icon":"youtube","href":"https://www.youtube.com/@Magicblock-Labs"},{"anchor":"Community","icon":"users","href":"https://build.magicblock.app/builders?utm_source=docs.magicblock.gg"},{"anchor":"Hackathons \u0026 Events","icon":"rocket","href":"https://luma.com/magicblock-events?utm_source=docs.magicblock.app"}]},"languages":[{"language":"en","pages":[{"title":"en","href":"/pages/get-started/introduction/why-magicblock"}]},{"language":"cn","tabs":[{"tab":"概览","pages":[{"title":"概览","href":"/cn/pages/overview/products"}]},{"tab":"Ephemeral Rollup","icon":"bolt","pages":[{"title":"Ephemeral Rollup","href":"/cn/pages/ephemeral-rollups-ers/how-to-guide/quickstart"}]},{"tab":"Private Ephemeral Rollup","icon":"shield-check","groups":[{"group":"操作指南","pages":[{"title":"快速开始","href":"/cn/pages/private-ephemeral-rollups-pers/how-to-guide/quickstart"},{"title":"访问控制","href":"/cn/pages/private-ephemeral-rollups-pers/how-to-guide/access-control"}]},{"group":"参考资料","pages":[{"title":"链上隐私","href":"/cn/pages/private-ephemeral-rollups-pers/introduction/onchain-privacy"},{"title":"授权","href":"/cn/pages/private-ephemeral-rollups-pers/introduction/authorization"},{"title":"合规框架","href":"/cn/pages/private-ephemeral-rollups-pers/introduction/compliance-framework"}]},{"group":"Private Payments API","pages":[{"title":"介绍","href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/introduction"},{"title":"健康状态","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/health.openapi.json GET /health","href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/health"},{"title":"Challenge","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/challenge.openapi.json GET /v1/spl/challenge","href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/challenge"},{"title":"Login","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/login.openapi.json POST /v1/spl/login","href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/login"},{"title":"存入 SPL Tokens","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/deposit.openapi.json POST /v1/spl/deposit","description":null,"href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/deposit"},{"title":"转移 SPL Tokens","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/transfer.openapi.json POST /v1/spl/transfer","href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/transfer"},{"title":"提取 SPL Tokens","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/withdraw.openapi.json POST /v1/spl/withdraw","description":null,"href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/withdraw"},{"title":"初始化 Mint","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/initialize-mint.openapi.json POST /v1/spl/initialize-mint","href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/initialize-mint"},{"title":"余额","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/balance.openapi.json GET /v1/spl/balance","href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/balance"},{"title":"私密余额","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/private-balance.openapi.json GET /v1/spl/private-balance","href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/private-balance"},{"title":"Mint 是否已初始化","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/is-mint-initialized.openapi.json GET /v1/spl/is-mint-initialized","href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/is-mint-initialized"},{"title":"Swap 报价","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/quote.openapi.json GET /v1/swap/quote","href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/quote"},{"title":"Swap","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/swap.openapi.json POST /v1/swap/swap","href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/swap"},{"title":"MCP","openapi":"pages/private-ephemeral-rollups-pers/api-reference/per/openapi/mcp.openapi.json POST /mcp","href":"/cn/pages/private-ephemeral-rollups-pers/api-reference/per/mcp"}]}]},{"tab":"Ephemeral SPL Token","icon":"coins","pages":[{"title":"Ephemeral SPL Token","href":"/cn/pages/ephemeral-spl-token/overview"}]},{"tab":"Solana VRF","icon":"dice","pages":[{"title":"Solana VRF","href":"/cn/pages/verifiable-randomness-functions-vrfs/how-to-guide/quickstart"}]},{"tab":"模板","icon":"book","pages":[{"title":"模板","href":"/cn/pages/templates/private-payments"}]},{"tab":"工具","icon":"screwdriver-wrench","pages":[{"title":"工具","href":"/cn/pages/tools/introduction"}]}]},{"language":"jp","pages":[{"title":"jp","href":"/jp/pages/private-ephemeral-rollups-pers/api-reference/per/transfer"}]},{"language":"ko","pages":[{"title":"ko","href":"/ko/pages/private-ephemeral-rollups-pers/api-reference/per/transfer"}]}]},"basePath":"","title":"转移 SPL Tokens - MagicBlock Documentation","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-CXEEkV6J.js","dist-lvhuD9Du.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-D1Z-ELXV.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","AssistantPageLink-CKfC4ywL.js"]}