Place Trade Orders

Overview

Once you deposit assets into your Go Account, you can place the following trade orders:

  • Market - An immediate order at the current market value.
  • Limit - A pending order at a value you specify. The order executes only if the market value reaches the specified price during the specified duration.
  • Time-weighted average price (TWAP) - Regular - An order that executes over a specified period of time for the average price. You can set bounds to control how strictly the order strategy stays in line with the target fill progression:
    • Narrow - within 3% or 3 minutes
    • Standard - within 5% or 5 minutes
    • Wide - within 7.5% or 10 minutes
  • Time-weighted average price (TWAP) - Time Slice - An order strategy that breaks your order into fixed slices that are executed for a duration you choose. Orders execute one at a time at equal intervals for the duration of the order.
  • Steady Pace - An order strategy that breaks your order into fixed slices that are executed one at a time at user defined intervals, with optional variance parameters for order size.

To complete a trade order, you must build an unsigned trade payload. This payload authorizes moving the assets from your Go Account to the counterparty's Go Account. BitGo reserves the assets until the order completes. Trading transactions abide by your enterprise and wallet policies, and must receive all required signatures and approvals.

Prerequisites

1. List Trading Pairs (Optional)

View the latest trading pairs available for your account.

Endpoint: List Products

export BITGO_EXPRESS_HOST="<YOUR_LOCALHOST>"
export ACCOUNT_ID="<YOUR_GO_ACCOUNT_WALLET_ID>"
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"
curl -X GET \
  "https://app.bitgo-test.com/api/prime/trading/v1/accounts/$ACCOUNT_ID/products" \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Step Result

Note: The ticker symbol for testnet USD includes an asterisk, *. However, in mainnet, the ticker symbol for USD doesn't.

