Bitget JavaScript SDK

Installation and integration guidance for the Bitget SDK in JavaScript.

JavaScript SDK Usage

Use framework-neutral JavaScript request and event flows across Node.js-compatible runtimes.

In JavaScript, use the package directly from readable examples. TypeScript remains useful for larger integrations, but the same client patterns work in plain JavaScript.

What This SDK Covers

  • Complete Bitget REST API integrations for exchange-specific workflows.
  • Robust Bitget WebSocket support for market and account stream handling.
  • JavaScript-friendly usage patterns for production integration work.
  • Adaptable JavaScript examples & guides under /examples for implementation reference.
  • Framework-neutral JavaScript snippets that stay approachable in all JavaScript runtimes.

Install Package

npm install bitget-api
# or
pnpm install bitget-api
yarn add bitget-api

Quickstart REST API Walkthrough

Easily start calling Bitget's V2 spot REST APIs in JavaScript.

  • Install the Bitget JavaScript SDK via NPM: npm install bitget-api.
  • Import the RestClientV2 class (REST API wrapper for Bitget's V2 APIs) and WebsocketClientV2.
  • Note: for Bitget's V3 (UTA) APIs, you can use RestClientV3 and WebsocketClientV3 instead. Examples can be found on GitHub.
  • Create client instances with your API credentials (different key types are automatically detected & handled).
  • Call REST API methods as functions and await the promise containing the response.

In this example, we:

  • Open a private WebSocket connection and subscribe to account and order updates for spot.
  • Query account spot balances and find the available BTC balance.
  • Query symbol trading rules for BTCUSDT and select the minimum trade quantity.
  • Submit a market sell order using that quantity and log the response.

This setup demonstrates using REST and private WebSocket streams together, so you can place trades while receiving live account updates at the same time.

For a full map of available REST API methods, check out the endpoint reference below.

Quickstart REST API Example

import {
  RestClientV2,
  SpotOrderRequestV2,
  WebsocketClientV2,
} from 'bitget-api';

// read from environmental variables
const API_KEY = process.env.API_KEY_COM;
const API_SECRET = process.env.API_SECRET_COM;
const API_PASS = process.env.API_PASS_COM;

// If running from CLI in unix, you can pass env vars as such:
// API_KEY_COM='lkm12n3-2ba3-1mxf-fn13-lkm12n3a' API_SECRET_COM='035B2B9637E1BDFFEE2646BFBDDB8CE4' API_PASSPHRASE_COM='ComplexPa$!23$5^' ts-node examples/rest-trade-spot.ts

// note the single quotes, preventing special characters such as $ from being incorrectly passed

const client = new RestClientV2({
  apiKey: API_KEY,
  apiSecret: API_SECRET,
  apiPass: API_PASS,
  // apiKey: 'apiKeyHere',
  // apiSecret: 'apiSecretHere',
  // apiPass: 'apiPassHere',
});

const wsClient = new WebsocketClientV2({
  apiKey: API_KEY,
  apiSecret: API_SECRET,
  apiPass: API_PASS,
});

function logWSEvent(type: string, data: any) {
  console.log(new Date(), `WS ${type} event: `, data);
}

// simple sleep function
function promiseSleep(milliseconds: number) {
  return new Promise((resolve) => setTimeout(resolve, milliseconds));
}

/** This is a simple script wrapped in a immediately invoked function expression, designed to check for any available BTC balance and immediately sell the full amount for USDT */
(async () => {
  try {
    // Add event listeners to log websocket events on account
    wsClient.on('update', (data) => logWSEvent('update', data));
    wsClient.on('open', (data) => logWSEvent('open', data));
    wsClient.on('response', (data) => logWSEvent('response', data));
    wsClient.on('reconnect', (data) => logWSEvent('reconnect', data));
    wsClient.on('reconnected', (data) => logWSEvent('reconnected', data));
    wsClient.on('authenticated', (data) => logWSEvent('authenticated', data));
    wsClient.on('exception', (data) => logWSEvent('exception', data));

    // Subscribe to private account topics
    // spot private
    // : account updates
    wsClient.subscribeTopic('SPOT', 'account');

    // : order updates (note: symbol is required)
    wsClient.subscribeTopic('SPOT', 'orders', 'BTCUSDT');

    // wait briefly for ws to be ready (could also use the response or authenticated events, to make sure topics are subscribed to before starting)
    await promiseSleep(2.5 * 1000);

    const balanceResult = await client.getSpotAccountAssets();
    const allBalances = balanceResult.data;

    const balanceBTC = allBalances.find(
      (bal) => bal.coin === 'BTC' || bal.coin === 'btc',
    );
    const btcAmount = balanceBTC ? Number(balanceBTC.available) : 0;
    // console.log('balance: ', JSON.stringify(balances, null, 2));
    console.log('BTC balance result: ', balanceBTC);

    if (!btcAmount) {
      console.error('No BTC to trade');
      return;
    }

    console.log(`BTC available: ${btcAmount}`);
    const symbol = 'BTCUSDT';

    const symbolsResult = await client.getSpotSymbolInfo();
    const btcRules = symbolsResult.data.find((rule) => rule.symbol === symbol);
    console.log('btc trading rules: ', btcRules);
    if (!btcRules) {
      return console.log('no rules found for trading ' + symbol);
    }

    const quantity = btcRules.minTradeAmount;

    const order: SpotOrderRequestV2 = {
      symbol: symbol,
      side: 'sell',
      orderType: 'market',
      force: 'gtc',
      size: quantity,
    } as const;

    console.log('submitting order: ', order);

    const sellResult = await client.spotSubmitOrder(order);

    console.log('sell result: ', sellResult);
  } catch (e) {
    console.error('request failed: ', e);
  }
})();

Quickstart WebSocket Walkthrough

Connecting to Bitget's V3 (UTA) private WebSocket streams is straightforward with the WebsocketClientV3.

  • Install the Bitget JavaScript SDK via NPM: npm install bitget-api.
  • Import the WebsocketClientV3 and WS_KEY_MAP utilities.
  • Create an authenticated WebsocketClientV3 instance with your API credentials.
  • Configure event handlers for key events such as update, response, reconnect, reconnected, and exception.
  • Subscribe to private topics and handle incoming account events in real time.

In this example, we:

  • Subscribe to private account events on the UTA connection.
  • Subscribe to account, position, fill, and order topics in a single batched request.
  • Inspect currently tracked private subscriptions after a short delay.

This setup allows you to receive real-time account activity updates without polling REST endpoints.

Quickstart WebSocket Example

import { DefaultLogger, WebsocketClientV3, WS_KEY_MAP } from 'bitget-api';

(async () => {
  const logger = {
    ...DefaultLogger,
    trace: (...params: any[]) => console.log('trace', ...params),
  };

  const API_KEY = process.env.API_KEY_COM;
  const API_SECRET = process.env.API_SECRET_COM;
  const API_PASS = process.env.API_PASS_COM;

  // If running from CLI in unix, you can pass env vars as such:
  // API_KEY_COM='lkm12n3-2ba3-1mxf-fn13-lkm12n3a' API_SECRET_COM='035B2B9637E1BDFFEE2646BFBDDB8CE4' API_PASSPHRASE_COM='ComplexPa$!23$5^' ts-node examples/ws-private.ts

  const wsClient = new WebsocketClientV3(
    {
      apiKey: API_KEY,
      apiSecret: API_SECRET,
      apiPass: API_PASS,
    },
    logger,
  );

  wsClient.on('update', (data) => {
    console.log('WS raw message received ', data);
    // console.log('WS raw message received ', JSON.stringify(data, null, 2));
  });

  wsClient.on('open', (data) => {
    console.log('WS connection opened:', data.wsKey);
  });
  wsClient.on('response', (data) => {
    console.log('WS response: ', JSON.stringify(data, null, 2));
  });
  wsClient.on('reconnect', ({ wsKey }) => {
    console.log('WS automatically reconnecting.... ', wsKey);
  });
  wsClient.on('reconnected', (data) => {
    console.log('WS reconnected ', data?.wsKey);
  });
  wsClient.on('exception', (data) => {
    console.log('WS error', data);
  });

  // You can subscribe to one topic at a time
  wsClient.subscribe(
    {
      topic: 'account',
      payload: {
        instType: 'UTA', // Note: all account events go on the UTA instType
      },
    },
    WS_KEY_MAP.v3Private, // This parameter points to private or public
  );

  // Note: all account events go on the UTA instType
  const ACCOUNT_INST_TYPE = 'UTA';
  const ACCOUNT_WS_KEY = WS_KEY_MAP.v3Private;

  // Or multiple at once:
  wsClient.subscribe(
    [
      {
        topic: 'account',
        payload: {
          instType: ACCOUNT_INST_TYPE,
        },
      },
      {
        topic: 'position',
        payload: {
          instType: ACCOUNT_INST_TYPE,
        },
      },
      {
        topic: 'fill',
        payload: {
          instType: ACCOUNT_INST_TYPE,
        },
      },
      {
        topic: 'order',
        payload: {
          instType: ACCOUNT_INST_TYPE,
        },
      },
    ],
    ACCOUNT_WS_KEY,
  );

  // Topics are tracked per websocket type
  // The below example will pull a list of subscribed topics on that connection (e.g. all private topics), after a 5 second delay:
  setTimeout(() => {
    const privateTopics = wsClient.getWsStore().getTopics(WS_KEY_MAP.v3Private);

    console.log('private topics currently in state: ', privateTopics);
  }, 5 * 1000);
})();

Quickstart WebSocket API Walkthrough

Bitget's V3 (UTA) WebSocket API (WS-API) lets you send trading commands over a persistent, authenticated WebSocket connection, reducing overhead compared to separate REST requests.

The SDK's WebsocketAPIClient wraps this flow in promise-based helper methods, so each WS-API request can be awaited like a regular API call.

To use the WebSocket API:

  • Install the Bitget JavaScript SDK via NPM: npm install bitget-api.
  • Import the dedicated WebsocketAPIClient.
  • Create an authenticated WebsocketAPIClient instance with your API credentials.
  • Optionally call connectWSAPI() before submitting commands to warm up the connection.
  • Call dedicated WS-API methods and await their responses.

In this example, we:

  • Submit a new spot order.
  • Submit a batch of spot orders.
  • Cancel a single order.
  • Cancel a batch of orders.

Note that:

  • This requires Bitget V3/UTA API credentials.
  • Responses are logged per operation, with errors handled in separate try/catch blocks.
  • For batch endpoints, inspect per-order result codes in the response payload.

Quickstart WebSocket API Example

import { DefaultLogger, WebsocketAPIClient } from 'bitget-api';

// function attachEventHandlers<TWSClient extends WebsocketClientV3>(
//   wsClient: TWSClient,
// ): void {
//   wsClient.on('update', (data) => {
//     console.log('raw message received ', JSON.stringify(data));
//   });
//   wsClient.on('open', (data) => {
//     console.log('ws connected', data.wsKey);
//   });
//   wsClient.on('reconnect', ({ wsKey }) => {
//     console.log('ws automatically reconnecting.... ', wsKey);
//   });
//   wsClient.on('reconnected', (data) => {
//     console.log('ws has reconnected ', data?.wsKey);
//   });
//   wsClient.on('authenticated', (data) => {
//     console.log('ws has authenticated ', data?.wsKey);
//   });
// }

(async () => {
  const logger = {
    ...DefaultLogger,
    trace: (...params: any[]) => console.log('trace', ...params),
  };

  const API_KEY = process.env.API_KEY_COM;
  const API_SECRET = process.env.API_SECRET_COM;
  const API_PASS = process.env.API_PASS_COM;

  // If running from CLI in unix, you can pass env vars as such:
  // API_KEY_COM='lkm12n3-2ba3-1mxf-fn13-lkm12n3a' API_SECRET_COM='035B2B9637E1BDFFEE2646BFBDDB8CE4' API_PASSPHRASE_COM='ComplexPa$!23$5^' ts-node examples/ws-private.ts

  const wsClient = new WebsocketAPIClient(
    {
      apiKey: API_KEY,
      apiSecret: API_SECRET,
      apiPass: API_PASS,

      // Whether to use the demo trading wss connection
      // demoTrading: true,

      // If you want your own event handlers instead of the default ones with logs,
      // disable this setting and see the `attachEventHandlers` example below:
      // attachEventListeners: false
    },
    logger, // Optional: inject a custom logger
  );

  // Optional, see above "attachEventListeners". Attach basic event handlers, so nothing is left unhandled
  // attachEventHandlers(wsClient.getWSClient());

  // Optional: prepare the WebSocket API connection in advance.
  // This happens automatically but you can do this early before making any API calls, to prevent delays from a cold start.
  await wsClient.getWSClient().connectWSAPI();

  /**
   * Bitget's WebSocket API be used like a REST API, through this SDK's WebsocketAPIClient. The WebsocketAPIClient is a utility class wrapped around WebsocketClientV3's sendWSAPIRequest() capabilities.
   *
   * Each request sent via the WebsocketAPIClient will automatically:
   * - route via the active WS API connection
   * - return a Promise, which automatically resolves/rejects when a matching response is received
   *
   * Note: this requires V3/UTA API keys!
   */

  /**
   * Place Order
   * https://www.bitget.com/api-doc/uta/websocket/private/Place-Order-Channel#request-parameters
   */
  try {
    const res = await wsClient.submitNewOrder('spot', {
      orderType: 'limit',
      price: '100',
      qty: '0.1',
      side: 'buy',
      symbol: 'BTCUSDT',
      timeInForce: 'gtc',
    });
    /**
      const res = {
        "event": "trade",
        "id": "1750034396082",
        "category": "spot",
        "topic": "place-order",
        "args": [
          {
            "symbol": "BTCUSDT",
            "orderId": "xxxxxxxx",
            "clientOid": "xxxxxxxx",
            "cTime": "1750034397008"
          }
        ],
        "code": "0",
        "msg": "success",
        "ts": "1750034397076"
      };
     */

    console.log(new Date(), 'WS API "submitNewOrder()" result: ', res);
  } catch (e) {
    console.error(new Date(), 'Exception with WS API "submitNewOrder()": ', e);
  }

  /**
   * Batch Place Order Channel
   * https://www.bitget.com/api-doc/uta/websocket/private/Batch-Place-Order-Channel
   */

  try {
    /**
     * Note: batch place will never reject the request, even if all orders were rejected. Check the "code" and "msg" properties for individual orders in the response, to detect batch place errors.
     */
    const res = await wsClient.placeBatchOrders('spot', [
      {
        clientOid: 'xxxxxxxx1',
        orderType: 'limit',
        price: '100',
        qty: '0.1',
        side: 'buy',
        symbol: 'BTCUSDT',
        timeInForce: 'gtc',
      },
      {
        clientOid: 'xxxxxxxx2',
        orderType: 'limit',
        price: '100',
        qty: '0.15',
        side: 'buy',
        symbol: 'BTCUSDT',
        timeInForce: 'gtc',
      },
    ]);

    /**
      const res = {
        "event": "trade",
        "id": "1750035029506",
        "category": "spot",
        "topic": "batch-place",
        "args": [
          {
            "code": "0",
            "msg": "Success",
            "symbol": "BTCUSDT",
            "orderId": "xxxxxxxx",
            "clientOid": "xxxxxxxx"
          },
          {
            "code": "0",
            "msg": "Success",
            "symbol": "BTCUSDT",
            "orderId": "xxxxxxxx",
            "clientOid": "xxxxxxxx"
          }
        ],
        "code": "0",
        "msg": "Success",
        "ts": "1750035029925"
      }
     */

    console.log(new Date(), 'WS API "placeBatchOrders()" result: ', res);
  } catch (e) {
    console.error(
      new Date(),
      'Exception with WS API "placeBatchOrders()": ',
      e,
    );
  }

  /**
   * Cancel Order
   * https://www.bitget.com/api-doc/uta/websocket/private/Cancel-Order-Channel
   */

  try {
    const res = await wsClient.cancelOrder('spot', {
      clientOid: 'xxxxxxxx1',
    });

    /**
      const res = {
        "event": "trade",
        "id": "1750034870205",
        "topic": "cancel-order",
        "args": [
          {
            "orderId": "xxxxxxxx",
            "clientOid": "xxxxxxxx"
          }
        ],
        "code": "0",
        "msg": "Success",
        "ts": "1750034870597"
      }
     */

    console.log(new Date(), 'WS API "cancelOrder()" result: ', res);
  } catch (e) {
    console.error(new Date(), 'Exception with WS API "cancelOrder()": ', e);
  }

  /**
   * Batch Cancel Order
   * https://www.bitget.com/api-doc/uta/websocket/private/Batch-Cancel-Order-Channel
   */

  try {
    const res = await wsClient.cancelBatchOrders('spot', [
      {
        clientOid: 'xxxxxxxx1',
      },
      {
        orderId: '123123123',
      },
    ]);

    /**
      const res = {
        "event": "trade",
        "id": "bb553cc0-c1fa-454e-956d-c96c8d715760",
        "topic": "batch-cancel",
        "args": [
          {
            "code": "0",
            "msg": "Success",
            "orderId": "xxxxxxxxxxxxx"
          },
          {
            "code": "25204",
            "msg": "Order does not exist",
            "orderId": "xxxxxxxxxxxxx"
          }
        ],
        "code": "0",
        "msg": "Success",
        "ts": "1751980011084"
      }
     */

    console.log(new Date(), 'WS API "cancelBatchOrders()" result: ', res);
  } catch (e) {
    console.error(
      new Date(),
      'Exception with WS API "cancelBatchOrders()": ',
      e,
    );
  }

  console.log(new Date(), 'Reached end of example.');
})();

Endpoint Function Reference

Endpoint maps

Each REST client is a JavaScript class, which provides functions individually mapped to each endpoint available in the exchange's API offering.

The following table shows all methods available in each REST client, whether the method requires authentication (automatically handled if API keys are provided), as well as the exact endpoint each method is connected to.

This can be used to easily find which method to call, once you have found which endpoint you're looking to use.

All REST clients are in the src folder. For usage examples, make sure to check the examples folder.

List of clients:

If anything is missing or wrong, please open an issue or let us know in our Node.js Traders telegram group!

How to use table

Table consists of 4 parts:

  • Function name
  • AUTH
  • HTTP Method
  • Endpoint

Function name is the name of the function that can be called through the SDK. Check examples folder in the repo for more help on how to use them!

AUTH is a boolean value that indicates if the function requires authentication - which means you need to pass your API key and secret to the SDK.

HTTP Method shows HTTP method that the function uses to call the endpoint. Sometimes endpoints can have same URL, but different HTTP method so you can use this column to differentiate between them.

Endpoint is the URL that the function uses to call the endpoint. Best way to find exact function you need for the endpoint is to search for URL in this table and find corresponding function name.

rest-client-v2.ts

This table includes all endpoints from the official Exchange API docs and corresponding SDK functions for each endpoint that are found in rest-client-v2.ts.

FunctionAUTHHTTP MethodEndpoint
getAnnouncements()GET/api/v2/public/annoucements
getServerTime()GET/api/v2/public/time
getTradeRate()🔐GET/api/v2/common/trade-rate
getSpotTransactionRecords()🔐GET/api/v2/tax/spot-record
getFuturesTransactionRecords()🔐GET/api/v2/tax/future-record
getMarginTransactionRecords()🔐GET/api/v2/tax/margin-record
getP2PTransactionRecords()🔐GET/api/v2/tax/p2p-record
getP2PMerchantList()🔐GET/api/v2/p2p/merchantList
getP2PMerchantInfo()🔐GET/api/v2/p2p/merchantInfo
getP2PMerchantOrders()🔐GET/api/v2/p2p/orderList
getP2PMerchantAdvertisementList()🔐GET/api/v2/p2p/advList
getSpotWhaleNetFlowData()🔐GET/api/v2/spot/market/whale-net-flow
getFuturesActiveTakerBuySellVolumeData()GET/api/v2/mix/market/taker-buy-sell
getFuturesActiveLongShortPositionData()GET/api/v2/mix/market/position-long-short
getFuturesLongShortRatio()GET/api/v2/mix/market/long-short-ratio
getMarginLoanGrowthRate()GET/api/v2/mix/market/loan-growth
getIsolatedMarginBorrowingRatio()GET/api/v2/mix/market/isolated-borrow-rate
getFuturesActiveBuySellVolumeData()GET/api/v2/mix/market/long-short
getSpotFundFlow()GET/api/v2/spot/market/fund-flow
getTradeDataSupportSymbols()GET/api/v2/spot/market/support-symbols
getSpotFundNetFlowData()GET/api/v2/spot/market/fund-net-flow
getFuturesActiveLongShortAccountData()GET/api/v2/mix/market/account-long-short
createVirtualSubaccount()🔐POST/api/v2/user/create-virtual-subaccount
modifyVirtualSubaccount()🔐POST/api/v2/user/modify-virtual-subaccount
batchCreateVirtualSubaccountAndAPIKey()🔐POST/api/v2/user/batch-create-subaccount-and-apikey
getVirtualSubaccounts()🔐GET/api/v2/user/virtual-subaccount-list
createVirtualSubaccountAPIKey()🔐POST/api/v2/user/create-virtual-subaccount-apikey
modifyVirtualSubaccountAPIKey()🔐POST/api/v2/user/modify-virtual-subaccount-apikey
getVirtualSubaccountAPIKeys()🔐GET/api/v2/user/virtual-subaccount-apikey-list
getFundingAssets()🔐GET/api/v2/account/funding-assets
getBotAccount()🔐GET/api/v2/account/bot-assets
getBalances()🔐GET/api/v2/account/all-account-balance
getConvertCoins()🔐GET/api/v2/convert/currencies
getConvertQuotedPrice()🔐GET/api/v2/convert/quoted-price
convert()🔐POST/api/v2/convert/trade
getConvertHistory()🔐GET/api/v2/convert/convert-record
getConvertBGBCoins()🔐GET/api/v2/convert/bgb-convert-coin-list
convertBGB()🔐POST/api/v2/convert/bgb-convert
getConvertBGBHistory()🔐GET/api/v2/convert/bgb-convert-records
getSpotCoinInfo()🔐GET/api/v2/spot/public/coins
getSpotSymbolInfo()🔐GET/api/v2/spot/public/symbols
getSpotVIPFeeRate()🔐GET/api/v2/spot/market/vip-fee-rate
getSpotTicker()🔐GET/api/v2/spot/market/tickers
getSpotMergeDepth()🔐GET/api/v2/spot/market/merge-depth
getSpotOrderBookDepth()🔐GET/api/v2/spot/market/orderbook
getSpotCandles()🔐GET/api/v2/spot/market/candles
getSpotHistoricCandles()🔐GET/api/v2/spot/market/history-candles
getSpotRecentTrades()🔐GET/api/v2/spot/market/fills
getSpotHistoricTrades()🔐GET/api/v2/spot/market/fills-history
spotSubmitOrder()🔐POST/api/v2/spot/trade/place-order
spotCancelandSubmitOrder()🔐POST/api/v2/spot/trade/cancel-replace-order
spotBatchCancelandSubmitOrder()🔐POST/api/v2/spot/trade/batch-cancel-replace-order
spotCancelOrder()🔐POST/api/v2/spot/trade/cancel-order
spotBatchSubmitOrders()🔐POST/api/v2/spot/trade/batch-orders
spotBatchCancelOrders()🔐POST/api/v2/spot/trade/batch-cancel-order
spotCancelSymbolOrder()🔐POST/api/v2/spot/trade/cancel-symbol-order
getSpotOrder()🔐GET/api/v2/spot/trade/orderInfo
getSpotOpenOrders()🔐GET/api/v2/spot/trade/unfilled-orders
getSpotHistoricOrders()🔐GET/api/v2/spot/trade/history-orders
getSpotFills()🔐GET/api/v2/spot/trade/fills
spotSubmitPlanOrder()🔐POST/api/v2/spot/trade/place-plan-order
spotModifyPlanOrder()🔐POST/api/v2/spot/trade/modify-plan-order
spotCancelPlanOrder()🔐POST/api/v2/spot/trade/cancel-plan-order
getSpotCurrentPlanOrders()🔐GET/api/v2/spot/trade/current-plan-order
getSpotPlanSubOrder()🔐GET/api/v2/spot/trade/plan-sub-order
getSpotHistoricPlanOrders()🔐GET/api/v2/spot/trade/history-plan-order
spotCancelPlanOrders()🔐POST/api/v2/spot/trade/batch-cancel-plan-order
getSpotAccount()🔐GET/api/v2/spot/account/info
getSpotAccountAssets()🔐GET/api/v2/spot/account/assets
getSpotSubAccountAssets()🔐GET/api/v2/spot/account/subaccount-assets
spotModifyDepositAccount()🔐POST/api/v2/spot/wallet/modify-deposit-account
getSpotAccountBills()🔐GET/api/v2/spot/account/bills
spotTransfer()🔐POST/api/v2/spot/wallet/transfer
getSpotTransferableCoins()🔐GET/api/v2/spot/wallet/transfer-coin-info
spotSubTransfer()🔐POST/api/v2/spot/wallet/subaccount-transfer
spotWithdraw()🔐POST/api/v2/spot/wallet/withdrawal
getSpotMainSubTransferRecord()🔐GET/api/v2/spot/account/sub-main-trans-record
getSpotTransferHistory()🔐GET/api/v2/spot/account/transferRecords
spotSwitchBGBDeduct()🔐POST/api/v2/spot/account/switch-deduct
getSpotDepositAddress()🔐GET/api/v2/spot/wallet/deposit-address
getSpotSubDepositAddress()🔐GET/api/v2/spot/wallet/subaccount-deposit-address
getSpotBGBDeductInfo()🔐GET/api/v2/spot/account/deduct-info
spotCancelWithdrawal()🔐POST/api/v2/spot/wallet/cancel-withdrawal
getSubAccountDepositRecords()🔐GET/api/v2/spot/wallet/subaccount-deposit-records
getSpotWithdrawalHistory()🔐GET/api/v2/spot/wallet/withdrawal-records
getSpotDepositHistory()🔐GET/api/v2/spot/wallet/deposit-records
upgradeToUnifiedAccount()🔐POST/api/v2/spot/account/upgrade
getUnifiedAccountSwitchStatus()🔐GET/api/v2/spot/account/upgrade-status
getFuturesVIPFeeRate()GET/api/v2/mix/market/vip-fee-rate
getFuturesInterestRateHistory()GET/api/v2/mix/market/union-interest-rate-history
getFuturesInterestExchangeRate()GET/api/v2/mix/market/exchange-rate
getFuturesDiscountRate()GET/api/v2/mix/market/discount-rate
getFuturesMergeDepth()GET/api/v2/mix/market/merge-depth
getFuturesTicker()GET/api/v2/mix/market/ticker
getFuturesAllTickers()GET/api/v2/mix/market/tickers
getFuturesRecentTrades()GET/api/v2/mix/market/fills
getFuturesHistoricTrades()GET/api/v2/mix/market/fills-history
getFuturesCandles()GET/api/v2/mix/market/candles
getFuturesHistoricCandles()GET/api/v2/mix/market/history-candles
getFuturesHistoricIndexPriceCandles()GET/api/v2/mix/market/history-index-candles
getFuturesHistoricMarkPriceCandles()GET/api/v2/mix/market/history-mark-candles
getFuturesOpenInterest()GET/api/v2/mix/market/open-interest
getFuturesNextFundingTime()GET/api/v2/mix/market/funding-time
getFuturesSymbolPrice()GET/api/v2/mix/market/symbol-price
getFuturesHistoricFundingRates()GET/api/v2/mix/market/history-fund-rate
getFuturesCurrentFundingRate()GET/api/v2/mix/market/current-fund-rate
getFuturesContractConfig()GET/api/v2/mix/market/contracts
getFuturesAccountAsset()🔐GET/api/v2/mix/account/account
getFuturesAccountAssets()🔐GET/api/v2/mix/account/accounts
getFuturesSubAccountAssets()🔐GET/api/v2/mix/account/sub-account-assets
getFuturesInterestHistory()🔐GET/api/v2/mix/account/interest-history
getFuturesOpenCount()🔐GET/api/v2/mix/account/open-count
setFuturesPositionAutoMargin()🔐POST/api/v2/mix/account/set-auto-margin
setFuturesLeverage()🔐POST/api/v2/mix/account/set-leverage
setFuturesPositionMargin()🔐POST/api/v2/mix/account/set-margin
setFuturesAssetMode()🔐POST/api/v2/mix/account/set-asset-mode
setFuturesMarginMode()🔐POST/api/v2/mix/account/set-margin-mode
setFuturesPositionMode()🔐POST/api/v2/mix/account/set-position-mode
getFuturesAccountBills()🔐GET/api/v2/mix/account/bill
getUnionTransferLimits()🔐GET/api/v2/mix/account/transfer-limits
getUnionConfig()🔐GET/api/v2/mix/account/union-config
getSwitchUnionUsdt()🔐GET/api/v2/mix/account/switch-union-usdt
unionConvert()🔐POST/api/v2/mix/account/union-convert
getFuturesMaxOpenableQuantity()🔐GET/api/v2/mix/account/max-open
getFuturesLiquidationPrice()🔐GET/api/v2/mix/account/liq-price
getFuturesIsolatedSymbols()🔐GET/api/v2/mix/account/isolated-symbols
getFuturesPositionTier()GET/api/v2/mix/market/query-position-lever
getFuturesPosition()🔐GET/api/v2/mix/position/single-position
getFuturesPositions()🔐GET/api/v2/mix/position/all-position
getFuturesHistoricPositions()🔐GET/api/v2/mix/position/history-position
futuresSubmitOrder()🔐POST/api/v2/mix/order/place-order
futuresSubmitReversal()🔐POST/api/v2/mix/order/click-backhand
futuresBatchSubmitOrders()🔐POST/api/v2/mix/order/batch-place-order
futuresModifyOrder()🔐POST/api/v2/mix/order/modify-order
futuresCancelOrder()🔐POST/api/v2/mix/order/cancel-order
futuresBatchCancelOrders()🔐POST/api/v2/mix/order/batch-cancel-orders
futuresFlashClosePositions()🔐POST/api/v2/mix/order/close-positions
getFuturesOrder()🔐GET/api/v2/mix/order/detail
getFuturesFills()🔐GET/api/v2/mix/order/fills
getFuturesHistoricOrderFills()🔐GET/api/v2/mix/order/fill-history
getFuturesOpenOrders()🔐GET/api/v2/mix/order/orders-pending
getFuturesHistoricOrders()🔐GET/api/v2/mix/order/orders-history
futuresCancelAllOrders()🔐POST/api/v2/mix/order/cancel-all-orders
getFuturesTriggerSubOrder()🔐GET/api/v2/mix/order/plan-sub-order
futuresSubmitTPSLOrder()🔐POST/api/v2/mix/order/place-tpsl-order
futuresSubmitPlanOrder()🔐POST/api/v2/mix/order/place-plan-order
futuresModifyTPSLPOrder()🔐POST/api/v2/mix/order/modify-tpsl-order
futuresModifyPlanOrder()🔐POST/api/v2/mix/order/modify-plan-order
getFuturesPlanOrders()🔐GET/api/v2/mix/order/orders-plan-pending
futuresCancelPlanOrder()🔐POST/api/v2/mix/order/cancel-plan-order
getFuturesHistoricPlanOrders()🔐GET/api/v2/mix/order/orders-plan-history
modifySubaccountEmail()🔐POST/api/v2/broker/account/modify-subaccount-email
getBrokerInfo()🔐GET/api/v2/broker/account/info
createSubaccount()🔐POST/api/v2/broker/account/create-subaccount
getSubaccounts()🔐GET/api/v2/broker/account/subaccount-list
modifySubaccount()🔐POST/api/v2/broker/account/modify-subaccount
getSubaccountEmail()🔐GET/api/v2/broker/account/subaccount-email
getSubaccountSpotAssets()🔐GET/api/v2/broker/account/subaccount-spot-assets
getSubaccountFuturesAssets()🔐GET/api/v2/broker/account/subaccount-future-assets
createSubaccountDepositAddress()🔐POST/api/v2/broker/account/subaccount-address
subaccountWithdrawal()🔐POST/api/v2/broker/account/subaccount-withdrawal
subaccountSetAutoTransfer()🔐POST/api/v2/broker/account/set-subaccount-autotransfer
subaccountDepositRecords()🔐GET/api/v2/broker/subaccount-deposit
subaccountWithdrawalRecords()🔐GET/api/v2/broker/subaccount-withdrawal
createSubaccountApiKey()🔐POST/api/v2/broker/manage/create-subaccount-apikey
getSubaccountApiKey()🔐GET/api/v2/broker/manage/subaccount-apikey-list
modifySubaccountApiKey()🔐POST/api/v2/broker/manage/modify-subaccount-apikey
getAllSubDepositWithdrawalRecords()🔐GET/api/v2/broker/all-sub-deposit-withdrawal
getBrokerSubaccounts()🔐GET/api/v2/broker/subaccounts
getBrokerCommissions()🔐GET/api/v2/broker/commissions
getBrokerTradeVolume()🔐GET/api/v2/broker/trade-volume
getBrokerTotalCommission()🔐GET/api/v2/broker/total-commission
getBrokerOrderCommission()🔐GET/api/v2/broker/order-commission
getBrokerRebateInfo()🔐GET/api/v2/broker/rebate-info
getAgentCustomerCommissions()🔐GET/api/v2/broker/customer-commissions
getAgentSubCustomerList()🔐GET/api/v2/broker/sub-customer-list
getAgentCustomerTradeVolume()🔐POST/api/v2/broker/customer-trade-volume
getAgentCustomerList()🔐POST/api/v2/broker/customer-list
getAgentCustomerKycResult()🔐GET/api/v2/broker/customer-kyc-result
getAgentCustomerDeposits()🔐POST/api/v2/broker/customer-deposit
getAgentCustomerAssets()🔐POST/api/v2/broker/customer-asset
getAgentCommissionDetail()🔐GET/api/v2/broker/agent-commission
getMarginCurrencies()GET/api/v2/margin/currencies
getMarginBorrowHistory()🔐GET/api/v2/margin/${marginType}/borrow-history
getMarginRepayHistory()🔐GET/api/v2/margin/${marginType}/repay-history
getMarginInterestHistory()🔐GET/api/v2/margin/${marginType}/interest-history
getMarginLiquidationHistory()🔐GET/api/v2/margin/${marginType}/liquidation-history
getMarginFinancialHistory()🔐GET/api/v2/margin/${marginType}/financial-records
getMarginAccountAssets()🔐GET/api/v2/margin/${marginType}/account/assets
marginBorrow()🔐POST/api/v2/margin/${marginType}/account/borrow
marginRepay()🔐POST/api/v2/margin/${marginType}/account/repay
getMarginRiskRate()🔐GET/api/v2/margin/${marginType}/account/risk-rate
getMarginMaxBorrowable()🔐GET/api/v2/margin/${marginType}/account/max-borrowable-amount
getMarginMaxTransferable()🔐GET/api/v2/margin/${marginType}/account/max-transfer-out-amount
getMarginInterestRateAndMaxBorrowable()🔐GET/api/v2/margin/${marginType}/interest-rate-and-limit
getMarginTierConfiguration()🔐GET/api/v2/margin/${marginType}/tier-data
marginFlashRepay()🔐POST/api/v2/margin/${marginType}/account/flash-repay
getMarginFlashRepayResult()🔐GET/api/v2/margin/${marginType}/account/query-flash-repay-status
marginSubmitOrder()🔐POST/api/v2/margin/${marginType}/place-order
marginBatchSubmitOrders()🔐POST/api/v2/margin/${marginType}/batch-place-order
marginCancelOrder()🔐POST/api/v2/margin/${marginType}/cancel-order
marginBatchCancelOrders()🔐POST/api/v2/margin/${marginType}/batch-cancel-order
getMarginOpenOrders()🔐GET/api/v2/margin/${marginType}/open-orders
getMarginHistoricOrders()🔐GET/api/v2/margin/${marginType}/history-orders
getMarginHistoricOrderFills()🔐GET/api/v2/margin/${marginType}/fills
getMarginLiquidationOrders()🔐GET/api/v2/margin/${marginType}/liquidation-order
getFuturesTraderCurrentOrder()🔐GET/api/v2/copy/mix-trader/order-current-track
getFuturesTraderHistoryOrders()🔐GET/api/v2/copy/mix-trader/order-history-track
modifyFuturesTraderOrderTPSL()🔐POST/api/v2/copy/mix-trader/order-modify-tpsl
getFuturesTraderOrder()🔐GET/api/v2/copy/mix-trader/order-total-detail
getFuturesTraderProfitHistory()🔐GET/api/v2/copy/mix-trader/profit-history-summarys
getFuturesTraderProfitShareHistory()🔐GET/api/v2/copy/mix-trader/profit-history-details
closeFuturesTraderOrder()🔐POST/api/v2/copy/mix-trader/order-close-positions
getFuturesTraderProfitShare()🔐GET/api/v2/copy/mix-trader/profit-details
getFuturesTraderProfitShareGroup()🔐GET/api/v2/copy/mix-trader/profits-group-coin-date
getFuturesTraderSymbolSettings()🔐GET/api/v2/copy/mix-trader/config-query-symbols
updateFuturesTraderSymbolSettings()🔐POST/api/v2/copy/mix-trader/config-setting-symbols
updateFuturesTraderGlobalSettings()🔐POST/api/v2/copy/mix-trader/config-settings-base
getFuturesTraderFollowers()🔐GET/api/v2/copy/mix-trader/config-query-followers
removeFuturesTraderFollower()🔐POST/api/v2/copy/mix-trader/config-remove-follower
getFuturesFollowerCurrentOrders()🔐GET/api/v2/copy/mix-follower/query-current-orders
getFuturesFollowerHistoryOrders()🔐GET/api/v2/copy/mix-follower/query-history-orders
updateFuturesFollowerTPSL()🔐POST/api/v2/copy/mix-follower/setting-tpsl
updateFuturesFollowerSettings()🔐POST/api/v2/copy/mix-follower/settings
getFuturesFollowerSettings()🔐GET/api/v2/copy/mix-follower/query-settings
closeFuturesFollowerPositions()🔐POST/api/v2/copy/mix-follower/close-positions
getFuturesFollowerTraders()🔐GET/api/v2/copy/mix-follower/query-traders
getFuturesFollowerFollowLimit()🔐GET/api/v2/copy/mix-follower/query-quantity-limit
unfollowFuturesTrader()🔐POST/api/v2/copy/mix-follower/cancel-trader
getBrokerTraders()🔐GET/api/v2/copy/mix-broker/query-traders
getBrokerTradersHistoricalOrders()🔐GET/api/v2/copy/mix-broker/query-history-traces
getBrokerTradersPendingOrders()🔐GET/api/v2/copy/mix-broker/query-current-traces
getSpotTraderProfit()🔐GET/api/v2/copy/spot-trader/profit-summarys
getSpotTraderHistoryProfit()🔐GET/api/v2/copy/spot-trader/profit-history-details
getSpotTraderUnrealizedProfit()🔐GET/api/v2/copy/spot-trader/profit-details
getSpotTraderOrder()🔐GET/api/v2/copy/spot-trader/order-total-detail
modifySpotTraderOrderTPSL()🔐POST/api/v2/copy/spot-trader/order-modify-tpsl
getSpotTraderHistoryOrders()🔐GET/api/v2/copy/spot-trader/order-history-track
getSpotTraderCurrentOrders()🔐GET/api/v2/copy/spot-trader/order-current-track
sellSpotTrader()🔐POST/api/v2/copy/spot-trader/order-close-tracking
getSpotTraderSymbolSettings()🔐POST/api/v2/copy/spot-trader/config-setting-symbols
removeSpotTraderFollowers()🔐POST/api/v2/copy/spot-trader/config-remove-follower
getSpotTraderConfiguration()🔐GET/api/v2/copy/spot-trader/config-query-settings
getSpotTraderFollowers()🔐GET/api/v2/copy/spot-trader/config-query-followers
cancelSpotFollowerOrder()🔐POST/api/v2/copy/spot-follower/stop-order
updateSpotFollowerSettings()🔐POST/api/v2/copy/spot-follower/settings
updateSpotFollowerTPSL()🔐POST/api/v2/copy/spot-follower/setting-tpsl
getSpotFollowerTraders()🔐GET/api/v2/copy/spot-follower/query-traders
getSpotFollowerCurrentTraderSymbols()🔐GET/api/v2/copy/spot-follower/query-trader-symbols
getSpotFollowerSettings()🔐GET/api/v2/copy/spot-follower/query-settings
getSpotFollowerHistoryOrders()🔐GET/api/v2/copy/spot-follower/query-history-orders
getSpotFollowerOpenOrders()🔐GET/api/v2/copy/spot-follower/query-current-orders
sellSpotFollower()🔐POST/api/v2/copy/spot-follower/order-close-tracking
unfollowSpotTrader()🔐POST/api/v2/copy/spot-follower/cancel-trader
getEarnSavingsProducts()🔐GET/api/v2/earn/savings/product
getEarnSavingsAccount()🔐GET/api/v2/earn/savings/account
getEarnSavingsAssets()🔐GET/api/v2/earn/savings/assets
getEarnSavingsRecords()🔐GET/api/v2/earn/savings/records
getEarnSavingsSubscription()🔐GET/api/v2/earn/savings/subscribe-info
earnSubscribeSavings()🔐POST/api/v2/earn/savings/subscribe
getEarnSavingsSubscriptionResult()🔐GET/api/v2/earn/savings/subscribe-result
earnRedeemSavings()🔐POST/api/v2/earn/savings/redeem
getEarnSavingsRedemptionResult()🔐GET/api/v2/earn/savings/redeem-result
getEarnAccount()🔐GET/api/v2/earn/account/assets
getEarnEliteProducts()🔐GET/api/v2/earn/elite/product
getEarnEliteAssets()🔐GET/api/v2/earn/elite/assets
getEarnEliteRecords()🔐GET/api/v2/earn/elite/records
getEarnEliteSubscribeInfo()🔐GET/api/v2/earn/elite/subscribe-info
subscribeEarnElite()🔐POST/api/v2/earn/elite/subscribe
getEarnEliteSubscribeResult()🔐GET/api/v2/earn/elite/subscribe-result
getEarnEliteRedeemInfo()🔐GET/api/v2/earn/elite/redeem-info
redeemEarnElite()🔐POST/api/v2/earn/elite/redeem
getSharkfinProducts()🔐GET/api/v2/earn/sharkfin/product
getSharkfinAccount()🔐GET/api/v2/earn/sharkfin/account
getSharkfinAssets()🔐GET/api/v2/earn/sharkfin/assets
getSharkfinRecords()🔐GET/api/v2/earn/sharkfin/records
getSharkfinSubscription()🔐GET/api/v2/earn/sharkfin/subscribe-info
subscribeSharkfin()🔐POST/api/v2/earn/sharkfin/subscribe
getSharkfinSubscriptionResult()🔐GET/api/v2/earn/sharkfin/subscribe-result
getLoanCurrencies()GET/api/v2/earn/loan/public/coinInfos
getLoanEstInterestAndBorrowable()GET/api/v2/earn/loan/public/hour-interest
borrowLoan()🔐POST/api/v2/earn/loan/borrow
getOngoingLoanOrders()🔐GET/api/v2/earn/loan/ongoing-orders
repayLoan()🔐POST/api/v2/earn/loan/repay
getRepayHistory()🔐GET/api/v2/earn/loan/repay-history
updateLoanPledgeRate()🔐POST/api/v2/earn/loan/revise-pledge
getLoanPledgeRateHistory()🔐GET/api/v2/earn/loan/revise-history
getLoanHistory()🔐GET/api/v2/earn/loan/borrow-history
getLoanDebts()🔐GET/api/v2/earn/loan/debts
getLoanLiquidationRecords()🔐GET/api/v2/earn/loan/reduces

rest-client-v3.ts

This table includes all endpoints from the official Exchange API docs and corresponding SDK functions for each endpoint that are found in rest-client-v3.ts.

FunctionAUTHHTTP MethodEndpoint
getServerTime()GET/api/v3/public/time
getInstruments()GET/api/v3/market/instruments
getMarketFeeGroup()GET/api/v3/market/fee-group
getMarketScoreWeights()GET/api/v3/market/score-weights
getTickers()GET/api/v3/market/tickers
getOrderBook()GET/api/v3/market/orderbook
getFills()GET/api/v3/market/fills
getProofOfReserves()GET/api/v3/market/proof-of-reserves
getOpenInterest()GET/api/v3/market/open-interest
getCandles()GET/api/v3/market/candles
getHistoryCandles()GET/api/v3/market/history-candles
getCurrentFundingRate()GET/api/v3/market/current-fund-rate
getHistoryFundingRate()GET/api/v3/market/history-fund-rate
getRiskReserve()GET/api/v3/market/risk-reserve
getRiskReserveHour()GET/api/v3/market/risk-reserve-hour
getRiskReserveAll()GET/api/v3/market/risk-reserve-all
getDiscountRate()GET/api/v3/market/discount-rate
getMarginLoans()GET/api/v3/market/margin-loans
getPositionTier()GET/api/v3/market/position-tier
getContractsOi()GET/api/v3/market/oi-limit
getIndexComponents()GET/api/v3/market/index-components
getCopyFuturesTradingPairs()🔐GET/api/v3/copy/futures/trading-pairs
getCopyFuturesPositionSummary()🔐GET/api/v3/copy/futures/position-summary
getBalances()🔐GET/api/v3/account/assets
getFundingAssets()🔐GET/api/v3/account/funding-assets
getAccountSettings()🔐GET/api/v3/account/settings
setLeverage()🔐POST/api/v3/account/set-leverage
setHoldMode()🔐POST/api/v3/account/set-hold-mode
getFinancialRecords()🔐GET/api/v3/account/financial-records
getRepayableCoins()🔐GET/api/v3/account/repayable-coins
getPaymentCoins()🔐GET/api/v3/account/payment-coins
submitRepay()🔐POST/api/v3/account/repay
getConvertRecords()🔐GET/api/v3/account/convert-records
setDepositAccount()🔐POST/api/v3/account/deposit-account
switchDeduct()🔐POST/api/v3/account/switch-deduct
getDeductInfo()🔐GET/api/v3/account/deduct-info
getFeeRate()🔐GET/api/v3/account/fee-rate
getMaxTransferable()🔐GET/api/v3/account/max-transferable
getOpenInterestLimit()🔐GET/api/v3/account/open-interest-limit
downgradeAccountToClassic()🔐POST/api/v3/account/switch
getUnifiedAccountSwitchStatus()🔐GET/api/v3/account/switch-status
getTaxRecords()🔐GET/api/v3/tax/records
createSubAccount()🔐POST/api/v3/user/create-sub
freezeSubAccount()🔐POST/api/v3/user/freeze-sub
getSubUnifiedAssets()🔐GET/api/v3/account/sub-unified-assets
getSubAccountList()🔐GET/api/v3/user/sub-list
createSubAccountApiKey()🔐POST/api/v3/user/create-sub-api
updateSubAccountApiKey()🔐POST/api/v3/user/update-sub-api
deleteSubAccountApiKey()🔐POST/api/v3/user/delete-sub-api
getSubAccountApiKeys()🔐GET/api/v3/user/sub-api-list
getTransferableCoins()🔐GET/api/v3/account/transferable-coins
submitTransfer()🔐POST/api/v3/account/transfer
subAccountTransfer()🔐POST/api/v3/account/sub-transfer
getSubTransferRecords()🔐GET/api/v3/account/sub-transfer-record
getDepositAddress()🔐GET/api/v3/account/deposit-address
getSubDepositAddress()🔐GET/api/v3/account/sub-deposit-address
getDepositRecords()🔐GET/api/v3/account/deposit-records
getSubDepositRecords()🔐POST/api/v3/account/sub-deposit-records
submitWithdraw()🔐POST/api/v3/account/withdraw
getWithdrawRecords()🔐GET/api/v3/account/withdrawal-records
submitNewOrder()🔐POST/api/v3/trade/place-order
modifyOrder()🔐POST/api/v3/trade/modify-order
cancelOrder()🔐POST/api/v3/trade/cancel-order
placeBatchOrders()🔐POST/api/v3/trade/place-batch
batchModifyOrders()🔐POST/api/v3/trade/batch-modify-order
cancelBatchOrders()🔐POST/api/v3/trade/cancel-batch
cancelAllOrders()🔐POST/api/v3/trade/cancel-symbol-order
closeAllPositions()🔐POST/api/v3/trade/close-positions
getOrderInfo()🔐GET/api/v3/trade/order-info
getUnfilledOrders()🔐GET/api/v3/trade/unfilled-orders
getHistoryOrders()🔐GET/api/v3/trade/history-orders
getTradeFills()🔐GET/api/v3/trade/fills
getCurrentPosition()🔐GET/api/v3/position/current-position
getPositionHistory()🔐GET/api/v3/position/history-position
getMaxOpenAvailable()🔐POST/api/v3/account/max-open-available
getPositionAdlRank()🔐GET/api/v3/position/adlRank
countdownCancelAll()🔐POST/api/v3/trade/countdown-cancel-all
getLoanTransfered()🔐GET/api/v3/ins-loan/transfered
getLoanSymbols()🔐GET/api/v3/ins-loan/symbols
getLoanRiskUnit()🔐GET/api/v3/ins-loan/risk-unit
getLoanRepaidHistory()🔐GET/api/v3/ins-loan/repaid-history
getLoanProductInfo()🔐GET/api/v3/ins-loan/product-infos
getLoanOrder()🔐GET/api/v3/ins-loan/loan-order
getLoanLTVConvert()🔐GET/api/v3/ins-loan/ltv-convert
getLoanMarginCoinInfo()🔐GET/api/v3/ins-loan/ensure-coins-convert
bindLoanUid()🔐POST/api/v3/ins-loan/bind-uid
getLoanCoins()🔐GET/api/v3/loan/coins
getLoanInterest()🔐GET/api/v3/loan/interest
loanBorrow()🔐POST/api/v3/loan/borrow
getLoanBorrowOngoing()🔐GET/api/v3/loan/borrow-ongoing
getLoanBorrowHistory()🔐GET/api/v3/loan/borrow-history
loanRepay()🔐POST/api/v3/loan/repay
getLoanRepayHistory()🔐GET/api/v3/loan/repay-history
loanRevisePledge()🔐POST/api/v3/loan/revise-pledge
getLoanPledgeRateHistory()🔐GET/api/v3/loan/pledge-rate-history
getLoanDebts()🔐GET/api/v3/loan/debts
getLoanReduces()🔐GET/api/v3/loan/reduces
submitStrategyOrder()🔐POST/api/v3/trade/place-strategy-order
modifyStrategyOrder()🔐POST/api/v3/trade/modify-strategy-order
cancelStrategyOrder()🔐POST/api/v3/trade/cancel-strategy-order
getUnfilledStrategyOrders()🔐GET/api/v3/trade/unfilled-strategy-orders
getHistoryStrategyOrders()🔐GET/api/v3/trade/history-strategy-orders
createBrokerSubAccount()🔐POST/api/v3/broker/create-sub
getBrokerSubAccountList()🔐GET/api/v3/broker/sub-list
modifyBrokerSubAccount()🔐POST/api/v3/broker/modify-sub
brokerSubWithdrawal()🔐POST/api/v3/broker/sub-withdrawal
getBrokerSubDepositAddress()🔐POST/api/v3/broker/sub-deposit-address
getBrokerAllSubDepositWithdrawal()🔐GET/api/v3/broker/all-sub-deposit-withdrawal
getBrokerCommission()🔐GET/api/v3/broker/commission
createBrokerSubApiKey()🔐POST/api/v3/broker/create-sub-apikey
modifyBrokerSubApiKey()🔐POST/api/v3/broker/modify-sub-apikey
deleteBrokerSubApiKey()🔐POST/api/v3/broker/delete-sub-apikey
getBrokerSubApiKey()🔐GET/api/v3/broker/query-sub-apikey
getEarnEliteProducts()🔐GET/api/v3/earn/elite-product
getEarnEliteAssets()🔐GET/api/v3/earn/elite-assets
getEarnEliteRecords()🔐GET/api/v3/earn/elite-records
getEarnEliteSubscribeInfo()🔐GET/api/v3/earn/elite-subscribe-info
subscribeEarnElite()🔐POST/api/v3/earn/elite-subscribe
getEarnEliteSubscribeResult()🔐GET/api/v3/earn/elite-subscribe-result
getEarnEliteRedeemInfo()🔐GET/api/v3/earn/elite-redeem-info
redeemEarnElite()🔐POST/api/v3/earn/elite-redeem

websocket-api-client.ts

This table includes all endpoints from the official Exchange API docs and corresponding SDK functions for each endpoint that are found in websocket-api-client.ts.

This client provides WebSocket API endpoints which allow for faster interactions with the Bitget API via a WebSocket connection.

FunctionAUTHHTTP MethodEndpoint
submitNewOrder()WSplace-order
placeBatchOrders()WSbatch-place
cancelOrder()WScancel-order
cancelBatchOrders()WSbatch-cancel

Source: View endpoint map source

Bitget JavaScript FAQ

What does the Bitget JavaScript SDK cover?

Bitget supports Spot, Copy, Futures, and WebSockets workflows. The JavaScript guide covers the main REST and WebSocket integration patterns.

How do I authenticate private Bitget API calls in JavaScript?

Install bitget-api from npm & pass API credentials into the SDK client options, as shown in the Bitget JavaScript examples above. The SDK handles the exchange-specific signing requirements for private requests.

Does the Bitget JavaScript SDK help with WebSocket connection management?

Yes. Use the SDK WebSocket client for subscriptions, reconnect handling, and stream lifecycle management instead of building raw socket flows yourself.

Where should I start on the Bitget JavaScript page: REST or WebSocket?

Start with the REST quick start for installation, authentication, and request and response flows. Move to the WebSocket example when you need streaming market or account updates.

Direct Example Files

Open the example files below if you want the clearest general-purpose starting point for REST API, WebSocket, and authentication workflows in plain JavaScript.

Reference Links