Skip to main content
Fast-track release: this endpoint is available in the API now, while SDK helper methods are still pending.
Transfers ERC20 funds from a managed server-wallet sub-account to the authenticated partner’s own account or smart wallet.
  • Route: POST /portfolio/withdraw
  • Auth: apiToken, Privy, or session auth
  • Scope: withdrawal when using apiToken

Request body

FieldTypeRequiredDescription
amountstringYesToken amount in smallest unit (for USDC: 1000000 = 1 USDC).
tokenstringNoERC20 token address. Defaults to USDC when omitted.
destinationstringNoDestination address. Must be one of the authenticated partner’s own addresses (account or smart wallet).
onBehalfOfnumberNoManaged sub-account profile id (partner flow). Must be a child of the authenticated partner profile.

Example (HMAC)

curl -X POST "https://api.limitless.exchange/portfolio/withdraw" \
  -H "content-type: application/json" \
  -H "lmts-api-key: <tokenId>" \
  -H "lmts-signature: <base64_hmac_sha256_signature>" \
  -H "lmts-timestamp: <iso_8601_timestamp>" \
  -d '{
    "amount": "1000000",
    "onBehalfOf": 12345
  }'

Notes

  • Destination defaults to the authenticated account if omitted.
  • Destination validation blocks withdrawals to third-party addresses.
  • Legacy API keys are not supported on server-wallet operations.