{
    "data": [
        {
            "id": "0d75f716-680b-11eb-a7a5-0a34d7f8426c",
            "name": "TXRP-TUSD*",
            "baseCurrencyId": "8a93fece-6878-4b27-88eb-a83a40af0318",
            "baseCurrency": "TXRP",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 4,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "016a8ac2-b75a-11ed-84ea-0a52a0835891",
            "name": "TDOGE-TUSD*",
            "baseCurrencyId": "2f124c6c-d79c-4dc0-b57d-b8c60b408a37",
            "baseCurrency": "TDOGE",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.0001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "b5a2b42c-852b-11ec-bc16-0a34d7f8426c",
            "name": "TEOS-TUSD*",
            "baseCurrencyId": "ab1c164a-52c9-4740-8935-d7c5a52fb914",
            "baseCurrency": "TEOS",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.0001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 4,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "debc9d96-5f23-11ed-a495-0a52a0835891",
            "name": "GTETH-TFIATEUR",
            "baseCurrencyId": "35f7d962-315d-4d23-93fe-e17a195000b3",
            "baseCurrency": "GTETH",
            "quoteCurrencyId": "7caaa4ab-a044-46d3-af0f-e32599ed92d6",
            "quoteCurrency": "TFIATEUR",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": false
        },
        {
            "id": "0d75f6c6-680b-11eb-a7a3-0a34d7f8426c",
            "name": "TETH-TUSD*",
            "baseCurrencyId": "5938716a-e450-4752-a0b1-b8f1269add47",
            "baseCurrency": "TETH",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": true,
            "isMarginTradeSupported": true
        },
        {
            "id": "debc9f58-5f23-11ed-a497-0a52a0835891",
            "name": "GTETH-TUSD*",
            "baseCurrencyId": "35f7d962-315d-4d23-93fe-e17a195000b3",
            "baseCurrency": "GTETH",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "b5a2b4cc-852b-11ec-bc18-0a34d7f8426c",
            "name": "THBAR-TUSD*",
            "baseCurrencyId": "8bf5baea-5eca-4da7-a1af-ce4777671cab",
            "baseCurrency": "THBAR",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 4,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "72dbae78-6a0e-11ed-b709-0a52a0835891",
            "name": "TALGO-TUSD*",
            "baseCurrencyId": "ccb05b9c-e9d3-4fc3-8fe4-b442a5b960f9",
            "baseCurrency": "TALGO",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "0d75f66c-680b-11eb-a7a1-0a34d7f8426c",
            "name": "TBCH-TUSD*",
            "baseCurrencyId": "e1159b7c-65be-481b-822d-9689fa8ab73b",
            "baseCurrency": "TBCH",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "b5a2b3dc-852b-11ec-bc15-0a34d7f8426c",
            "name": "TDASH-TUSD*",
            "baseCurrencyId": "bda7ada0-a86d-483c-96a4-de231dfc42e5",
            "baseCurrency": "TDASH",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "2f0c6298-765f-11ed-bef4-0a52a0835891",
            "name": "TDOT-TUSD*",
            "baseCurrencyId": "79c0df2f-1b83-4f47-a9ec-5f22c5ecceeb",
            "baseCurrency": "TDOT",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "0f90205e-a77a-11eb-90ca-0a34d7f8426c",
            "name": "TUSDC-TUSD*",
            "baseCurrencyId": "345a00eb-3f02-404d-b0ee-290dd10030e3",
            "baseCurrency": "TUSDC",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 4,
            "isTradeDisabled": true,
            "isMarginTradeSupported": true
        },
        {
            "id": "b5a2b602-852b-11ec-bc1c-0a34d7f8426c",
            "name": "TZEC-TUSD*",
            "baseCurrencyId": "38ec5645-1905-4e1a-acad-b383ebdfadad",
            "baseCurrency": "TZEC",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 3,
            "isTradeDisabled": true,
            "isMarginTradeSupported": true
        },
        {
            "id": "c85dc208-4f0c-11ee-a308-0a52a0835891",
            "name": "TADA-TUSD*",
            "baseCurrencyId": "e16f0383-b0de-4274-8760-093a755e8846",
            "baseCurrency": "TADA",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "72dbaedc-6a0e-11ed-b70a-0a52a0835891",
            "name": "TAVAXC-TUSD*",
            "baseCurrencyId": "f4999e81-3cc1-46d1-9df0-2c018233c3c0",
            "baseCurrency": "TAVAXC",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.0001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "0d75f694-680b-11eb-a7a2-0a34d7f8426c",
            "name": "TBTC-TUSD*",
            "baseCurrencyId": "53d027b3-6725-4b21-8032-5172866460fb",
            "baseCurrency": "TBTC",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "535eae0a-2a0e-11ed-ab1a-0af39be72175",
            "name": "TLTC-TBTC",
            "baseCurrencyId": "76c9df40-056c-4a55-8a9d-30997c056785",
            "baseCurrency": "TLTC",
            "quoteCurrencyId": "53d027b3-6725-4b21-8032-5172866460fb",
            "quoteCurrency": "TBTC",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "0.0002",
            "quoteIncrement": "0.00000001",
            "quoteDisplayPrecision": 6,
            "isTradeDisabled": false,
            "isMarginTradeSupported": false
        },
        {
            "id": "0d75f6ee-680b-11eb-a7a4-0a34d7f8426c",
            "name": "TLTC-TUSD*",
            "baseCurrencyId": "76c9df40-056c-4a55-8a9d-30997c056785",
            "baseCurrency": "TLTC",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "ca921f98-5d48-11ee-929b-06bf213598a1",
            "name": "TNEAR-TUSD*",
            "baseCurrencyId": "c34aeb82-c069-4afc-ad35-bc1cab83b80c",
            "baseCurrency": "TNEAR",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.0000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "262430aa-fbb5-11eb-9769-0a34d7f8426c",
            "name": "TBCH-TBTC",
            "baseCurrencyId": "e1159b7c-65be-481b-822d-9689fa8ab73b",
            "baseCurrency": "TBCH",
            "quoteCurrencyId": "53d027b3-6725-4b21-8032-5172866460fb",
            "quoteCurrency": "TBTC",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "0.0002",
            "quoteIncrement": "0.00000001",
            "quoteDisplayPrecision": 6,
            "isTradeDisabled": false,
            "isMarginTradeSupported": false
        },
        {
            "id": "45446dae-3491-11ed-8c5f-0af39be72175",
            "name": "TBTC-TFIATEUR",
            "baseCurrencyId": "53d027b3-6725-4b21-8032-5172866460fb",
            "baseCurrency": "TBTC",
            "quoteCurrencyId": "7caaa4ab-a044-46d3-af0f-e32599ed92d6",
            "quoteCurrency": "TFIATEUR",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": false
        },
        {
            "id": "535ead60-2a0e-11ed-ab17-0af39be72175",
            "name": "TETH-TBTC",
            "baseCurrencyId": "5938716a-e450-4752-a0b1-b8f1269add47",
            "baseCurrency": "TETH",
            "quoteCurrencyId": "53d027b3-6725-4b21-8032-5172866460fb",
            "quoteCurrency": "TBTC",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "0.0002",
            "quoteIncrement": "0.00000001",
            "quoteDisplayPrecision": 5,
            "isTradeDisabled": true,
            "isMarginTradeSupported": false
        },
        {
            "id": "debc9d0a-5f23-11ed-a493-0a52a0835891",
            "name": "GTETH-TBTC",
            "baseCurrencyId": "35f7d962-315d-4d23-93fe-e17a195000b3",
            "baseCurrency": "GTETH",
            "quoteCurrencyId": "53d027b3-6725-4b21-8032-5172866460fb",
            "quoteCurrency": "TBTC",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "0.0002",
            "quoteIncrement": "0.00000001",
            "quoteDisplayPrecision": 5,
            "isTradeDisabled": false,
            "isMarginTradeSupported": false
        },
        {
            "id": "45446eda-3491-11ed-8c64-0af39be72175",
            "name": "TETH-TFIATEUR",
            "baseCurrencyId": "5938716a-e450-4752-a0b1-b8f1269add47",
            "baseCurrency": "TETH",
            "quoteCurrencyId": "7caaa4ab-a044-46d3-af0f-e32599ed92d6",
            "quoteCurrency": "TFIATEUR",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.00000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": true,
            "isMarginTradeSupported": false
        },
        {
            "id": "2f0c66e4-765f-11ed-beff-0a52a0835891",
            "name": "TSOL-TUSD*",
            "baseCurrencyId": "01866233-6b3c-41eb-bd32-1b6b4731d740",
            "baseCurrency": "TSOL",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.0001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 2,
            "isTradeDisabled": false,
            "isMarginTradeSupported": true
        },
        {
            "id": "81ad9676-9b35-11ec-b19f-0a34d7f8426c",
            "name": "TXLM-TUSD*",
            "baseCurrencyId": "07680903-d4d4-4cb2-b859-ef8fb7d93ba6",
            "baseCurrency": "TXLM",
            "quoteCurrencyId": "e708df52-ba80-42cd-868c-5dab42fe6bac",
            "quoteCurrency": "TUSD*",
            "baseMinSize": "",
            "baseMaxSize": "",
            "baseIncrement": "0.0000001",
            "quoteMinSize": "10",
            "quoteIncrement": "0.01",
            "quoteDisplayPrecision": 5,
            "isTradeDisabled": true,
            "isMarginTradeSupported": true
        }
    ]
}

