---
title: "Transfer Asset Command"
method: POST
path: "/v2/command#transferAsset"
tags: ["transfer"]
---

# Transfer Asset Command

`POST /v2/command#transferAsset`

## Request

- Base URL: `https://api.exchange.bullish.com/trading-api`
- URL: `https://api.exchange.bullish.com/trading-api/v2/command#transferAsset`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/bullish/apis/bullish-trading-api/docs/v2/command%23transferAsset/post.ts> (a function with typed inputs; its response is checked against the schema)

Submits a command to the trading engine. A successful response indicates that the command entry was acknowledged 
but does not indicate that the command was executed. 
This endpoint uses the [signing format](/rest/authentication#signing-format) which does not require strict field 
ordering and addition of null fields in the request body. Quantities and prices does not require strict precision. 
E.g. for asset precision of 4 - `100`, `100.0`, `100.00`, `100.000` and `100.0000` are all accepted.

Requires
- [bearer token](/rest/authentication#add-authenticated-request-header) in authorization header

**Ratelimited:** `True`. Higher tiers of rate limits available by providing the `BX-RATELIMIT-TOKEN` request header.

## Headers

- `BX-SIGNATURE` string, required
- `BX-TIMESTAMP` string, required
- `BX-NONCE` string, required
- `BX-NONCE-WINDOW-ENABLED` 'false' | 'true'

## Request body

- TransferAssetCommandV2
  - `commandType` 'V2TransferAsset', required: The command type, e.g. 'V2TransferAsset'
  - `assetSymbol` string, required: asset symbol as denoted in the world
  - `quantity` string, required: Quantity of the asset. Can be representated with any number of trailing zeroes up to asset precision (eg `100.1`, `100.10`, `100.100`, `100.1000` are valid for asset precision 4)
  - `fromTradingAccountId` string, required: unique trading account ID
  - `toTradingAccountId` string, required: unique trading account ID

## Response `200`

Status OK. This means a command was successfully acknowledged.

- TradingAccountTransferResponse
  - `commandType` 'V2TransferAsset', required: The command type
  - `message` string, required: message
  - `requestId` string, required

## Other responses

- `400`: Bad Request For example, sending a request with the `BX-SIGNATURE` header missing will result in the following response:
- `401`: Not Authenticated
- `403`: Access Forbidden
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/bullish/apis/bullish-trading-api.md) - [All operations](https://skmtc.dev/bullish/apis/bullish-trading-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bullish/apis/bullish-trading-api/revisions/df5d69ccedcf?raw)
