BitMart TypeScript SDK example: fasterHmacSign.ts

BitMart Auth faster hmac sign example for the Siebly BitMart SDK, with TypeScript source for exchange REST API and WebSocket integration, setup, and production SDK docs.

What This Example Covers

  • BitMart authentication and request-signing example in TypeScript.
  • Uses the Siebly BitMart SDK package bitmart-api instead of hand-written signing code.
  • Source path: Bitmart/Auth/fasterHmacSign.ts.
  • Example category: Auth.
  • Imports SDK symbols including RestClient.
  • Calls SDK methods such as getAccountBalancesV1().

How To Use This Example

  • Start here for the specific request or stream pattern, then check the matching SDK guide for install, credentials, and operational notes.
  • For private or order-management examples, keep credentials in environment variables or a secret manager. Use read-only keys where possible, and check the execution mode reference before any exchange write path can run.
  • Open the repository source when you need the latest committed version: GitHub source file.

Example Path

Bitmart/Auth/fasterHmacSign.ts

Source Link

Repository source: https://github.com/sieblyio/crypto-api-examples/blob/master/examples/Bitmart/Auth/fasterHmacSign.ts

Related SDK Docs

Example Source

import { RestClient } from 'bitmart-api';
import { createHmac } from 'crypto';

const account = {
  key: process.env.API_KEY || 'apiKeyHere',
  secret: process.env.API_SECRET || 'apiSecretHere',
  memo: process.env.API_MEMO || 'apiMemoHere',
};

const client = new RestClient({
  apiKey: account.key,
  apiSecret: account.secret,
  apiMemo: account.memo,
  /**
   * Overkill in almost every case, but if you need any optimisation available,
   * you can inject a faster sign mechanism such as node's native createHmac:
   */
  customSignMessageFn: async (message, secret) => {
    return createHmac('sha256', secret).update(message).digest('hex');
  },
});

async function getSpotBalances() {
  try {
    const balances = await client.getAccountBalancesV1();

    console.log('Balances: ', JSON.stringify(balances, null, 2));
  } catch (e) {
    console.error('Req error: ', e);
  }
}

getSpotBalances();