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 parameters
| Parameter | Type | Required? | Description |
|---|---|---|---|
| amount | String | Yes | Transfer amount. Must be greater than 0 and cannot be less than withdrawMin specified in the spot asset information endpoint. |
| 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. |
| params | String | No | Business remark or additional information. |
Request example
{
"amount": "20",
"fromAccountType": "SPOT",
"toAccountType": "FUNDING",
"coin": "USDT",
"params": "test",
"bizId": "openapi_NzqVr0AGj1uDYUp20260903102825"
}
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": 0,
"msg": "success",
"data": {
"bizId": "SELFTRANSFER202609020001",
"result": true,
"transferId": null
}
}