2. Place Trade Order

export BITGO_EXPRESS_HOST="<YOUR_LOCALHOST>"
export ACCOUNT_ID="<YOUR_GO_ACCOUNT_WALLET_ID>"
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"

curl -X POST \
  "https://$BITGO_EXPRESS_HOST/api/prime/trading/v1/accounts/$ACCOUNT_ID/orders" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "clientOrderId": "myorder1",
    "type": "market",
    "product": "TBTC-TUSD*",
    "side": "buy",
    "quantity": "10000",
    "quantityCurrency": "TUSD*"
  }'
export BITGO_EXPRESS_HOST="<YOUR_LOCALHOST>"
export ACCOUNT_ID="<YOUR_GO_ACCOUNT_WALLET_ID>"
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"

curl -X POST \
  "https://$BITGO_EXPRESS_HOST/api/prime/trading/v1/accounts/$ACCOUNT_ID/orders" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "clientOrderId": "myorder1",
    "type": "limit",
    "product": "TBTC-TUSD*",
    "side": "buy",
    "quantity": "1",
    "quantityCurrency": "TBTC",
    "limitPrice": "10005",
    "duration": 60
  }'
export BITGO_EXPRESS_HOST="<YOUR_LOCALHOST>"
export ACCOUNT_ID="<YOUR_GO_ACCOUNT_WALLET_ID>"
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"

curl -X POST \
  "https://$BITGO_EXPRESS_HOST/api/prime/trading/v1/accounts/$ACCOUNT_ID/orders" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "clientOrderId": "myorder1",
    "type": "twap",
    "product": "TBTC-TUSD*",
    "side": "buy",
    "quantity": "100000",
    "quantityCurrency": "TUSD*",
    "duration": 60,
  }'
export BITGO_EXPRESS_HOST="<YOUR_LOCALHOST>"
export ACCOUNT_ID="<YOUR_ACCOUNT_ID>"
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"

curl -X POST \
  "https://$BITGO_EXPRESS_HOST/api/prime/trading/v1/accounts/$ACCOUNT_ID/orders" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "clientOrderId": "myorder1",
    "type": "twap",
    "product": "TBTC-TUSD*",
    "side": "buy",
    "quantity": "100000",
    "quantityCurrency": "TUSD*",
    "duration": 60,
    "isTimeSliced": true,
    "interval": 5
  }'

Step Result

{
  "id": "67fd640c-cb6c-4218-80ae-49e79ec15646",
  "accountId": "60e740e7898f7d00064d43769a73dc48",
  "clientOrderId": "myorderid1",
  "time": "2021-08-05T18:05:23.431Z",
  "creationDate": "2021-08-05T18:05:22.286Z",
  "scheduledDate": "2021-08-05T18:05:00.000Z",
  "lastFillDate": "2021-08-05T18:05:23.302Z",
  "completionDate": "2021-08-05T18:05:23.431Z",
  "settleDate": "2021-08-05T20:00:00.000Z",
  "fundingType": "funded",
  "type": "market",
  "status": "completed",
  "product": "TBTC-TUSD*",
  "side": "buy",
  "quantity": "1000",
  "quantityCurrency": "TUSD*",
  "filledQuantity": "0.02457152",
  "averagePrice": "40697.32"
}

Next

You can view order details using either the Get Order endpoint or by subscribing to the Trade WebSocket:

Note: You can cancel an open trade order, but you can't update it. If you want to edit an open trade order, cancel the order and place a new one.

See Also

API Reference: Place Order