Transfer between accounts
- POST
/api/v3/wallet/transfer/self
Weight(IP): 20
Transfers assets between the authenticated user's Funding, Spot, and Futures accounts. Requires TRANSFER permission. The user is identified through API key authentication and cannot be specified by UID in the request.
Request Body
| Parameter | Type | Required? | Description |
|---|---|---|---|
| amount | String | Yes | Transfer amount. Must be greater than 0 and respect the configured coin precision; excess precision returns -1160. |
| fromAccountType | String | Yes | Source account type: UNIMARGIN (futures account), SPOT (spot account), or FUNDING (funding account). |
| toAccountType | String | Yes | Destination account type. Uses the same values as fromAccountType and must be different from the source account. |
| coin | String | Yes | Asset code. |
| bizId | String | No | Business ID. If specified, the business ID must contain 16-32 ASCII letters or numbers and may include the openapi_ prefix. The server adds the prefix if absent, stores and returns the final ID, or generates openapi_ plus 32 random characters when omitted. |
| params | String | No | Business remark or additional information. |
Request example
Code
Response parameters
| Field name | Type | Description |
|---|---|---|
| code | Integer | Business code. 0 indicates success. |
| msg | String | Response message. |
| data.bizId | String | Business ID used for the transfer. |
| data.result | Boolean | true indicates a successful transfer. |
| data.transferId | String | Transfer ID. May be Null. |
Response example
Code
Error codes
| Code | Message |
|---|---|
| -2413 | Insufficient balance. |
| -2442 | Asset transfer failed. |
| -2443 | Asset transfer is processing. Retry with the same bizId. |
| -2444 | fromAccountType and toAccountType cannot be the same. |
| -2445 | bizId already exists. Reuse it only with the original request parameters. |
| -2446 | Legacy spot account is not supported. Use SPOT instead. |
| -2447 | bizId must contain 16 to 32 ASCII letters or digits, optionally prefixed with 'openapi_'. |
| -2452 | Exceeds the maximum amount available for transfer. |
| -1160 | Decimal precision error. |
See Wallet Error Codes for other wallet and validation errors.