SDK Releases & Updates

Combined release feed across all JavaScript SDK GitHub repositories, sorted by most recent. Navigate our most recent SDK releases, updates, and changelogs in one place. Filter by SDK to view specific release notes and stay up-to-date with the latest features and improvements.

Last refresh:

Binance JavaScript SDK
v3.6.1

What's Changed

  • chore(v3.6.0): upgrade GitHub Actions to setup-node v7 and checkout v6 by @JJ-Cro in binance PR #677
  • chore(v3.6.1): Pin ws to 8.x, remove webpack analyser and improve WS types by @tiagosiebler in binance PR #678

Full Changelog: binance compare v3.6.0...v3.6

Coinbase JavaScript SDK
v1.2.2

What's Changed

  • chore(): upgrade GitHub Actions to setup-node v7 and checkout v6 by @JJ-Cro in coinbase-api PR #138
  • chore(v1.2.2): pin ws to 8.x, remove webpack analyser and improve wsOptions type by @tiagosiebler in coinbase-api PR #139

Full Changelog: coinbase-api compare v1.2.1...v1.2

BitMart JavaScript SDK
v2.5.1

What's Changed

  • chore(v2.5.0): upgrade GitHub Actions to setup-node v7 and checkout v6 by @JJ-Cro in bitmart-api PR #110
  • chore(v2.5.1): pin ws to 8.x, remove webpack analyser and improve wsOptions type by @tiagosiebler in bitmart-api PR #111

Full Changelog: bitmart-api compare v2.5.0...v2.5

KuCoin JavaScript SDK
v2.6.1

What's Changed

  • chore(v2.6.0): upgrade GitHub Actions to setup-node v7 and checkout v6 by @JJ-Cro in kucoin-api PR #147
  • chore(v2.6.1): pin ws to 8.x, remove webpack analyser and improve wsOptions type by @tiagosiebler in kucoin-api PR #148

Full Changelog: kucoin-api compare v2.6.0...v2.6

Gate JavaScript SDK
v1.6.1

What's Changed

  • chore(v1.6.0): upgrade GitHub Actions to setup-node v7 and checkout v6 by @JJ-Cro in gateio-api PR #133
  • chore(v1.6.1): pin ws to 8.x, remove webpack analyser and improve wsOptions type by @tiagosiebler in gateio-api PR #134

Full Changelog: gateio-api compare v1.6.0...v1.6

Bitget JavaScript SDK
v3.2.1

What's Changed

  • chore(v3.2.0): upgrade GitHub Actions to setup-node v7 and checkout v6 by @JJ-Cro in bitget-api PR #159
  • chore(v3.2.1): pin ws to 8.x, remove webpack analyser and improve wsOptions type by @tiagosiebler in bitget-api PR #160

Full Changelog: bitget-api compare v3.2.0...v3.2

OKX JavaScript SDK
v3.2.1

What's Changed

  • chore(v3.2.0): upgrade GitHub Actions to setup-node v7 and checkout v6 by @JJ-Cro in okx-api PR #195
  • chore(v3.2.1): pin ws to 8.x, remove webpack analyser and improve wsOptions type by @tiagosiebler in okx-api PR #196

Full Changelog: okx-api compare v3.2.0...v3.2

Kraken JavaScript SDK
v1.1.2

What's Changed

  • chore(): upgrade GitHub Actions to setup-node v7 and checkout v6 by @JJ-Cro in kraken-api PR #51
  • chore(v1.1.2): pin ws to 8.x, remove webpack analyser and improve wsOptions type by @tiagosiebler in kraken-api PR #52

Full Changelog: kraken-api compare v1.1.1...v1.1

Bybit JavaScript SDK
v4.7.1

What's Changed

  • chore(): upgrade GitHub Actions to setup-node v7 and checkout v6 by @JJ-Cro in bybit-api PR #557
  • fix(v4.7.1, #558): ws v7 dependency WS_ERR_TOO_MANY_BUFFERED_PARTS side effect, chore: remove bundle analyser, fix: return type by @tiagosiebler in bybit-api PR #559

Full Changelog: bybit-api compare v4.7.0...v4.7

Gate JavaScript SDK
v1.6.0

What's Changed

Full Changelog: gateio-api compare v1.5.5...v1.6

KuCoin JavaScript SDK
v2.6.0

What's Changed

  • chore(v2.6.0): pin npm to v11 and update Node to v24.18.0 by @JJ-Cro in kucoin-api PR #145

Full Changelog: kucoin-api compare v2.5.5...v2.6

OKX JavaScript SDK
v3.2.0

What's Changed

  • chore(v3.2.0): pin npm to v11 and update Node to v24.18.0 by @JJ-Cro in okx-api PR #193

Full Changelog: okx-api compare v3.1.6...v3.2

BitMart JavaScript SDK
v2.5.0

What's Changed

Full Changelog: bitmart-api compare v2.4.4...v2.5

Binance JavaScript SDK
v3.6.0

What's Changed

  • chore(v3.6.0): pin npm to v11 and update Node to v24.18.0 by @JJ-Cro in binance PR #675

Full Changelog: binance compare v3.5.11...v3.6

Bitget JavaScript SDK
v3.2.0

What's Changed

  • feat(v3.1.11): rewrite RestClientV3 apidoc examples and add missing UTA endpoints by @JJ-Cro in bitget-api PR #154
  • chore: update tutorial to latest by @tiagosiebler in bitget-api PR #155
  • feat(v3.1.11): rewrite RestClientV2 apidoc examples and add missing classic endpoints by @JJ-Cro in bitget-api PR #156
  • chore(v3.2.0): pin npm to v11 and update Node to v24.18.0 by @JJ-Cro in bitget-api PR #157

Full Changelog: bitget-api compare v3.1.10...v3.2

Bybit JavaScript SDK
v4.7.0

What's Changed

  • chore: update readme with docs link by @JJ-Cro in bybit-api PR #551
  • feat(v4.6.6): add Alpha LP and Prediction market APIs with corresponding request types and examples by @JJ-Cro in bybit-api PR #553
  • chore(v4.7.0): bump build version to LTS node v24. bump deps post audit. by @tiagosiebler in bybit-api PR #554

Full Changelog: bybit-api compare v4.6.4...v4.7

Coinbase JavaScript SDK
v1.2.0

What's Changed

Full Changelog: coinbase-api compare v1.1.13...v1.2

Kraken JavaScript SDK
v1.1.0

What's Changed

Full Changelog: kraken-api compare v1.0.7...v1.1

Kraken JavaScript SDK
v1.0.7

What's Changed

Full Changelog: kraken-api compare v1.0.6...v1.0

KuCoin JavaScript SDK
v2.5.5

What's Changed

  • feat(v2.5.5): enhance UTA API with new endpoints for fiat price and rate limits, update deposit status types, and improve WebSocket event interfaces by @JJ-Cro in kucoin-api PR #144

Full Changelog: kucoin-api compare v2.5.4...v2.5

Gate JavaScript SDK
v1.5.5

What's Changed

  • feat(v1.5.5): add new OTC bank management endpoints, update existing request/response types, and enhance WebSocket client functionality @JJ-Cro by @JJ-Cro in gateio-api PR #129

Full Changelog: gateio-api compare v1.5.4...v1.5

Bitget JavaScript SDK
v3.1.10

What's Changed

  • feat(v3.1.10): Add new API endpoints for liquidations, RPI data, and margin statistics by @JJ-Cro in bitget-api PR #153

Full Changelog: bitget-api compare v3.1.9...v3.1

OKX JavaScript SDK
v3.1.6

What's Changed

  • feat(v3.1.6): add move positions functionality and update event contract endpoints by @JJ-Cro in okx-api PR #191

Full Changelog: okx-api compare v3.1.5...v3.1

BitMart JavaScript SDK
v2.4.4

What's Changed

Full Changelog: bitmart-api compare v2.4.3...v2.4

KuCoin JavaScript SDK
v2.5.4

What's Changed

Full Changelog: kucoin-api compare v2.5.3...v2.5

Refer to the Kucoin JavaScript SDK QuickStart Guide to learn more.

OKX JavaScript SDK
v3.1.5

What's Changed

Full Changelog: okx-api compare v3.1.4...v3.1

View all our OKX JavaScript SDK releases here: okx api release feed

Coinbase JavaScript SDK
v1.1.12

What's Changed

  • refactor: update examples in CBAdvancedTradeClient to use ES6 import syntax and enhance documentation comments by @JJ-Cro in coinbase-api PR #131
  • chore(v1.1.12): Move optionalDependencies to devDependencies and update README badges by @JJ-Cro in coinbase-api PR #132

Full Changelog: coinbase-api compare v1.1.11...v1.1

View all our Coinbase JavaScript SDK releases here: coinbase api release feed

Gate JavaScript SDK
v1.5.4

What's Changed

  • chore(v1.5.4): Move optionalDependencies to devDependencies and update README badges by @JJ-Cro in gateio-api PR #127

Full Changelog: gateio-api compare v1.5.3...v1.5

View all releases here: gateio api release feed

Bitget JavaScript SDK
v3.1.9

What's Changed

  • chore(v3.1.9): Move optionalDependencies to devDependencies and update README badges by @JJ-Cro in bitget-api PR #150

Full Changelog: bitget-api compare v3.1.8...v3.1

BitMart JavaScript SDK
v2.4.3

What's Changed

  • chore(v2.4.3): Move optionalDependencies to devDependencies and update README badges by @JJ-Cro in bitmart-api PR #105

Full Changelog: bitmart-api compare v2.4.2...v2.4

Binance JavaScript SDK
v3.5.10

What's Changed

  • chore: update quickstart guide to latest by @tiagosiebler in binance PR #671
  • chore(v3.5.10): move optionalDependencies to devDependencies and update README badges by @JJ-Cro in binance PR #672

Full Changelog: binance compare v3.5.9...v3.5

KuCoin JavaScript SDK
v2.5.3

What's Changed

  • feat(v2.5.3): update package version to 2.5.3, enhance BrokerClient with Fast API withdrawal functionality, and improve API documentation with new endpoints and status codes by @JJ-Cro in kucoin-api PR #137
  • chore: npm bumps post-audit by @tiagosiebler in kucoin-api PR #139

Full Changelog: kucoin-api compare v2.5.2...v2.5

Kraken JavaScript SDK
v1.0.6

What's Changed

  • feat(tutorial): add kraken SDK quickstart guide by @tiagosiebler in kraken-api PR #45
  • feat(v1.0.6): Minor type updates per release notes, some fee schedule endpoint deprecations by @JJ-Cro in kraken-api PR #46

Full Changelog: kraken-api compare v1.0.5...v1.0

Gate JavaScript SDK
v1.5.3

What's Changed

  • feat(v1.5.3): add new OTC bank management endpoints and examples, other type changes by @JJ-Cro in gateio-api PR #125
  • chore: move webpack to dev dependencies to prevent bundle bloat. depn bump after audit. by @tiagosiebler in gateio-api PR #126

Full Changelog: gateio-api compare v1.5.2...v1.5

View all releases here: gateio api release feed

Bybit JavaScript SDK
v4.6.4

What's Changed

  • chore: update quickstart guide to latest by @tiagosiebler in bybit-api PR #547
  • chore(v4.6.4): move build toolchain to devDependencies (fixes default-install bloat) by @tamasPetki in bybit-api PR #549

New Contributors

Full Changelog: bybit-api compare v4.6.3...v4.6

Bybit JavaScript SDK
v4.6.3

What's Changed

  • refactor: update import statements to ES6 syntax across multiple API documentation files by @JJ-Cro in bybit-api PR #542
  • feat: add tutorial by @tiagosiebler in bybit-api PR #544
  • feat(v4.6.3): add new PWM investment plan APIs and examples by @JJ-Cro in bybit-api PR #546

Full Changelog: bybit-api compare v4.6.2...v4.6

Bybit API changelog catch-up (~Apr-Jun 2026). Types + RestClientV5 methods + apidoc examples where we had HTTP samples.

Breaking / watch out

  • FiatBybitPay dropped from PermissionsV5 / ApiKeyPermissionsV5 (use FiatBitPay)
  • EarnPositionV5.availableAmount + freezeDetails are required in types now (API returns them)
  • CoinInfoV5.chains[].withdrawMax added; remainAmount still typed but deprecated

Type updates (existing endpoints)

  • Position - openTime on PositionV5 + WSPositionV5
  • Instruments - symbolId on spot / linear / inverse / option; InstrumentSymbolTypeV5 (stock, forex, etc.)
  • Affiliate user info - paySendAmount30Day, payFtt, cardFtt; request params coin, business
  • Fixed loan supply - availableSource on create; refundedAccount on cancel supply
  • Earn position - availableAmount, freezeDetails[]

New - Strategy (/v5/strategy/*)

  • createStrategyOrder - twap / chaseOrder / iceberg / pov
  • getStrategyList
  • getStrategyOrderList
  • stopStrategy

New - Hold to Earn (/v5/earn/hold-to-earn/*)

  • getHoldToEarnAirdropProducts - public, no auth
  • getHoldToEarnAirdropYieldHistory - needs Earn permission

New - PWM investment plan (user)

  • getPwmInvestmentPlanList - GET .../investment-plan/list
  • getPwmInvestmentPlanDetail
  • getPwmPendingInvestmentPlanDetail - .../new-plan
  • claimPwmWithdrawableFunds
  • getPwmInvestmentPlanAssetTrend
  • getPwmFundHistoricalNav
  • subscribePwmInvestmentPlan
  • investMorePwmInvestmentPlan
  • redeemPwmInvestmentPlan
  • getPwmInvestmentPlanOrders

New - PWM customize plan

  • getPwmSubscribableProductInfo - public
  • createPwmCustomizeInvestmentPlan

New - PWM asset manager

  • getPwmAllFunds
  • settlePwmFundProfit
  • createPwmFund
  • createPwmAssetManagerInvestmentPlan
  • getPwmAssetManagerInvestmentPlans - not the same as user getPwmInvestmentPlanList
  • managePwmAssetManagerInvestmentPlan
  • getPwmAllFundOrders
  • managePwmFundOrder - approve/reject
  • createPwmFundSubAccount
  • pwmFundTransfer - custodian sub-account key
  • getPwmFundTransferRecords

Affiliate

  • getAffiliateSubAffiliateList - GET /v5/affiliate/affiliate-sub-list

New modules

  • src/types/request|response/v5-strategy.ts
  • src/types/request|response/v5-earn-pwm.ts

Examples (examples/apidoc/)

  • V5/Strategy/* (4)
  • V5/Earn/get-hold-to-earn-* (2)
  • V5/Earn/PWM/* (23)
  • V5/Affiliate/get-affiliate-sub-affiliate-list.js

Other

  • docs/endpointFunctionList.md regenerated
  • llms.txt regenerated
  • version bump 4.6.2 -> 4.6.3
BitMart JavaScript SDK
v2.4.2

What's Changed

  • feat(v2.4.2): update version to 2.4.2 and add new Earn and Futures endpoints by @JJ-Cro in bitmart-api PR #103

Full Changelog: bitmart-api compare v2.4.1...v2.4

Bitget JavaScript SDK
v3.1.8

What's Changed

  • feat(v3.1.8): update version to 3.1.8 and add new API endpoints for agent subaccounts and P2P trading by @JJ-Cro in bitget-api PR #149

Full Changelog: bitget-api compare v3.1.7...v3.1

Binance JavaScript SDK
v3.5.9

What's Changed

  • feat(v3.5.9): add support for historical block trades and margin liquidation loan features, update documentation and examples by @JJ-Cro in binance PR #669
  • refactor: update examples to use ES6 import syntax for CoinMClient an… by @JJ-Cro in binance PR #670

Full Changelog: binance compare v3.5.8...v3.5

Binance JavaScript SDK
v3.5.8

What's Changed

  • feat(v3.5.8): auto resolve usdm wsKey when subscribing to market data, update bracket order example to use passive limit order for TP by @tiagosiebler in binance PR #668

Summary

  • Update bracket order example to use limit order for TP. More likely to see a fill if there's a flash move past the TP order.
  • Update subscribe/unsubscribe WebsocketClient methods to automatically resolve the wsKey for usdm futures, when subscribing to market data (see #653 for more details).

Full Changelog: binance compare v3.5.7...v3.5

Binance JavaScript SDK
v3.5.7

What's Changed

  • chore(v3.5.7): revert uppercase boolean edge case, after confirmation by @tiagosiebler in binance PR #667

Full Changelog: binance compare v3.5.6...v3.5

OKX JavaScript SDK
v3.1.4

What's Changed

  • feat(v3.1.4): add dual investment API support and update examples by @JJ-Cro in okx-api PR #185
  • chore: bump lockfile dependencies after audit, add quickstart guide t… by @tiagosiebler in okx-api PR #187

Full Changelog: okx-api compare v3.1.3...v3.1

Bitget JavaScript SDK
v3.1.7

What's Changed

Full Changelog: bitget-api compare v3.1.6...v3.1

KuCoin JavaScript SDK
v2.5.2

What's Changed

  • feat(v2.5.2): enhance Unified Trading Account API with new endpoints … by @JJ-Cro in kucoin-api PR #130
  • chore: lockfile bumps after audit, add quickstart readme link by @tiagosiebler in kucoin-api PR #133

Full Changelog: kucoin-api compare v2.5.1...v2.5

Binance JavaScript SDK
v3.5.6

What's Changed

  • feat(v3.5.6): Improve private wsKey resolution for futures userData streams, misc fixes, docs updates, util methods by @tiagosiebler in binance PR #665
  • chore(v3.5.6): bump for release by @tiagosiebler in binance PR #666
  • chore: force private url for user data sub request
  • fix: null value handling in algo order REST response
  • feat: inherit util methods around custom order ID generation. feat: intro quickstart guide
  • feat: update quickstart guide & tutorial link
  • chore: revise quickstart guide phrasing
  • chore: docs update, feat: add exchange info util methods for futures
  • feat: update tpsl & bracket order examples
  • fix: capitalised boolean for algo order priceProtect, aligned with docs
  • fix: beautifier edge case with null object guard

Full Changelog: binance compare v3.5.5...v3.5

Gate JavaScript SDK
v1.5.2

What's Changed

Full Changelog: gateio-api compare v1.5.1...v1.5


Breaking / notable typing changes

  • getCrossExFeeRate() — returns CrossExFeeRate[]; each item includes required exchange_type.
  • PushOrder.idstring (was number).
  • getFuturesOrdersByTimeRange() — returns FuturesOrderTimerange[] (not FuturesOrder[]).
  • SpotPriceTriggeredOrder.put.time_in_force — now required ('gtc' | 'ioc').
  • Earn (removed)submitEth2Swap, getEth2RateHistory, structured product methods removed; related types removed from earn request/response.
  • Dual investmentgetDualInvestmentProducts / getDualInvestmentOrders use new request interfaces instead of ad-hoc / FromToPageLimit.
  • Futures price-trigger create/amend (and delivery create) — return TriggerOrderResponse (id, id_string) instead of { id: number }.
  • CrossExRiskLimitTierquick_cal_amount is required (constructors/mocks must supply it).
  • UnifiedAccountInfo.mode — required field (from earlier batch; may affect mocks).

v4.106.44 / v4.106.48

  • SpotCurrency: category?: string[].
  • finish_as: poc + JSDoc for IOC vs post-only TIF on spot batch/order and futures order / batch amend.
  • PushOrder.id: string (UidPush withdrawal push).
  • CrossEx: fee rates per exchange; convert order response type; PERIODIC_ISOLATED on margin interest comment.
  • RestClient: getCrossExFeeRate, createCrossExConvertOrder signatures updated.

v4.106.49–v4.106.51

  • FuturesOrderTimerange + getFuturesOrdersByTimeRange.
  • FuturesOrder: order_value?, trade_value? (response-only).
  • getFuturesOrder: JSDoc — path id vs text client id.
  • Earn: ETH2 + structured product endpoints and types removed.

v4.106.52–v4.106.55

  • Futures price-trigger: amount? on create initial and on amend request.
  • Earn auto-invest: new types/request/autoinvest.ts, types/response/autoinvest.ts, exports in index.ts, RestClient methods for all /earn/autoinvest/* routes in scope.
  • Rebate: PartnerDataAggregated / PartnerDataAggregatedResponse, getPartnerAgentDataAggregated.

v4.106.56–v4.106.58

  • WithdrawalRecord: timestamp / DONE wording (no block_number > 0 completion rule).
  • CrossExRiskLimitTier: quick_cal_amount.
  • FuturesContract / FuturesDeliveryContract: contract_type?.
  • GetSubAccountBalancesReq: page?, limit?; getSubBalance uses it.

v4.106.59–v4.106.61

  • Dual earn: refund preview, refund, modify reinvest, project recommend; list plans / list orders query types; models DualOrderRefundPreview, DualProjectRecommend, etc.
  • SubAccountBalance: locking?; getSubBalance return type.
  • TriggerOrderResponse, FuturesPriceTriggeredOrder.id_string?; futures + delivery price-trigger create/amend returns.
  • Rebate list items: JSDoc — commission fields are rebate commission, not generic trade notional.
  • FuturesContract.interest_rate: JSDoc (contracts list/detail).

v4.106.70

  • GetSpotAccountBookReq.type: JSDoc for internal sub-account transfer BizTypes 150215–150219.

View all releases here: gateio api release feed

BitMart JavaScript SDK
v2.4.1

What's Changed

  • feat(v2.4.1): add new Spot algo order endpoints and update FuturesClientV2 with additional request types by @JJ-Cro in bitmart-api PR #98
  • chore: lockfile bumps by @tiagosiebler in bitmart-api PR #99

Full Changelog: bitmart-api compare v2.4.0...v2.4

Bybit JavaScript SDK
v4.6.2

What's Changed

  • feat(v4.6.2): add new API endpoints for Alpha Trade, Card, and Earn fe… by @JJ-Cro in bybit-api PR #540
  • chore: minor test updates & lockfile bumps by @tiagosiebler in bybit-api PR #541

Full Changelog: bybit-api compare v4.6.1...v4.6

Binance JavaScript SDK
v3.5.5

What's Changed

  • feat(v3.5.5): Spot, Derivatives, Portfolio margin updates by @JJ-Cro in binance PR #664

Full Changelog: binance compare v3.5.4...v3.5

Gate JavaScript SDK
v1.5.1

What's Changed

New Contributors

Full Changelog: gateio-api compare v1.5.0...v1.5

View all releases here: gateio api release feed

Binance JavaScript SDK
v3.5.4

What's Changed

  • fix(v3.5.4, #659): signed parameter-sort for per-request HMAC WSAPI signatures by @tiagosiebler in binance PR #661

Summary

  • Fix sign issue due to missing parameter sort, when using per-request WSAPI sign (HMAC & RSA keys)
  • Split test stages into categories
  • Introduce WSAPI auth tests
  • Misc bumps after audit
  • Remove redundant circleci config

Full Changelog: binance compare v3.5.3...v3.5

Binance JavaScript SDK
v3.5.3

What's Changed

  • chore(v3.5.3): bump node build to LTS v24 by @tiagosiebler in binance PR #658

Full Changelog: binance compare v3.5.2...v3.5

Binance JavaScript SDK
v3.5.2

What's Changed

  • Fix: rename activationPrice to correct activatePrice in WSAPINewFutur… by @DanZBo in binance PR #656
  • chore(v3.5.2): bump node build version, misc bump after audit, fix(#656): activatePrice for futures algo order by @tiagosiebler in binance PR #657

Full Changelog: binance compare v3.5.1...v3.5

Binance JavaScript SDK
v3.5.1

What's Changed

  • fix(v3.5.1): handle suffix when adding listenKey to WebSocket URL by @tiagosiebler in binance PR #655

Full Changelog: binance compare v3.5.0...v3.5

Binance JavaScript SDK
v3.5.0

What's Changed

  • feat(v3.5.0, #653): add support for Binance USDM Futures base URL split & migration by @tiagosiebler in binance PR #654

Summary

  • Bump dependencies after audit.
  • Readme updates.
  • Add more WebSocket documentation for more detailed guidance.
  • No breaking changes expected, but USDM Futures WebSocket users may need to migrate in future when Binance deprecates the previous WS endpoint.
  • Add complete support for new USDM Futures Base URL Split & Migration, with examples:

Base URL Split & Migration

On 06/03/2026, Binance announced a routing upgrade to their USDM Futures WebSocket System, titled: "Binance USDⓈ-M Futures WebSocket System Upgrade Notice (2026-03-06)".

Key Highlights:
  • Introduction of three dedicated WebSocket base URLs:
    • Public (high-frequency public market data)
      • wss://fstream.binance.com/public
    • Market (regular market data)
      • wss://fstream.binance.com/market
    • Private (user data streams)
      • wss://fstream.binance.com/private
  • New endpoints are supported immediately upon this announcement.
  • Legacy WebSocket URLs will be permanently retired on 2026-04-23.
  • Documentation including endpoint & stream mapping: developers.binance.com Important WebSocket Change Notice
Binance JavaScript SDK Support

All three dedicated WebSocket base URLs are supported. Each with their own unique WsKey, used to track each unique connection.

Continue to subscribe to market data as before with the dedicated subscribe method, but ensure to provide the connection key depending on the type of market data you are consuming.

Minimal examples:

// ...

// For public (high-frequency public data)
const wsKeyUsdmPublic = WS_KEY_MAP.usdmPublic;
wsClient.subscribe(['btcusdt@bookTicker', 'btcusdt@depth'], wsKeyUsdmPublic);

// For market (regular market data)
const wsKeyUsdmMarket = WS_KEY_MAP.usdmMarket;
wsClient.subscribe(['btcusdt@aggTrade', 'btcusdt@forceOrder'], wsKeyUsdmMarket);

// For user data, continue using the subscribe user data stream method as before.
// The SDK will automatically route to the "private" endpoint for USDM Futures:
wsClient.subscribeUsdFuturesUserDataStream();
Legacy wsClient.subscribe*() methods

If you're using any of the per-topic convenience methods, such as wsClient.subscribeAggregateTrades(...), no change is required. The SDK will automatically route the topic subscription request to the appropriate WS URL.

Further Reading

For detailed examples, refer to the examples in this folder, as well as the following documentation:

Full Changelog: binance compare v3.4.4...v3.5

Gate JavaScript SDK
v1.5.0

What's Changed

  • feat: reorganize examples and add getContractSize example for futures trading by @JJ-Cro in gateio-api PR #106
  • feat(v1.5.0): add new P2P and TradFi API examples, update package version to 1.5.0, and include new request types in documentation by @JJ-Cro in gateio-api PR #111
  • chore: dependency bumps after audit & readme updates by @tiagosiebler in gateio-api PR #112
  • add readme references to new quickstart guide on using the Gate.com API JavaScript SDK

Full Changelog: gateio-api compare v1.4.2...v1.5

View all releases here: gateio api release feed

Bybit JavaScript SDK
v4.6.1

What's Changed

Full Changelog: bybit-api compare v4.6.0...v4.6

Bitget JavaScript SDK
v3.1.6

What's Changed

Full Changelog: bitget-api compare v3.1.5...v3.1

Bitget JavaScript SDK
v3.1.5

What's Changed

Full Changelog: bitget-api compare v3.1.4...v3.1

Binance JavaScript SDK
v3.4.4

What's Changed

  • feat(v3.4.4): Refactor example directory structure, add alpha websockets, and add new API examples for margin listen token and WebSocket disconnect by @JJ-Cro in binance PR #652

Full Changelog: binance compare v3.4.3...v3.4

Kraken JavaScript SDK
v1.0.5

What's Changed

  • chore: misc dependency bumps on audit, move getNormalised method consistent with other SDKs by @tiagosiebler in kraken-api PR #42
  • feat(v1.0.5): add custom order management and quote request functionality to PartnerClient by @JJ-Cro in kraken-api PR #43
  • fix: update error messages in private futures write tests to use 'notFound' by @JJ-Cro in kraken-api PR #44

Full Changelog: kraken-api compare v1.0.4...v1.0

KuCoin JavaScript SDK
v2.5.1

What's Changed

  • feat: add Unified Trading Account examples and update Spot and Futures guides by @JJ-Cro in kucoin-api PR #117
  • feat(v2.5.1): update API documentation and examples for Unified Trading Account by @JJ-Cro in kucoin-api PR #122

Full Changelog: kucoin-api compare v2.5.0...v2.5

OKX JavaScript SDK
v3.1.3

What's Changed

  • feat(v3.1.3): enhance API request/response types with new fields and documentation by @JJ-Cro in okx-api PR #184

Full Changelog: okx-api compare v3.1.2...v3.1

BitMart JavaScript SDK
v2.4.0

What's Changed

  • Update types by @JJ-Cro in bitmart-api PR #91
  • feat: Upgrade WsStore, introduce promise-wrapped connect/authenticate for WebSockets, fix futures WS event routing by @tiagosiebler in bitmart-api PR #88
  • feat(v2.4.0): upgrade WS architecture to latest, fix WS event routing… by @tiagosiebler in bitmart-api PR #92
  • chore: update llms.txt & endpoint map by @JJ-Cro in bitmart-api PR #93

Full Changelog: bitmart-api compare v2.3.3...v2.4

Binance JavaScript SDK
v3.4.3

What's Changed

  • chore(v3.4.3): bump audit dependency, revert prefix version by @tiagosiebler in binance PR #650

Full Changelog: binance compare v3.4.2...v3.4

Binance JavaScript SDK
v3.4.2

What's Changed

  • fix: rename activationPrice to activatePrice in FuturesNewAlgoOrderParams by @DanZBo in binance PR #648
  • feat: fallback from wsapi to wsclient user data stream for futures by @tiagosiebler in binance PR #649

New Contributors

Full Changelog: binance compare v3.4.1...v3.4

Binance JavaScript SDK
v3.4.1

What's Changed

  • fix(v3.4.1): ensure max margin user data listen token expiry time by @tiagosiebler in binance PR #646

Full Changelog: binance compare v3.4.0...v3.4

Binance JavaScript SDK
v3.4.0

What's Changed

  • feat(v3.4.0): integrate margin websocket api user data stream with automatic listen token refresh & resubscribe, bump eslint & jest by @tiagosiebler in binance PR #645

Summary

  • Adds complete integration for Binance's "listen token" workflow used for the cross margin user data stream (via WebSocket API), since the original mechanic is formally deprecated.
  • Automatic token refresh before expiry, for seamless continuous connection to the cross margin user data stream.
  • Automatic token expiration handling, in the rare event the SDK was unable to refresh the token before it expired.
  • Automatic resubscribe, if the connection drops after you subscribed to the cross margin user data stream.
  • Binance docs for margin user data stream: developers.binance.com trade data stream
  • Bumped eslint to 10 (dev dependency, resolves a number of audit complaints)
  • Bumped jest to 30 (dev dependency, resolves a number of audit complaints)
  • Bumped minor node build version to LTS

The process for subscribing to the Cross Margin WebSocket API user data stream with this Binance Node.js SDK is very similar to the other WS API user data streams. Just be sure to use the wsKey for margin. The rest is automatic, including token refresh & expiry handling: binance source ws userdata wsapi margin

Full Changelog: binance compare v3.3.3...v3.4

Bybit JavaScript SDK
v4.6.0

What's Changed

  • Upgrades to WebSocket architecture, aligned with other SDKs by @tiagosiebler in bybit-api PR #533

The WebSocket client architecture saw many improvements with the newer SDKs. This PR cleans up some of the tech debt, bringing this in line with the other SDKs. Less differences -> easier long-term maintainability:

  • Bump audit dependencies
  • Add wsUrl & WS ref to open & reconnected events
  • Normalise internal emittable event structure handling via safer getFinalEmittable normaliser
  • Add authPrivateConnectionsOnConnect mechanic
  • Normalise internal logger category, optional WS API Auth flag
  • Normalise internal WS behaviour flags
  • Add internal requireConnectionReady & useNativeHeartbeats flags
  • Integrate custom reconnection hook mechanic.

Full Changelog: bybit-api compare v4.5.3...v4.6

Coinbase JavaScript SDK
v1.1.11

What's Changed

Full Changelog: coinbase-api compare v1.1.10...v1.1

BitMart JavaScript SDK
v2.3.3

What's Changed

Full Changelog: bitmart-api compare v2.3.2...v2.3

Gate JavaScript SDK
v1.4.2

What's Changed

Full Changelog: gateio-api compare v1.4.1...v1.4

View all releases here: gateio api release feed

Bitget JavaScript SDK
v3.1.4

What's Changed

Full Changelog: bitget-api compare v3.1.3...v3.1

OKX JavaScript SDK
v3.1.2

What's Changed

Full Changelog: okx-api compare v3.1.1...v3.1

Bybit JavaScript SDK
v4.5.3

What's Changed

Full Changelog: bybit-api compare v4.5.2...v4.5

Binance JavaScript SDK
v3.3.3

What's Changed

  • chore(v3.3.3): add readme migration notice by @tiagosiebler in binance PR #642

Full Changelog: binance compare v3.3.2...v3.3

KuCoin JavaScript SDK
v2.5.0

What's Changed

Full Changelog: kucoin-api compare v2.4.1...v2.5

Binance JavaScript SDK
v3.3.2

What's Changed

  • feat(v3.3.2): add enablePortfolioMarginTrading APIPermission property by @tiagosiebler in binance PR #640

Full Changelog: binance compare v3.3.1...v3.3

Binance JavaScript SDK
v3.3.1

What's Changed

  • feat(v3.3.1): add support for WS API user data stream for RSA & HMAC keys by @tiagosiebler in binance PR #639

Summary

  • Effective on 2026-02-20 07:00 (UTC), Binance's listenKey mechanism for Spot will be discontinued.
  • Users are expected to migrate to the WebSocket API user data stream.
  • This PR adds full support for RSA & HMAC keys to the WebSocket API user data stream integration.
  • Example: Siebly ws userdata wsapi
  • Binance announcement here: binance.com 80b38c8954bf4965b21eeb3c5fc6edfa

Full Changelog: binance compare v3.3.0...v3.3

Binance JavaScript SDK
v3.3.0

What's Changed

  • feat(v3.3.0): WebSocket API support for HMAC & RSA keys. Ensure Web Crypto API is used for REST request sign. Updated docs. by @tiagosiebler in binance PR #638

Full Changelog: binance compare v3.2.4...v3.3

Bybit JavaScript SDK
v4.5.2

What's Changed

  • feat: add examples for RSA authentication and faster HMAC signing in Bybit API client; enhance demo trading functionality with WebSocket and REST examples by @JJ-Cro in bybit-api PR #526
  • refactor: reorganize example files and enhance type definitions; update WebSocket event handling with type annotations by @JJ-Cro in bybit-api PR #527
  • feat(v4.5.2):enhance isDeepObjectMatch function for recursive object c… by @JJ-Cro in bybit-api PR #528

Full Changelog: bybit-api compare v4.5.1...v4.5

OKX JavaScript SDK
v3.1.1

What's Changed

  • feat: add multiple examples for REST and WebSocket API usage, including demo trading, private trading, and public API calls by @JJ-Cro in okx-api PR #175
  • feat: add new examples for REST and WebSocket API usage, including private trading and public API calls, and restructure example directories by @JJ-Cro in okx-api PR #177
  • feat(v3.1.1): add coverage directory to .gitignore, and enhance isDeepObjectMatch function with null checks and new test case for nested object matching by @JJ-Cro in okx-api PR #178

Full Changelog: okx-api compare v3.1.0...v3.1

Bitget JavaScript SDK
v3.1.3

What's Changed

  • feat: add new examples for V2 and V3 API endpoints by @JJ-Cro in bitget-api PR #124
  • refactor: update function signatures to include type annotations by @JJ-Cro in bitget-api PR #126
  • feat(v3.1.3): Improved the isDeepObjectMatch function by @JJ-Cro in bitget-api PR #127

Full Changelog: bitget-api compare v3.1.2...v3.1

Kraken JavaScript SDK
v1.0.4

What's Changed

Full Changelog: kraken-api compare v1.0.3...v1.0

Binance JavaScript SDK
v3.2.4

What's Changed

  • feat(v3.2.4): Update WSStore isDeepObjectMatch to support recursive … by @JJ-Cro in binance PR #637

Full Changelog: binance compare v3.2.3...v3.2

KuCoin JavaScript SDK
v2.4.1

What's Changed

  • refactor: reorganize example directory structure and update WebSocket examples by @JJ-Cro in kucoin-api PR #113
  • refactor: update SDK references and enhance request utility types by @JJ-Cro in kucoin-api PR #114
  • feat(v2.4.1):add tests for isDeepObjectMatch function by @JJ-Cro in kucoin-api PR #115

Full Changelog: kucoin-api compare v2.4.0...v2.4

BitMart JavaScript SDK
v2.3.2

What's Changed

  • feat: add example scripts for Spot and Futures API interactions via REST and WebSocket clients by @JJ-Cro in bitmart-api PR #76
  • feat(v2.3.2): enhance isDeepObjectMatch function for recursive object comparison, and add tests for WebSocket store functionality by @JJ-Cro in bitmart-api PR #78

Full Changelog: bitmart-api compare v2.3.1...v2.3

Coinbase JavaScript SDK
v1.1.10

What's Changed

  • feat: add examples for CBExchange and CBInternationalExchange with public and private API calls using REST and WebSocket clients by @JJ-Cro in coinbase-api PR #117
  • feat(v1.1.10): enhance isDeepObjectMatch function for recursive object comparison by @JJ-Cro in coinbase-api PR #118

Full Changelog: coinbase-api compare v1.1.9...v1.1

Gate JavaScript SDK
v1.4.1

What's Changed

  • feat: add new examples for futures and spot trading using REST and WebSocket clients by @JJ-Cro in gateio-api PR #102
  • feat(v1.4.1): enhance isDeepObjectMatch function for recursive object comparison by @JJ-Cro in gateio-api PR #104

Full Changelog: gateio-api compare v1.4.0...v1.4

View all releases here: gateio api release feed

Binance JavaScript SDK
v3.2.3

What's Changed

  • refactor: reorganize example directory structure and enhance error handling by @JJ-Cro in binance PR #635
  • chore: bump version to 3.2.3 in package.json and package-lock.json by @JJ-Cro in binance PR #636

Full Changelog: binance compare v3.2.2...v3.2

Binance JavaScript SDK
v3.2.2

What's Changed

  • fix(v3.2.2, #632): unintentional order id warning by @tiagosiebler in binance PR #634

Full Changelog: binance compare v3.2.1...v3.2

Binance JavaScript SDK
v3.2.1

What's Changed

  • feat: add multiple examples for futures and spot trading, including demo trading and websocket integration by @JJ-Cro in binance PR #631
  • fix(v3.2.1, #632): unintentional order id warning by @tiagosiebler in binance PR #633

Full Changelog: binance compare v3.2.0...v3.2

KuCoin JavaScript SDK
v2.4.0

What's Changed

  • feat: add examples for futures and spot trading using WebSocket and REST APIs by @JJ-Cro in kucoin-api PR #112
  • feat(v2.4.0): Integrate V2 (Pro) Public & Private WebSockets by @tiagosiebler in kucoin-api PR #111
  • Bump eslint to latest

Full Changelog: kucoin-api compare v2.3.6...v2.4

Bitget JavaScript SDK
v3.1.2

What's Changed

  • feat(v3.1.2): add new broker & index components v3 endpoints by @JJ-Cro in bitget-api PR #122

Full Changelog: bitget-api compare v3.1.1...v3.1

Binance JavaScript SDK
v3.2.0

What's Changed

  • fix(v3.2.0): update options ws connectivity and example, audit dependency bump by @tiagosiebler in binance PR #629

Summary

  • Old options wss url is nowhere to be seen in the API docs anymore. Only one mention in the changelog from a few years ago but no deprecation notice.
  • Shifted to the url mentioned in the docs and updated the example with the new topic formats. Seems to be working again.
  • Minor dependency bump after audit.

Full Changelog: binance compare v3.1.9...v3.2

KuCoin JavaScript SDK
v2.3.6

What's Changed

  • feat(v2.3.6): enhance API client with new endpoints and update package dependencies by @JJ-Cro in kucoin-api PR #109

Full Changelog: kucoin-api compare v2.3.5...v2.3

Bybit JavaScript SDK
v4.5.1

What's Changed

  • feat(v4.5.1): add new API endpoints for crypto loans and fiat trading, enhance existing functionality with new examples and documentation updates by @JJ-Cro in bybit-api PR #525

Full Changelog: bybit-api compare v4.5.0...v4.5

Binance JavaScript SDK
v3.1.9

What's Changed

  • feat(v3.1.9): add fiat deposit and order detail endpoints, update examples and documentation by @JJ-Cro in binance PR #627

Full Changelog: binance compare v3.1.8...v3.1

Gate JavaScript SDK
v1.4.0

What's Changed

  • fix(#99): omit url suffix when query params are empty by @tiagosiebler in gateio-api PR #100
  • feat(v1.4.0): Added otc, crossex and alpha endpoints by @JJ-Cro in gateio-api PR #98

Full Changelog: gateio-api compare v1.3.5...v1.4

View all releases here: gateio api release feed

Binance JavaScript SDK
v3.1.8

What's Changed

  • chore(): README.md template sections by @tiagosiebler in binance PR #619
  • feat: add WebSocket API algo orders & type definitions by @jinusean in binance PR #613
  • chore: update NPM publish workflow to trigger on release events and handle prerelease tags by @JJ-Cro in binance PR #621
  • refactor: update imports and add notes for Node.js-only functionality… by @JJ-Cro in binance PR #623
  • feat(): implement demo trading by @JJ-Cro in binance PR #622
  • fix(#603): correct unintentionally hardcoded boolean types, bump webpack bundle analyser, cleaning by @tiagosiebler in binance PR #624

New Contributors

Full Changelog: binance compare v3.1.7...v3.1

Bitget JavaScript SDK
v3.1.1

What's Changed

Full Changelog: bitget-api compare v3.1.0...v3.1

Coinbase JavaScript SDK
v1.1.9

What's Changed

  • chore: update NPM publish workflow to trigger on release events and handle prerelease tags by @JJ-Cro in coinbase-api PR #111
  • chore: enhance WSClientConfigurableOptions to support additional WebSocket and HTTP client options by @JJ-Cro in coinbase-api PR #112
  • chore: update .gitignore, add webpack configuration, and enhance package.json for optional dependencies by @JJ-Cro in coinbase-api PR #114
  • [Snyk] Upgrade jose from 6.1.0 to 6.1.3 by @tiagosiebler in coinbase-api PR #113
  • chore(): README.md template sections by @tiagosiebler in coinbase-api PR #115

Full Changelog: coinbase-api compare v1.1.8...v1.1

BitMart JavaScript SDK
v2.3.1

What's Changed

  • chore: enhance WSClientConfigurableOptions to support additional WebSocket and HTTP client options by @JJ-Cro in bitmart-api PR #69
  • feat: update package.json for optional webpack dependencies and add webpack configuration for bundling by @JJ-Cro in bitmart-api PR #72
  • feat(v2.3.1): add webpack, update release workflow, update wsOptions by @tiagosiebler in bitmart-api PR #73
  • chore(): README.md template sections by @tiagosiebler in bitmart-api PR #74

Full Changelog: bitmart-api compare v2.3.0...v2.3

KuCoin JavaScript SDK
v2.3.5

What's Changed

  • chore: update NPM publish workflow to trigger on release events and h… by @JJ-Cro in kucoin-api PR #104
  • chore: enhance WSClientConfigurableOptions to support additional WebSocket and HTTP client options by @JJ-Cro in kucoin-api PR #105
  • chore: update .gitignore, add webpack configuration, and enhance package.json for optional dependencies by @JJ-Cro in kucoin-api PR #106
  • feat(v2.3.5): update webpack config, update wsOptions, update release workflow, minor bumps by @tiagosiebler in kucoin-api PR #107
  • chore(): README.md template sections by @tiagosiebler in kucoin-api PR #108

Full Changelog: kucoin-api compare v2.3.4...v2.3

Gate JavaScript SDK
v1.3.5

What's Changed

  • chore: update NPM publish workflow to trigger on release events and handle prerelease tags by @JJ-Cro in gateio-api PR #93
  • feat: enhance WSClientConfigurableOptions to support additional WebSocket and HTTP client options by @JJ-Cro in gateio-api PR #94
  • feat: add Webpack configuration and update README for browser usage by @JJ-Cro in gateio-api PR #95
  • chore: bump webpack analyser by @tiagosiebler in gateio-api PR #96
  • chore(): README.md template sections by @tiagosiebler in gateio-api PR #97

Full Changelog: gateio-api compare v1.3.4...v1.3

Bitget JavaScript SDK
v3.1.0

What's Changed

  • chore(v3.0.13): remove deprecated V1 API clients and examples by @JJ-Cro in bitget-api PR #114
  • chore: update NPM publish workflow to trigger on release events and handle prerelease tags by @JJ-Cro in bitget-api PR #115
  • chore(): README.md template sections by @tiagosiebler in bitget-api PR #117
  • chore: enhance WSClientConfigurableOptions to support additional WebSocket and HTTP client options by @JJ-Cro in bitget-api PR #116
  • feat(v3.1.0): update webpack, remove deprecated V1 functionality, expand wsOptions type definition by @tiagosiebler in bitget-api PR #118

Full Changelog: bitget-api compare v3.0.12...v3.1

OKX JavaScript SDK
v3.1.0

What's Changed

  • chore: update NPM publish workflow to trigger on release events and h… by @JJ-Cro in okx-api PR #169
  • feat: update WebSocket wsOptions type, update WebPack configuration by @JJ-Cro in okx-api PR #170
  • chore(): README.md template sections by @tiagosiebler in okx-api PR #172
  • feat(v3.1.0): update WsOptions type, update WebPack config, update readme by @tiagosiebler in okx-api PR #173

Full Changelog: okx-api compare v3.0.14...v3.1

Kraken JavaScript SDK
v1.0.3

What's Changed

Full Changelog: kraken-api compare v1.0.2...v1.0

Bybit JavaScript SDK
v4.5.0

What's Changed

  • feat(v4.5.0): add support for Bybit EU REST APIs. feat: add support for other regional REST API domains by @tiagosiebler in bybit-api commit 05f0092
  • chore: enhance WSClientConfigurableOptions to support additional WebSocket and HTTP client options by @JJ-Cro in bybit-api PR #521
  • chore(): README.md template sections by @tiagosiebler in bybit-api PR #524

Full Changelog: bybit-api compare v4.4.5...v4.5

BitMart JavaScript SDK
v2.3.0

What's Changed

  • chore: update NPM publish workflow to trigger on release events and h… by @JJ-Cro in bitmart-api PR #68
  • feat(v2.3.0, #70): implement zlib deflate if compression detected in ws data by @tiagosiebler in bitmart-api PR #71

Full Changelog: bitmart-api compare v2.2.1...v2.3

Coinbase JavaScript SDK
v1.1.8

What's Changed

Full Changelog: coinbase-api compare v1.1.7...v1.1

BitMart JavaScript SDK
v2.2.1

What's Changed

Full Changelog: bitmart-api compare v2.2.0...v2.2

KuCoin JavaScript SDK
v2.3.4

What's Changed

Full Changelog: kucoin-api compare v2.3.3...v2.3

Gate JavaScript SDK
v1.3.4

What's Changed

Full Changelog: gateio-api compare v1.3.3...v1.3

Bitget JavaScript SDK
v3.0.12

What's Changed

Full Changelog: bitget-api compare v3.0.11...v3.0

Kraken JavaScript SDK
v1.0.2

What's Changed

Full Changelog: kraken-api compare v1.0.1...v1.0

OKX JavaScript SDK
v3.0.14

What's Changed

  • chore(): README.md template sections by @tiagosiebler in okx-api PR #167
  • [Snyk] Upgrade axios from 1.13.1 to 1.13.2 by @tiagosiebler in okx-api PR #166
  • chore(v3.0.14): release for updated readme by @tiagosiebler in okx-api PR #168

Full Changelog: okx-api compare v3.0.13...v3.0

Bybit JavaScript SDK
v4.4.5

What's Changed

  • [Snyk] Upgrade axios from 1.12.2 to 1.13.2 by @tiagosiebler in bybit-api PR #515
  • fix(v5-trade.ts): add basePrice property by @posokhin in bybit-api PR #517
  • chore(): README.md template sections by @tiagosiebler in bybit-api PR #519
  • fix(v4.4.5, #518, #516): add missing basePrice property for spot orders, fix return type for getP2POrderMessages by @tiagosiebler in bybit-api PR #520

New Contributors

Full Changelog: bybit-api compare v4.4.4...v4.4

Binance JavaScript SDK
v3.1.7

What's Changed

  • [Snyk] Upgrade source-map-loader from 2.0.0 to 2.0.2 by @tiagosiebler in binance PR #608
  • [Snyk] Upgrade axios from 1.12.2 to 1.13.1 by @tiagosiebler in binance PR #606
  • feat(v3.1.6): add new OPO and OPOCO order list methods, enhance USDM client with new endpoints, and update examples by @JJ-Cro in binance PR #610
  • feat: implement fiat withdraw by @NilsonCesar in binance PR #616
  • [Snyk] Upgrade axios from 1.13.1 to 1.13.2 by @tiagosiebler in binance PR #614
  • [Snyk] Upgrade webpack from 5.97.1 to 5.102.1 by @tiagosiebler in binance PR #607
  • feat(v3.1.7, #615): add feat withdraw endpoint by @tiagosiebler in binance PR #618

New Contributors

Full Changelog: binance compare v3.1.5...v3.1

OKX JavaScript SDK
v3.0.13

What's Changed

  • [Snyk] Upgrade axios from 1.12.2 to 1.13.1 by @tiagosiebler in okx-api PR #157
  • [Snyk] Upgrade ts-loader from 9.3.1 to 9.5.4 by @tiagosiebler in okx-api PR #162
  • feat(v3.0.13): add cancelRedeemETHStaking endpoint and getAssetBillsHistoric endpoint; update package dependencies by @JJ-Cro in okx-api PR #164
  • feat: enhance OrderRequest interface with additional fields for options trading and advanced TP/SL configurations by @JJ-Cro in okx-api PR #165

Full Changelog: okx-api compare v3.0.12...v3.0

Kraken JavaScript SDK
v1.0.1

What's Changed

  • feat(v1.0.1): enhance WebSocket client for level3 topic subscriptions by @JJ-Cro in kraken-api PR #33

Full Changelog: kraken-api compare v1.0.0...v1.0

BitMart JavaScript SDK
v2.2.0

What's Changed

Full Changelog: bitmart-api compare v2.1.30...v2.2

Changes

1. Updated /contract/private/trades Endpoint (2025-12-02)

Files Modified:

  • src/types/request/futures.types.ts

Changes:

  • Added optional order_id and client_order_id fields to FuturesAccountTradesRequest
  • Made symbol field optional to support querying by order ID or client order ID
  • Enables querying order trades by order ID or client order ID in addition to symbol

2. New Affiliate Rebate Endpoints (2025-12-11)

Files Modified:

  • src/types/request/futures.types.ts
  • src/types/response/futures.types.ts
  • src/FuturesClientV2.ts

New Endpoints:

  • getFuturesAffiliateRebateUser() - /contract/private/affiliate/rebate-user
    • Query contract rebate data for users (up to 60 days)
  • getFuturesAffiliateRebateApi() - /contract/private/affiliate/rebate-api
    • Query contract API rebate data (up to 60 days)

New Types:

  • FuturesAffiliateRebateUserRequest - Request type for user rebate data
  • FuturesAffiliateRebateApiRequest - Request type for API rebate data
  • FuturesAffiliateRebateUserResponse - Response type for user rebate data
  • FuturesAffiliateRebateApiResponse - Response type for API rebate data

3. Simulated Trading / Demo Environment Support (2025-11-18)

Files Modified:

  • src/types/request/futures.types.ts
  • src/types/response/futures.types.ts
  • src/lib/requestUtils.ts
  • src/lib/websocket/websocket-util.ts
  • src/types/websockets/client.ts
  • src/FuturesClientV2.ts
  • src/WebsocketClient.ts
  • README.md

REST API Changes:

  • Added useDemo option to RestClientOptions interface
  • Updated getRestBaseUrl() to support demo environment
  • Demo REST endpoint: https://demo-api-cloud-v2.bitmart.com
  • Added submitFuturesSimulatedClaim() method for simulated account claim
  • New types: SubmitFuturesSimulatedClaimRequest, FuturesSimulatedClaimResponse

WebSocket Changes:

  • Added useDemo option to WSClientConfigurableOptions interface
  • Updated WS_BASE_URL_MAP to include demo URLs for V2 Futures
  • Updated getWsUrl() method to support demo environment
  • Demo WebSocket endpoints:
    • Public: wss://openapi-wsdemo-v2.bitmart.com/api?protocol=1.1
    • Private: wss://openapi-wsdemo-v2.bitmart.com/user?protocol=1.1

Documentation:

  • Added demo trading section to README.md
  • Included examples for both REST and WebSocket clients
  • Clarified that demo environment is only available for V2 Futures

Usage Examples

New Affiliate Rebate Endpoints

// Get user rebate data
const userRebate = await futuresClient.getFuturesAffiliateRebateUser({
  cid: 1000000,
  start_time: 1000000000,
  end_time: 2000000000,
});

// Get API rebate data
const apiRebate = await futuresClient.getFuturesAffiliateRebateApi({
  cid: 1000000,
  start_time: 1000000000,
  end_time: 2000000000,
});

Updated Trades Endpoint

// Query by order ID
const trades = await futuresClient.getFuturesAccountTrades({
  order_id: 123456789,
});

// Query by client order ID
const trades = await futuresClient.getFuturesAccountTrades({
  client_order_id: 'my-order-id',
});

Demo Trading Environment

// REST API
const demoClient = new FuturesClientV2({
  apiKey: API_KEY,
  apiSecret: API_SECRET,
  apiMemo: API_MEMO,
  useDemo: true,
});

// WebSocket
const demoWsClient = new WebsocketClient({
  apiKey: API_KEY,
  apiSecret: API_SECRET,
  apiMemo: API_MEMO,
  useDemo: true, // V2 Futures only
});

// Simulated claim
await demoClient.submitFuturesSimulatedClaim({
  currency: 'USDT',
  amount: '10',
});

Breaking Changes

None - all changes are backward compatible.

Notes

  • Demo environment is only available for V2 Futures (not Spot or V1 Futures)
  • The same API keys work for both production and demo environments
  • Manual baseUrl/wsUrl override still takes precedence over useDemo flag
  • All new endpoints follow existing code patterns and conventions

Testing

  • All TypeScript types are properly defined
  • Linter checks pass
  • Code follows existing patterns and conventions
  • Documentation updated with examples
Bybit JavaScript SDK
v4.4.4

What's Changed

  • feat(v4.4.4): add missing funding cap ws ticker properties by @tiagosiebler in bybit-api PR #513

Full Changelog: bybit-api compare v4.4.3...v4.4

Bitget JavaScript SDK
v3.0.11

What's Changed

  • [Snyk] Upgrade axios from 1.12.2 to 1.13.1 by @tiagosiebler in bitget-api PR #105
  • [Snyk] Upgrade ts-loader from 9.4.1 to 9.5.4 by @tiagosiebler in bitget-api PR #107
  • chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 by @dependabot[bot] in bitget-api PR #104
  • feat(v3.0.11): add new endpoints for open interest limit and tax records, update request/response types, and include example scripts by @JJ-Cro in bitget-api PR #109

Full Changelog: bitget-api compare v3.0.10...v3.0

Gate JavaScript SDK
v1.3.3

What's Changed

  • [Snyk] Upgrade axios from 1.12.2 to 1.13.1 by @tiagosiebler in gateio-api PR #88
  • chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 by @dependabot[bot] in gateio-api PR #87
  • chore(v1.3.3): update version to 1.3.3, add getLowCapExchangeList endpoint, and deprecate certain fields in response types by @JJ-Cro in gateio-api PR #89

Full Changelog: gateio-api compare v1.3.2...v1.3

KuCoin JavaScript SDK
v2.3.3

What's Changed

  • [Snyk] Upgrade axios from 1.12.2 to 1.13.1 by @tiagosiebler in kucoin-api PR #99
  • chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 by @dependabot[bot] in kucoin-api PR #98
  • feat(v2.3.3): add new endpoints for market available inventory and kumining, update SDK documentation and examples by @JJ-Cro in kucoin-api PR #100

Full Changelog: kucoin-api compare v2.3.2...v2.3

Bybit JavaScript SDK
v4.4.3

What's Changed

  • feat(v4.4.3): new crypto loan endpoints for renewing borrow orders and an additional response field for USDT pre-market contracts. by @JJ-Cro in bybit-api PR #511
  • [Snyk] Upgrade axios from 1.12.1 to 1.12.2 by @tiagosiebler in bybit-api PR #495
  • chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 in the npm_and_yarn group across 1 directory by @dependabot[bot] in bybit-api PR #506
  • [Snyk] Upgrade webpack-bundle-analyzer from 4.3.0 to 4.10.2 by @tiagosiebler in bybit-api PR #507

Summary

  • Update Bybit V5 API client to support the latest release notes from 2025-11-25 and 2025-11-27. This includes new crypto loan endpoints for renewing borrow orders and an additional response field for USDT pre-market contracts.
    • Market Data Updates (2025-11-25)
      • Get Instruments Info: Added skipCallAuction?: boolean field
      • Get Account Instruments Info: Inherited skipCallAuction field
    • Crypto Loan - Fixed Loan (2025-11-27)
      • Added two new endpoints for renewing fixed crypto loans:

Full Changelog: bybit-api compare v4.4.2...v4.4

OKX JavaScript SDK
v3.0.12

What's Changed

  • chore(): README.md template sections by @tiagosiebler in okx-api PR #159
    • adds @siebly/kraken-api SDK to readme
  • feat(v3.0.12): add endpoint for fetching bills older than 30 days by @tiagosiebler in okx-api PR #160

Full Changelog: okx-api compare v3.0.11...v3.0

Kraken JavaScript SDK
v1.0.0

JavaScript, TypeScript & Node.js SDK for Kraken's REST APIs and WebSockets

This marks the first public release of our JavaScript, TypeScript & Node.js SDK for Kraken's REST APIs and WebSockets, published to npm as @siebly/kraken-api: @siebly on npm

Full Changelog: kraken-api on GitHub

Binance JavaScript SDK
v3.1.5

What's Changed

  • fix(v3.1.5): bump audit dependency, fix diff book stream name for futures by @tiagosiebler in binance PR #605

Full Changelog: binance compare v3.1.4...v3.1

KuCoin JavaScript SDK
v2.3.2

What's Changed

  • feat(v2.3.2): add futures copy trading cross margin, hedge mode, collateral and kyc endpoints by @JJ-Cro in kucoin-api PR #97

Full Changelog: kucoin-api compare v2.3.1...v2.3

Bitget JavaScript SDK
v3.0.10

What's Changed

  • feat(v3.0.10): add new broker and futures endpoints, and update request/response types by @JJ-Cro in bitget-api PR #103
  • [Snyk] Upgrade axios from 1.12.0 to 1.12.2 by @tiagosiebler in bitget-api PR #97

V2 REST Client Changes

Broker Endpoints (3 new endpoints)

1. getBrokerTotalCommission()
  • Endpoint: GET /api/v2/broker/total-commission
  • Rate Limit: 20 req/sec/UID
  • Description: Get total commission data with daily granularity
  • Features:
    • Data retention: 365 days (from 2025/6/1)
    • Returns spot and futures commission breakdown
    • T+1 data updates (UTC+8)
    • Supports optional date range filtering
2. getBrokerOrderCommission()
  • Endpoint: GET /api/v2/broker/order-commission
  • Rate Limit: 20 req/sec/UID
  • Description: Get order-level commission details
  • Features:
    • Data retention: 30 days (from 2025/9/1)
    • Transaction-level commission data
    • Pagination support with cursor
    • Shows only orders marked with broker channel ID
3. getBrokerRebateInfo()
  • Endpoint: GET /api/v2/broker/rebate-info
  • Rate Limit: 20 req/sec/UID
  • Description: Get real-time rebate information for a specific UID
  • Features:
    • Real-time data
    • Returns affiliation type, user level, and rebate ratios
    • Separate ratios for spot and futures trading

Futures Account Endpoints (3 new endpoints)

4. getFuturesMaxOpenableQuantity()
  • Endpoint: GET /api/v2/mix/account/max-open
  • Rate Limit: 20 req/sec/UID
  • Description: Calculate maximum openable quantity for a position
  • Features:
    • Supports both limit and market orders
    • Configurable position side (long/short)
    • Margin coin specification
5. getFuturesLiquidationPrice()
  • Endpoint: GET /api/v2/mix/account/liq-price
  • Rate Limit: 20 req/sec/UID
  • Description: Get estimated liquidation price for a position
  • Features:
    • Requires margin amount and position details
    • Supports both limit and market order types
    • Returns estimated liquidation price
6. getFuturesIsolatedSymbols()
  • Endpoint: GET /api/v2/mix/account/isolated-symbols
  • Rate Limit: 10 req/1s/UID
  • Description: Query trading pairs with isolated margin mode
  • Features:
    • Returns symbols using isolated margin
    • Product type filtering (USDT/COIN/USDC futures)

V3 REST Client Changes

Account Endpoint (1 new endpoint)

7. getMaxTransferable()
  • Endpoint: GET /api/v3/account/max-transferable
  • Rate Limit: 3 req/sec/UID
  • Permission: UTA mgt. (read)
  • Description: Get maximum transferable amount for unified account
  • Features:
    • Returns max transferable amount
    • Returns max transferable amount for borrowed coins
    • Coin-specific queries

Technical Changes

Type Definitions Added

V2 Request Types (src/types/request/v2/):

  • GetBrokerTotalCommissionRequestV2
  • GetBrokerOrderCommissionRequestV2
  • GetBrokerRebateInfoRequestV2
  • FuturesMaxOpenRequestV2
  • FuturesLiquidationPriceRequestV2
  • FuturesIsolatedSymbolsRequestV2

V2 Response Types (src/types/response/v2/):

  • BrokerTotalCommissionV2
  • BrokerOrderCommissionV2 & BrokerOrderCommissionItemV2
  • BrokerRebateInfoV2
  • FuturesMaxOpenV2
  • FuturesLiquidationPriceV2
  • FuturesIsolatedSymbolV2

V3 Request Types (src/types/request/v3/):

  • GetMaxTransferableRequestV3

V3 Response Types (src/types/response/v3/):

  • MaxTransferableV3

Files Modified

  • src/rest-client-v2.ts - Added 6 new methods with JSDoc
  • src/rest-client-v3.ts - Added 1 new method with JSDoc
  • src/types/request/v2/broker.ts - Added 3 request interfaces
  • src/types/response/v2/broker.ts - Added 3 response interfaces
  • src/types/request/v2/futures.ts - Added 3 request interfaces
  • src/types/response/v2/futures.ts - Added 3 response interfaces
  • src/types/request/v3/account.ts - Added 1 request interface
  • src/types/response/v3/account.ts - Added 1 response interface

Full Changelog: bitget-api compare v3.0.9...v3.0

Binance JavaScript SDK
v3.1.4

What's Changed

  • feat(v3.1.4): New algo orders, minor changes by @JJ-Cro in binance PR #604

1. Spot API - New symbolStatus Parameter

Affected Endpoints:

  • REST API:

    • GET /api/v3/depth
    • GET /api/v3/ticker/price
    • GET /api/v3/ticker/bookTicker
    • GET /api/v3/ticker/24hr
    • GET /api/v3/ticker/tradingDay
    • GET /api/v3/ticker
  • WebSocket API:

    • depth
    • ticker.price
    • ticker.book
    • ticker.24hr
    • ticker.tradingDay
    • ticker

Files Modified:

  • src/types/spot.ts - Added symbolStatus to TradingDayTickerParams and RollingWindowTickerParams
  • src/types/shared.ts - Added symbolStatus to OrderBookParams
  • src/main-client.ts - Added symbolStatus to method parameters
  • src/types/websockets/ws-api-requests.ts - Added symbolStatus to request interfaces

Usage:

// REST API
client.get24hrChangeStatistics({
  symbols: ['BTCUSDT'],
  symbolStatus: 'TRADING'
});

// WebSocket API
wsClient.sendWSAPIRequest('mainWSAPI', 'ticker.24hr', {
  symbol: 'BTCUSDT',
  symbolStatus: 'TRADING'
});

2. Deprecated WebSocket Stream - !ticker@arr

Change: The !ticker@arr stream has been deprecated by Binance (effective 2025-11-14).

Files Modified:

  • src/types/websockets/ws-events-formatted.ts - Added @deprecated JSDoc warning
  • src/util/typeGuards.ts - Added deprecation warning to isWsFormatted24hrTickerArray()
  • examples/WebSockets/ws-public.ts - Updated to use !miniTicker@arr instead
  • examples/WebSockets/ws-custom-parser.ts - Updated to use !miniTicker@arr instead
  • README.md - Updated examples to use recommended alternatives

Migration:

// Old (deprecated)
wsClient.subscribe(['!ticker@arr'], 'main');

// New (recommended)
wsClient.subscribe(['!miniTicker@arr'], 'main'); // For all symbols
// or
wsClient.subscribe(['btcusdt@ticker'], 'main'); // For single symbol### 3. Derivatives - `priceMatch` Enum Updates

Change: OPPONENT_10 and OPPONENT_20 are temporarily removed from place/amend flows (effective 2025-10-23).

Files Modified:

  • src/types/futures.ts - Added deprecation comment to PriceMatchMode
  • src/types/portfolio-margin.ts - Added deprecation comment to PMPriceMatch

Affected Endpoints:

  • USDⓈ-M Futures: POST/PUT /fapi/v1/order, POST/PUT /fapi/v1/batchOrders
  • COIN-M Futures: POST/PUT /dapi/v1/order, POST/PUT /dapi/v1/batchOrders
  • Portfolio Margin: POST/PUT /papi/v1/um/order, POST/PUT /papi/v1/cm/order, etc.

4. USDⓈ-M Futures - Order Expire Reason Field

Change: New er (order expire reason) field available in ORDER_TRADE_UPDATE stream (effective 2025-10-23).

Files Modified:

  • src/types/websockets/ws-events-raw.ts - Added er?: string to WsMessageFuturesUserDataOrderTradeUpdateEventRaw
  • src/types/websockets/ws-events-formatted.ts - Added orderExpireReason?: string to WsMessageFuturesUserDataTradeUpdateEventFormatted

Usage:

wsClient.on('formattedUserDataMessage', (data) => {
  if (data.eventType === 'ORDER_TRADE_UPDATE') {
    console.log('Order expire reason:', data.order.orderExpireReason);
  }
});

5. USDⓈ-M Futures - Algo Orders (Conditional Orders Migration)

Change: Conditional orders migrated to Algo Service (effective 2025-12-02).

Order Types Affected:

  • STOP_MARKET
  • TAKE_PROFIT_MARKET
  • STOP
  • TAKE_PROFIT
  • TRAILING_STOP_MARKET
5.1 New REST API Endpoints

Files Modified:

  • src/types/futures.ts - Added new Algo Order types and interfaces
  • src/usdm-client.ts - Added new REST API methods

New Methods:

// Place algo order
client.submitNewAlgoOrder({
  algoType: 'CONDITIONAL',
  symbol: 'BTCUSDT',
  side: 'SELL',
  type: 'TAKE_PROFIT',
  quantity: '0.01',
  triggerPrice: '50000',
  price: '50000',
  timeInForce: 'GTC'
});

// Cancel algo order
client.cancelAlgoOrder({
  algoId: 12345
});

// Cancel all algo open orders
client.cancelAllAlgoOpenOrders({
  symbol: 'BTCUSDT'
});

// Query algo order
client.getAlgoOrder({
  algoId: 12345
});

// Query open algo orders
client.getOpenAlgoOrders({
  symbol: 'BTCUSDT'
});

// Query all algo orders
client.getAllAlgoOrders({
  symbol: 'BTCUSDT'
});

New Endpoints:

  • POST /fapi/v1/algoOrder - Place an algo order
  • DELETE /fapi/v1/algoOrder - Cancel an algo order
  • DELETE /fapi/v1/algoOpenOrders - Cancel all open algo orders
  • GET /fapi/v1/algoOrder - Query an algo order
  • GET /fapi/v1/openAlgoOrders - Query algo open order(s)
  • GET /fapi/v1/allAlgoOrders - Query algo order(s)
5.2 New WebSocket Events

Files Modified:

  • src/types/websockets/ws-events-raw.ts - Added WsMessageFuturesUserDataAlgoUpdateRaw
  • src/types/websockets/ws-events-formatted.ts - Added WsMessageFuturesUserDataAlgoUpdateFormatted

New Event Type: ALGO_UPDATE

Usage:

// Raw event
wsClient.on('message', (data) => {
  if (data.e === 'ALGO_UPDATE') {
    console.log('Algo Order Update:', data.ao);
  }
});

// Formatted event
wsClient.on('formattedUserDataMessage', (data) => {
  if (data.eventType === 'ALGO_UPDATE') {
    console.log('Algo Order Update:', data.algoOrder);
  }
});

6. New TypeScript Types and Interfaces

Added to src/types/futures.ts:

// Types
export type AlgoOrderType = 'CONDITIONAL';
export type AlgoOrderStatus = 'NEW' | 'CANCELED' | 'TRIGGERED' | 'EXPIRED' | 'FINISHED';

// Interfaces
export interface NewAlgoOrderParams { /* ... */ }
export interface AlgoOrderResponse { /* ... */ }
export interface CancelAlgoOrderParams { /* ... */ }
export interface CancelAlgoOrderResponse { /* ... */ }
export interface CancelAllAlgoOpenOrdersResponse { /* ... */ }
export interface QueryAlgoOrderParams { /* ... */ }
export interface QueryAlgoOrderResponse { /* ... */ }
export interface QueryOpenAlgoOrdersParams { /* ... */ }
export interface QueryAllAlgoOrdersParams { /* ... */ }

Breaking Changes

None. All changes are backwards compatible:

  • New optional parameters won't affect existing code
  • Deprecated streams still work (will be removed by Binance at a later date)
  • Deprecated priceMatch values temporarily removed by Binance but kept in types for compatibility
  • New methods and types are additive

Migration Guide

For !ticker@arr Stream Users

// Before
wsClient.subscribe(['!ticker@arr'], 'main');

// After (recommended)
wsClient.subscribe(['!miniTicker@arr'], 'main');
// or for single symbol
wsClient.subscribe(['btcusdt@ticker'], 'main');### For Conditional Orders → Algo Orders

// Old conditional order (still works but will migrate to algo service)
client.submitNewOrder({
  symbol: 'BTCUSDT',
  side: 'SELL',
  type: 'TAKE_PROFIT',
  quantity: '0.01',
  stopPrice: '50000',
  price: '50000',
  timeInForce: 'GTC'
});

// New algo order (recommended for conditional orders after 2025-12-02)
client.submitNewAlgoOrder({
  algoType: 'CONDITIONAL',
  symbol: 'BTCUSDT',
  side: 'SELL',
  type: 'TAKE_PROFIT',
  quantity: '0.01',
  triggerPrice: '50000', // Note: stopPrice → triggerPrice
  price: '50000',
  timeInForce: 'GTC'
});

Full Changelog: binance compare v3.1.3...v3.1

OKX JavaScript SDK
v3.0.11

What's Changed

  • feat(v3.0.11): add new API endpoints for trading configuration and delta neutral strategy by @JJ-Cro in okx-api PR #155
  • [Snyk] Upgrade axios from 1.12.0 to 1.12.2 by @tiagosiebler in okx-api PR #145
  • fix(v3.0.11): failing test from unnecessary parameter, WS orders-algo channel unintentionally skipping auth guard, bump lockfile dependencies by @tiagosiebler in okx-api PR #156

#155 brought in new endpoints and types relating to:

  • Delta Neutral Strategy endpoints and types
  • Enhanced deposit history tracking with masked sensitive data
  • Position limit parameters for instruments
  • Updated announcement types with business publish time
  • Enhanced interest rate and loan quota types

Full Changelog: okx-api compare v3.0.10...v3.0

Gate JavaScript SDK
v1.3.2

What's Changed

  • feat(v1.3.2): update version to 1.3.2, add new futures price-triggered order update endpoint by @JJ-Cro in gateio-api PR #86

Full Changelog: gateio-api compare v1.3.1...v1.3


🆕 New Endpoints

1. Update Futures Price-Triggered Order

  • Method: updateFuturesPriceTriggeredOrder()
  • Endpoint: PUT /futures/{settle}/price_orders/{order_id}
  • Description: Update a single price-triggered order

2. Get Account Main Keys

  • Method: getAccountMainKeys()
  • Endpoint: GET /account/main_keys
  • Description: Query all main account API key information

📝 Type Updates

New Types Added

  • AccountMainKey - Response interface for main account API keys
  • DepositRecord - Dedicated interface for deposit records with new status values
  • UpdateFuturesPriceTriggeredOrderReq - Request parameters for updating price-triggered orders

Updated Types

  • WithdrawalRecord - Enhanced status field descriptions with detailed comments
  • SubmitFuturesTriggeredOrderReq - Made price and rule fields required in trigger object
  • DepositRecord - New status values: BLOCKED, DEP_CREDITED (removed FINAL)
  • CurrencyChain - Documented is_deposit_disabled field

🔄 Method Updates

Return Type Changes

  • getDepositRecords() - Now returns DepositRecord[] instead of WithdrawalRecord[]

Documentation Updates

  • cancelWithdrawal() - Documented block_number field in response
  • getCurrencyChains() - Added note about low liquidity currencies
  • getWithdrawalStatus() - Added note about API limitations for low liquidity tokens
  • getSpotCurrencyPairs() / getSpotCurrencyPair() - Marked fee field as deprecated
  • submitFuturesPriceTriggeredOrder() - Documented required fields
  • submitEth2Swap() - Updated terminology (ETH2 → GTETH)
  • getEth2RateHistory() - Updated terminology (ETH2 → GTETH)
  • getUnifiedAccountInfo() - Updated field descriptions for cross_balance and iso_balance

✅ Changes Summary

  • ✅ 2 new endpoints implemented
  • ✅ 3 new TypeScript interfaces added
  • ✅ 4 existing interfaces updated
  • ✅ 11 methods updated with improved documentation
  • ✅ All imports and exports properly configured
  • ✅ Zero linter errors
  • ✅ Full TypeScript type safety maintained

📋 Breaking Changes

Required Field Updates

  • SubmitFuturesTriggeredOrderReq.trigger.price - Now required (was optional)
  • SubmitFuturesTriggeredOrderReq.trigger.rule - Now required (was optional)
  • SubmitFuturesTriggeredOrderReq.initial.price - Now required (was optional)

Return Type Changes

  • getDepositRecords() return type changed from WithdrawalRecord[] to DepositRecord[]

🔗 Related Changelog Versions

  • v4.105.28 - Withdrawal block_number field, unified account field updates
  • v4.105.27 - Status field description improvements
  • v4.105.24 - Low liquidity currency documentation
  • v4.105.20 - Deposit record enhancements
  • v4.105.19 - ETH2 to GTETH terminology updates
  • v4.105.18 - New update price-triggered order endpoint
  • v4.105.11 - Main account keys endpoint, fee field deprecation
  • v4.105.10 - Required fields in futures price-triggered orders
Bybit JavaScript SDK
v4.4.2

What's Changed

  • feat(v4.4.2): Update full release notes since 1st October by @JJ-Cro in bybit-api PR #504

Market Data APIs

  • Get Tickers (Linear/Inverse): Added new response fields basisRateYear, fundingIntervalHour, and fundingCap for enhanced funding rate information

Account APIs

  • Get Transaction Log: Added optional transSubType parameter to filter transaction logs by sub-type (e.g., "movePosition" for Move Position logs)

Spot Margin Trade (UTA) APIs - New Endpoints

  • Manual Borrow (POST /v5/account/borrow): New endpoint for UTA manual borrow operations

    • Added ManualBorrowParamsV5 request type
    • Added ManualBorrowResultV5 response type
  • Get Max Borrowable Amount (GET /v5/spot-margin-trade/max-borrowable): New endpoint to query maximum borrowable amount for a currency

    • Added GetMaxBorrowableAmountParamsV5 request type
    • Added MaxBorrowableAmountV5 response type
  • Get Position Tiers (GET /v5/spot-margin-trade/position-tiers): New endpoint to get loan position risk information

    • Added GetPositionTiersParamsV5 request type
    • Added PositionTierV5 and CurrencyPositionTiersV5 response types
  • Get Coin State (GET /v5/spot-margin-trade/coinstate): New endpoint to get currency leverage information

    • Added GetCoinStateParamsV5 request type
    • Added CoinStateV5 response type
  • Get Available Amount to Repay (GET /v5/spot-margin-trade/repayment-available-amount): New endpoint to query available amount for repayment

    • Added GetAvailableAmountToRepayParamsV5 request type
    • Added AvailableAmountToRepayV5 response type
  • Manual Repay Without Asset Conversion (POST /v5/account/no-convert-repay): New endpoint for manual repayment without asset conversion

    • Added ManualRepayWithoutConversionParamsV5 request type
    • Added ManualRepayWithoutConversionResultV5 response type
    • Note: Repayment is prohibited between 04:00 and 05:30 per hour

Spot Margin Trade - Updated Endpoints

  • Set Leverage (POST /v5/spot-margin-trade/set-leverage): Enhanced to support optional currency parameter for setting leverage by currency
    • Added SetSpotMarginLeverageParamsV5 type
    • Maintains backward compatibility

Code Quality Improvements

  • Get Affiliate User List: Extracted inline type definition to proper exported interface GetAffiliateUserListParamsV5 for better type reusability and maintainability

Type Definitions

  • All new request and response types are properly exported from their respective type definition files
  • Types are fully documented with JSDoc comments where applicable
  • All changes maintain backward compatibility

Full Changelog: bybit-api compare v4.4.1...v4.4

Coinbase JavaScript SDK
v1.1.7

Previously running a JSON.stringify call within the WebsocketAPIClient exception handler could in rare circumstances lead to a circular reference. This handles that scenario in a safer way.

What's Changed

Full Changelog: coinbase-api compare v1.1.6...v1.1

OKX JavaScript SDK
v3.0.10

Previously running a JSON.stringify call within the WebsocketAPIClient exception handler could in rare circumstances lead to a circular reference. This handles that scenario in a safer way.

What's Changed

  • chore(3.0.10): update version to 3.0.10 and improve error handling in WebsocketAPIClient by @JJ-Cro in okx-api PR #154

Full Changelog: okx-api compare v3.0.9...v3.0

KuCoin JavaScript SDK
v2.3.1

Previously running a JSON.stringify call within the WebsocketAPIClient exception handler could in rare circumstances lead to a circular reference. This handles that scenario in a safer way.

What's Changed

Full Changelog: kucoin-api compare v2.3.0...v2.3

Gate JavaScript SDK
v1.3.1

Previously running a JSON.stringify call within the WebsocketAPIClient exception handler could in rare circumstances lead to a circular reference. This handles that scenario in a safer way.

What's Changed

  • chore(1.3.1): update version to 1.3.1 and improve error handling in WebsocketAPIClient by @JJ-Cro in gateio-api PR #85

Full Changelog: gateio-api compare v1.3.0...v1.3

Bybit JavaScript SDK
v4.4.1

Previously running a JSON.stringify call within the WebsocketAPIClient exception handler could in rare circumstances lead to a circular reference. This handles that scenario in a safer way.

What's Changed

Full Changelog: bybit-api compare v4.4.0...v4.4

Bitget JavaScript SDK
v3.0.9

Previously running a JSON.stringify call within the WebsocketAPIClient exception handler could in rare circumstances lead to a circular reference. This handles that scenario in a safer way.

What's Changed

  • chore(3.0.9): Update wsapi error handling, bump version by @JJ-Cro in bitget-api PR #102

Full Changelog: bitget-api compare v3.0.8...v3.0

OKX JavaScript SDK
v3.0.9

What's Changed

  • Refactor attachAlgoOrds to use detailed structure by @dothanhlongtld in okx-api PR #152
  • fix(v3.0.9, #152): update type for attachAlgoOrds parameter by @tiagosiebler in okx-api PR #153

New Contributors

Full Changelog: okx-api compare v3.0.8...v3.0

Bitget JavaScript SDK
v3.0.8

What's Changed

  • chore(): upd getFuturesHistoricFundingRates and getFuturesCurrentFundingRate responses by @lutogin in bitget-api PR #100
  • fix(v3.0.8, #100): update getFuturesHistoricFundingRates and getFuturesCurrentFundingRate return types by @tiagosiebler in bitget-api PR #101

New Contributors

Full Changelog: bitget-api compare v3.0.7...v3.0

Binance JavaScript SDK
v3.1.3

What's Changed

  • fix(v3.1.3, fixes #600): handle risk of circular reference in WS API Client exception handler by @tiagosiebler in binance PR #601

Full Changelog: binance compare v3.1.2...v3.1

OKX JavaScript SDK
v3.0.8

What's Changed

New Contributors

Full Changelog: okx-api compare v3.0.7...v3.0

Binance JavaScript SDK
v3.1.2

What's Changed

  • Minor breaking change from previous version: renamed diff book event interface to WsMessageDiffBookDepthEventFormatted.
  • Add type guard isWsDiffBookDepthEventFormatted for depthUpdate event.

Full Changelog: binance compare v3.1.1...v3.1

Binance JavaScript SDK
v3.1.1

What's Changed

  • chore(): update Readme to include portfolio margin examples by @JJ-Cro in binance PR #592
  • [Snyk] Upgrade axios from 1.12.0 to 1.12.2 by @tiagosiebler in binance PR #591
  • feat(v3.1.1): add missing depth update formatted and raw event types and properties by @tiagosiebler in binance PR #596
  • Bump license year.

Full Changelog: binance compare v3.1.0...v3.1

Gate JavaScript SDK
v1.3.0

What's Changed

  • feat: disable request parameter encoding, add unified batch max borrowable endpoint by @tiagosiebler in gateio-api PR #84
  • fixes sign errors seen when request parameter includes comma

Full Changelog: gateio-api compare v1.2.10...v1.3

Bybit JavaScript SDK
v4.4.1-beta.0
Pre-release

What's Changed

  • feat: beta release mechanic by @tiagosiebler in bybit-api PR #498
  • fix(v4.4.1-beta.0): improved guard for missing web crypto api by @tiagosiebler in bybit-api PR #499
    • ^ was reverted

Full Changelog: bybit-api compare v4.4.0...v4.4.1 beta

Coinbase JavaScript SDK
v1.1.6

What's Changed

Full Changelog: coinbase-api compare v1.1.5...v1.1

Bybit JavaScript SDK
v4.4.0

What's Changed

  • fix(v4.4.0): Integrate request build & sign for p2p uploads, fixes #493 by @tiagosiebler in bybit-api PR #497

Full Changelog: bybit-api compare v4.3.2...v4.4

OKX JavaScript SDK
v3.0.7

What's Changed

  • feat(v3.0.7): Expand RFQ types and settle/fee endpoints by @JJ-Cro in okx-api PR #144

Full Changelog: okx-api compare v3.0.6...v3.0

Bybit JavaScript SDK
v4.3.2

What's Changed

  • feat(v4.3.2): add rate limit, rpi orderbook & adl endpoints by @JJ-Cro in bybit-api PR #492
  • Add a new response field cumFeeDetail to return trading fee details instead of cumExecFee (resolves #491)

Full Changelog: bybit-api compare v4.3.1...v4.3

Bitget JavaScript SDK
v3.0.7

What's Changed

Full Changelog: bitget-api compare v3.0.6...v3.0

KuCoin JavaScript SDK
v2.3.0

What's Changed

The UnifiedAPIClient provides access to KuCoin's Unified API endpoints, which offer streamlined market data access across Spot, Futures, and Margin trading products. It doesn't serve a purpose of a UTA account(Unified trading account) - but it is a new generation of API endpoints generalised for all trading products.

Full Changelog: kucoin-api compare v2.2.0...v2.3

Gate JavaScript SDK
v1.2.10

What's Changed

  • [Snyk] Security upgrade axios from 1.10.0 to 1.12.0 by @tiagosiebler in gateio-api PR #80
  • fix: axios build error by @tiagosiebler in gateio-api PR #81
  • feat(v1.2.10): add new futures endpoints and update request/response types by @JJ-Cro in gateio-api PR #82

Full Changelog: gateio-api compare v1.2.9...v1.2

Binance JavaScript SDK
v3.1.0

Summary

In niche cases, WS events from Binance include orderIds with very large numbers. These cannot be safely represented as integers (larger than Number.MAX_SAFE_INTEGER. In most cases this might not affect you, but for those that do depend on these properties (see #208), this provides an alternative.

A custom parser can now be injected via the customParseJSONFn parameter. This allows alternatives such as using RegEx to wrap orderId fields in a string or using a 3rd party big-number safe JSON.parsing library, to parse incoming WebSocket events. For detailed examples, refer to ws-custom-parser.ts in the examples folder.

No breaking changes are expected, as the custom parser method is only used if provided via the customParseJSONFn method.

What's Changed

  • [Snyk] Security upgrade axios from 1.10.0 to 1.12.0 by @tiagosiebler in binance PR #585
  • feat(ws): add parseWsMessageFn to configure JSON parsing by @merovinh in binance PR #588
  • feat(v3.1.0, #588): introduce custom JSON parser hook & small refinements by @tiagosiebler in binance PR #589
  • feat(v3.1.0, #588): introduce custom JSON parser hook & small refinements by @tiagosiebler in binance PR #590

New Contributors

Full Changelog: binance compare v3.0.9...v3.1

BitMart JavaScript SDK
v2.1.30

What's Changed

Full Changelog: bitmart-api compare v2.1.29...v2.1

Bitget JavaScript SDK
v3.0.6

What's Changed

Full Changelog: bitget-api compare v3.0.5...v3.0

KuCoin JavaScript SDK
v2.2.0

What's Changed

  • feat(v2.2.0, #67): Integrate WebSocket API for sending orders & commands via WebSocket events by @tiagosiebler in kucoin-api PR #84
  • feat(): added wsapi client, examples and all types by @JJ-Cro in kucoin-api PR #90
  • feat(): Added examples by @JJ-Cro in kucoin-api PR #91
  • Bumped ws package to newer version

Breaking Changes

  • No breaking changes with this release. Much of the architecture was already prepared for this enhancement.

WebSocket API

This release introduces a new WebSocket class called WebsocketAPIClient. This wraps around the newly integrated sendWSAPIRequest command from the WebsocketClient, to send commands & orders via a persisted WebSocket connection.

Below is an example showing how easy it is to use the WebSocket API without any concern for the complexity of managing WebSockets. For more detailed demonstration, take a look at the examples/WebSockets/ws-api-client.ts example:

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

// or, if you prefer `require()`:
// const { DefaultLogger, WebsocketAPIClient } = require('kucoin-api');

const customLogger = {
  ...DefaultLogger,
  // For a more detailed view of the WebsocketClient, enable the `trace` level by uncommenting the below line:
  // trace: (...params) => console.log(new Date(), 'trace', ...params),
};

const account = {
  key: process.env.API_KEY || 'keyHere',
  secret: process.env.API_SECRET || 'secretHere',
  passphrase: process.env.API_PASSPHRASE || 'apiPassPhraseHere', // This is NOT your account password
};

const wsClient = new WebsocketAPIClient(
  {
    apiKey: account.key,
    apiSecret: account.secret,
    apiPassphrase: account.passphrase,

    // 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
  },
  // customLogger, // optional: uncomment this to inject a custom logger
);

// Make WebSocket API calls, very similar to a REST API:

wsClient
  .submitNewSpotOrder({
    side: 'buy',
    symbol: 'BTC-USDT',
    type: 'limit',
    price: '150000',
    size: '0.0001',
  })
  .then((syncSpotOrderResponse) => {
    console.log('Sync spot order response:', syncSpotOrderResponse);
  })
  .catch((e) => {
    console.log('Sync spot order error:', e);
  });

wsClient
  .submitFuturesOrder({
    clientOid: 'futures-test-' + Date.now(),
    side: 'buy',
    symbol: 'XBTUSDTM',
    marginMode: 'CROSS',
    type: 'limit',
    price: '1000',
    qty: '0.01',
    leverage: 10,
    positionSide: 'LONG', // needed if trading two-way (hedge) position mode
  })
  .then((futuresOrderResponse) => {
    console.log('Futures order response:', futuresOrderResponse);
  })
  .catch((e) => {
    console.log('Futures order error:', e);
  });

Full Changelog: kucoin-api compare v2.1.23...v2.2

Binance JavaScript SDK
v3.0.9

What's Changed

  • feat(v3.0.9): update package version and add soft staking endpoints with examples, add margin auto cancel param by @JJ-Cro in binance PR #586
  • fix: add missing dev dependency for CI tests by @tiagosiebler in binance PR #587

Full Changelog: binance compare v3.0.8...v3.0

KuCoin JavaScript SDK
v2.1.23

What's Changed

  • feat(v2.1.23): Add updatePositionMode endpoint and enhance futures response types by @JJ-Cro in kucoin-api PR #89

Full Changelog: kucoin-api compare v2.1.22...v2.1

OKX JavaScript SDK
v3.0.6

What's Changed

  • feat(v3.0.6): handle reconnection notice automatically, allow authenticating for market data by @tiagosiebler in okx-api PR #142
  • Detects & tags books-l2-tbt and books50-l2-tbt requests as "auth required". Automatically authenticates public connection when these topics are requested. Resolves #140.
  • Automatically handle "connection will be closed soon for service upgrade" through automatic reconnect. Resolves #141.

Full Changelog: okx-api compare v3.0.5...v3.0

Bybit JavaScript SDK
v4.3.1

What's Changed

  • feat(v4.3.1): add new endpoints for limit price behavior and new delivery price by @JJ-Cro in bybit-api PR #485
  • feat(v4.3.1): add new endpoints for limit price behavior and new deli… by @JJ-Cro in bybit-api PR #489

Full Changelog: bybit-api compare v4.3.0...v4.3

Binance JavaScript SDK
v3.0.8

What's Changed

  • feat(v3.0.8): add missing endpoints, minor updates by @JJ-Cro in binance PR #581

Full Changelog: binance compare v3.0.7...v3.0

KuCoin JavaScript SDK
v2.1.22

What's Changed

  • feat(v2.1.22): Added new margin trading endpoints and request/response types for borrow interest rates and margin stop orders. by @JJ-Cro in kucoin-api PR #86

Full Changelog: kucoin-api compare v2.1.21...v2.1

Bybit JavaScript SDK
v4.3.0

Summary

Disabled by default to prevent any breaking changes. Enable it by passing this boolean in the REST client constructor:

const client = new RestClientV5({
  key: key,
  secret: secret,
  throwExceptions: true,
});

Any retCode !== 0 response will be thrown in full, if enabled.

What's Changed

  • feat(#437): add config to throw REST API exceptions automatically by @tiagosiebler in bybit-api PR #483

Full Changelog: bybit-api compare v4.2.7...v4.3

Gate JavaScript SDK
v1.2.9

What's Changed

  • fix: correct testnet WebSocket URL for perpFuturesUSDTV4 by @fireflies1988 in gateio-api PR #77
  • chore(): bump package lock after #77 by @tiagosiebler in gateio-api PR #78

New Contributors

Full Changelog: gateio-api compare v1.2.8...v1.2

Bybit JavaScript SDK
v4.2.7

What's Changed

  • feat(v4.2.7): force ws request batching into groups of max 500 topics per batch by @tiagosiebler in bybit-api PR #479

Full Changelog: bybit-api compare v4.2.6...v4.2

Binance JavaScript SDK
v3.0.7

What's Changed

Full Changelog: binance compare v3.0.6...v3.0

Bybit JavaScript SDK
v4.2.6
  • Fixes deduping workflow introduced in previous release

Full Changelog: bybit-api compare v4.2.5...v4.2

Bybit JavaScript SDK
v4.2.5

What's Changed

  • fix(v4.2.5, #477): automatically dedupe topic requests if already subscribed by @tiagosiebler in bybit-api PR #478

This provides convenience in calling the subscribe method, where it will only emit subscribe events to bybit for the topics that haven't been subscribed to yet, preventing the scenario in #477 (which will cause non-duplicate topic subs to fail)

Full Changelog: bybit-api compare v4.2.4...v4.2

OKX JavaScript SDK
v3.0.5

What's Changed

  • chore(): update old example with a working one by @JJ-Cro in okx-api PR #138
  • fix(v3.0.5, #137): handling for mixed-auth connections should only auth once private topic is requested by @tiagosiebler in okx-api PR #139

Primarily fixes handling for topics on the business WS connection, where only some require auth.

Full Changelog: okx-api compare v3.0.4...v3.0

OKX JavaScript SDK
v3.0.4

What's Changed

  • fix(v3.0.4, #135): ws api response data generic by @tiagosiebler in okx-api PR #136

Full Changelog: okx-api compare v3.0.3...v3.0

OKX JavaScript SDK
v3.0.3

What's Changed

  • fix(v3.0.3, fixes #133): fixes demo wskey resolution for private wss by @tiagosiebler in okx-api PR #134

Full Changelog: okx-api compare v3.0.2...v3.0

OKX JavaScript SDK
v3.0.2

What's Changed

  • fix(v3.0.2, #131): fix market resolution in new ws client by @tiagosiebler in okx-api PR #132

Full Changelog: okx-api compare v3.0.1...v3.0

Binance JavaScript SDK
v3.0.6

There are documented limits to how many topics binance allows on a single connection. There are also limits to how many topics can be subscribed to in a single request(ws event). This release introduces two core changes:

  • Warnings if you are subscribed to more than 200 topics on one connection. Recommendation is to instance multiple WS clients (1 instance per 200 topics on one connection).
  • Upstream WS requests (subscribing to topics) are now automatically batched into groups of 250 topics, in an attempt to stay within per-request message limits.

What's Changed

  • feat(v3.0.6): enhance WebSocket client with topic subscription warnings by @JJ-Cro in binance PR #578

Full Changelog: binance compare v3.0.5...v3.0

OKX JavaScript SDK
v3.0.1

WebSocket API & Hybrid ESM/CJS

Introducing the next major release, finally bringing full support for OKX's WebSocket API in a convenient REST-like API wrapper.

Key Pull Requests

  • feat(v3.0.0): introduce WebSocket API, upgrade sign to use Web Crypto API, misc WebSocket upgrades, bump build to Node LTS by @tiagosiebler in okx-api PR #123
  • feat(): upgrade SDK to hybrid esm/cjs module. update import/export statements for new structure by @tiagosiebler in okx-api PR #126
  • Update endpoint map & llms by @JJ-Cro in okx-api PR #127
  • chore(v3.0.1): bump version for release by @tiagosiebler in okx-api PR #130

Summary

  • Upgraded SDK to hybrid ESM/CJS module (via #126). No breaking changes expected from this.
  • Introduce full support for the OKX WebSocket API, including a new dedicated WebsocketAPIClient for a REST-like integration with OKX's WebSocket API. Check the examples folder for demonstrations!
  • Bump node build version to LTS.
  • Bump dependencies.
  • Upgrade underlying BaseWSClient architecture, to catch up with upgrades from other SDKs.
  • Transition to Web Crypto API for sign. This has better compatibility across browsers than node's native crypto module. For latency sensitive users, you can inject a custom sign method to continue using Node's native crypto for request sign. See the examples/auth/fasterHmacSign.ts example for a demonstration.
  • Introduced customSignMessageFn parameter (REST & WS) to inject custom sign method
    • This can be used by latency sensitive users to revert to Node's slightly faster createHmac sign method. See the fasterHmacSign example in examples/auth/ for a demonstration.
  • Split CI tests to run separately (first public then private).

Breaking Changes

This upgrade introduces the following breaking changes:

  • REST Client constructor options simplified, see #111 for more details.
  • The demo market for REST & WS has been removed.
    • Demo trading is now accessed via a demoTrading: true parameter (for REST & WS).
    • Added hard error to prevent any accidental usage of "market: demo" for non-typescript users.
  • WS Client options
    • Type has been updated to point to RestClientOptions.
    • To set a custom "agent" parameter, use wsOptions in the WSClientOptions instead.
  • The injectable custom logger has been simplified to 3 basic logging levels, consistent with our other SDKs.
    • error event has been refactored to exception
  • Not a breaking change but the underlying sign is now generated using Web Crypto API. More universal but slightly slower than node's native crypto module. Refer to fasterHmacSign above, if you're latency sensitive.

Full Changelog: okx-api compare v2.0.8...v3.0

OKX JavaScript SDK
v3.0.0

WebSocket API & Hybrid ESM/CJS

Introducing the next major release, finally bringing full support for OKX's WebSocket API in a convenient REST-like API wrapper.

Key Pull Requests

  • feat(v3.0.0): introduce WebSocket API, upgrade sign to use Web Crypto API, misc WebSocket upgrades, bump build to Node LTS by @tiagosiebler in okx-api PR #123
  • feat(): upgrade SDK to hybrid esm/cjs module. update import/export statements for new structure by @tiagosiebler in okx-api PR #126
  • Update endpoint map & llms by @JJ-Cro in okx-api PR #127

Summary

  • Upgraded SDK to hybrid ESM/CJS module (via #126). No breaking changes expected from this.
  • Introduce full support for the OKX WebSocket API, including a new dedicated WebsocketAPIClient for a REST-like integration with OKX's WebSocket API. Check the examples folder for demonstrations!
  • Bump node build version to LTS.
  • Bump dependencies.
  • Upgrade underlying BaseWSClient architecture, to catch up with upgrades from other SDKs.
  • Transition to Web Crypto API for sign. This has better compatibility across browsers than node's native crypto module. For latency sensitive users, you can inject a custom sign method to continue using Node's native crypto for request sign. See the examples/auth/fasterHmacSign.ts example for a demonstration.
  • Introduced customSignMessageFn parameter (REST & WS) to inject custom sign method
    • This can be used by latency sensitive users to revert to Node's slightly faster createHmac sign method. See the fasterHmacSign example in examples/auth/ for a demonstration.
  • Split CI tests to run separately (first public then private).

Breaking Changes

This upgrade introduces the following breaking changes:

  • REST Client constructor options simplified, see #111 for more details.
  • The demo market for REST & WS has been removed.
    • Demo trading is now accessed via a demoTrading: true parameter (for REST & WS).
    • Added hard error to prevent any accidental usage of "market: demo" for non-typescript users.
  • WS Client options
    • Type has been updated to point to RestClientOptions.
    • To set a custom "agent" parameter, use wsOptions in the WSClientOptions instead.
  • The injectable custom logger has been simplified to 3 basic logging levels, consistent with our other SDKs.
    • error event has been refactored to exception
  • Not a breaking change but the underlying sign is now generated using Web Crypto API. More universal but slightly slower than node's native crypto module. Refer to fasterHmacSign above, if you're latency sensitive.

Full Changelog: okx-api compare v2.0.8...v3.0

Bybit JavaScript SDK
v4.2.4

What's Changed

Full Changelog: bybit-api compare v4.2.3...v4.2

Coinbase JavaScript SDK
v1.1.5

What's Changed

Transitioned the release workflow to a token-less trusted publisher workflow, for a more secure way to publish new releases to npm.

Historic Changelog

  • feat(v1.1.0): Add support for ES256 & Ed25519 keys via jose library by @tiagosiebler in coinbase-api PR #84
  • chore(v1.1.1): add llms.txt for AI optimization, update tsconfig, bump version, bump dependencies by @JJ-Cro in coinbase-api PR #89
  • chore(v1.1.2): update README for improved documentation by @JJ-Cro in coinbase-api PR #90
  • [Snyk] Upgrade nanoid from 3.3.8 to 3.3.11 by @tiagosiebler in coinbase-api PR #92
  • [Snyk] Upgrade axios from 1.8.2 to 1.10.0 by @tiagosiebler in coinbase-api PR #91
  • chore(v1.1.3): update README to include 'Used By' section and improve formatting, bump nanoid & axios by @JJ-Cro in coinbase-api PR #93
  • chore(1.1.4): update intentional wsclose cleanup by @JJ-Cro in coinbase-api PR #94
  • chore: update GitHub Actions workflow for NPM publishing by @JJ-Cro in coinbase-api PR #95
  • chore(v1.1.5): bump version to 1.1.5 in package.json and package-lock… by @JJ-Cro in coinbase-api PR #96

Full Changelog: coinbase-api on GitHub

BitMart JavaScript SDK
v2.1.29

What's Changed

Transitioned the release workflow to a token-less trusted publisher workflow, for a more secure way to publish new releases to npm.

Historic Changelog

  • feat(v2.1.23): bumped eslint and typescript, fixed all linting errors by @JJ-Cro in bitmart-api PR #46
  • chore(v2.1.24): bump node version to LTS, update dependencies by @JJ-Cro in bitmart-api PR #47
  • chore(v2.1.25): update tsconfig to error nonrelative imports, add llms.txt, bump version by @JJ-Cro in bitmart-api PR #48
  • chore(v2.1.26): update Readme to match modern look and sync with other SDKs by @JJ-Cro in bitmart-api PR #49
  • [Snyk] Upgrade axios from 1.8.2 to 1.10.0 by @tiagosiebler in bitmart-api PR #50
  • [Snyk] Upgrade ws from 8.17.1 to 8.18.3 by @tiagosiebler in bitmart-api PR #51
  • feat(v2.1.27): add Web Crypto API support check and update README, bump axios & ws by @JJ-Cro in bitmart-api PR #52
  • chore(v2.1.28): update intentional WSClose cleanup by @JJ-Cro in bitmart-api PR #53
  • chore: update GitHub Actions workflow for NPM publishing by @JJ-Cro in bitmart-api PR #54
  • chore: bump version to 2.1.29 in package.json and package-lock.json by @JJ-Cro in bitmart-api PR #55

Full Changelog: bitmart-api on GitHub

KuCoin JavaScript SDK
v2.1.21

What's Changed

Transitioned the release workflow to a token-less trusted publisher workflow, for a more secure way to publish new releases to npm.

Historic Changelog

  • chore(v2.1.17): update readme for modern and performant look by @JJ-Cro in kucoin-api PR #74
  • fix(v2.1.18, #77): delete params passed as query string by @tiagosiebler in kucoin-api PR #78
  • feat(2.1.19): added cross margin new endpoint by @JJ-Cro in kucoin-api PR #79
  • [Snyk] Upgrade nanoid from 3.3.8 to 3.3.11 by @tiagosiebler in kucoin-api PR #76
  • [Snyk] Upgrade axios from 1.8.2 to 1.10.0 by @tiagosiebler in kucoin-api PR #75
  • feat(v2.1.20): add Web Crypto API check for authentication by @JJ-Cro in kucoin-api PR #80
  • chore(): Update GitHub Actions workflow for NPM publishing by @JJ-Cro in kucoin-api PR #81
  • chore(): Bump version to 2.1.21 in package.json and package-lock.json by @JJ-Cro in kucoin-api PR #82

Full Changelog: kucoin-api on GitHub

Bitget JavaScript SDK
v3.0.5

What's Changed

Transitioned the release workflow to a token-less trusted publisher workflow, for a more secure way to publish new releases to npm.

Historic Changelog

Since the most recent major release:

  • feat(): V3 examples, v3 readme by @JJ-Cro in bitget-api PR #78
  • feat(): added all examles and endpoint map by @JJ-Cro in bitget-api PR #79
  • feat(): added v3 tests by @JJ-Cro in bitget-api PR #80
  • Upgrade SDK to hybrid esm/cjs module by @tiagosiebler in bitget-api PR #81
  • feat(v3.0.0): add V3 REST APIs & WebSockets. add RSA support. Move to Web Crypto API for sign. Publish Hybrid CJS/ESM module. by @tiagosiebler in bitget-api PR #77
  • chore(v3.0.1): update version to 3.0.1, add llms.txt for AI optimization, update readme by @JJ-Cro in bitget-api PR #82
  • chore(v3.0.2): enhance README with detailed usage instructions by @JJ-Cro in bitget-api PR #83
  • feat(v3.0.3): add new V3 endpoints by @JJ-Cro in bitget-api PR #85
  • [Snyk] Upgrade ws from 8.18.0 to 8.18.3 by @tiagosiebler in bitget-api PR #84
  • feat(v3.0.4): implement mechanism to disable heartbeat by @tiagosiebler in bitget-api PR #86
  • feat(v3.0.4): added check for webcryptoapi support by @JJ-Cro in bitget-api PR #87
  • chore: update npm publish workflow to enhance security and version verification by @JJ-Cro in bitget-api PR #88
  • chore: bump version to 3.0.5 in package.json and package-lock.json by @JJ-Cro in bitget-api PR #89

Full Changelog: bitget-api on GitHub

Binance JavaScript SDK
v3.0.5

What's Changed

Transitioned the release workflow to a token-less trusted publisher workflow, for a more secure way to publish new releases to npm.

Historic Changelog

Since the most recent major release:

  • feat(v3.0.0): Introduce Binance WebSocket API, introduce multiplex WebSocket client, bump dependencies, remove some deprecated endpoints by @tiagosiebler in binance PR #509
  • feat(3.0.1): added new Institutional Loan endpoints and On Chain Staking endpoints by @JJ-Cro in binance PR #567
  • chore(): added lint git action by @JJ-Cro in binance PR #568
  • chore(): update .gitignore and add llms.txt for AI integration by @JJ-Cro in binance PR #569
  • docs(readme): add users info by @gouravkhunger in binance PR #570
  • feat(): added alpha endpoints, added inst loan endpoints by @JJ-Cro in binance PR #573
  • [Snyk] Upgrade nanoid from 3.3.8 to 3.3.11 by @tiagosiebler in binance PR #572
  • [Snyk] Upgrade axios from 1.8.3 to 1.10.0 by @tiagosiebler in binance PR #571
  • feat(v3.0.4): update package version to 3.0.4, bump axios & nanoid, add Web Crypto API support checks in BaseRestClient and BaseWSClient, and implement error handling for unsupported Node.js versions by @JJ-Cro in binance PR #574
  • chore: update NPM publish workflow to trigger on version tags, enhance security checks, and verify package version against tag by @JJ-Cro in binance PR #575
  • chore: bump package version to 3.0.5 in package.json and package-lock… by @JJ-Cro in binance PR #576

Full Changelog: binance on GitHub

OKX JavaScript SDK
v2.0.8

What's Changed

Transitioned the release workflow to a token-less trusted publisher workflow, for a more secure way to publish new releases to npm.

Historic Changelog

  • chore(v2.0.6): add keepAlive options for REST API requests by @JJ-Cro in okx-api PR #120
  • chore(): update ESLint configuration and bump dependencies by @JJ-Cro in okx-api PR #121
  • chore(v2.0.7): add llms.txt, update tsconfig, bumpd dependencies by @JJ-Cro in okx-api PR #124
  • chore: update npm publish workflow to enhance security and version verification by @JJ-Cro in okx-api PR #128
  • chore(v2.0.8): bump version to 2.0.8 in package.json and package-lock.json by @JJ-Cro in okx-api PR #129

Full Changelog: okx-api on GitHub

Bybit JavaScript SDK
v4.2.3

What's Changed

Transitioned the release workflow to a token-less trusted publisher workflow, for a more secure way to publish new releases to npm.

Historic Changelog

Note: these are since the last "release" / tag on GitHub.

  • Batch sub/unsubscribe to topics for spot v3 by @tiagosiebler in bybit-api PR #176
  • fix(shared/types): max_leverage typo by @iam4x in bybit-api PR #180
  • v3.1.0: fix typo in types (#180), fix tests, fix repeating subscribe/unsubscribe WS events to active connections by @tiagosiebler in bybit-api PR #182
  • missing unifiedPrivate in WS_AUTH_ON_CONNECT_KEYS by @twxia in bybit-api PR #183
  • chore(): fix changed test error code by @tiagosiebler in bybit-api PR #184
  • feat(#187, v3.1.2): add support for new orderCategory param for spotv3 by @tiagosiebler in bybit-api PR #188
  • v3.1.3: fix(#187) rare signature failure for spotv3 GET with parameters by @tiagosiebler in bybit-api PR #190
  • v3.2.0: Contract V3 REST & WebSocket Clients. Improve websocket reconnection resilience by @tiagosiebler in bybit-api PR #196
  • update tests for copy trading client by @tiagosiebler in bybit-api PR #197
  • v3.3.0: fix rare sign error when using cursors in private unified margin API calls. expand unified margin response types. expand tests. by @tiagosiebler in bybit-api PR #198
  • v3.3.1: fix(#199) wrong endpoint for contract.getOpenInterestLimitInfo by @tiagosiebler in bybit-api PR #201
  • missing api by @JustMankus in bybit-api PR #203
  • v3.3.2: feat(#203) add execution history list endpoint for linear by @tiagosiebler in bybit-api PR #204
  • new param Type for getHistoryTradeRecordsRequest. by @JustMankus in bybit-api PR #205
  • v3.3.4: fix optional param in contract client, add js/ts samples for contract client, fix e2e open interest limit test, update readme by @tiagosiebler in bybit-api PR #208
  • v3.3.5: fix typo in contract endpoint order request interfaces by @tiagosiebler in bybit-api PR #209
  • v3.3.6: add response type for contract ticker by @tiagosiebler in bybit-api PR #210
  • v3.3.7: fix nesting in contract list result type by @tiagosiebler in bybit-api PR #211
  • fix contract symbol ticker response typo by @tiagosiebler in bybit-api PR #212
  • v3.3.9: fix copy trading close order endpoint. add ws log for topic sub request. add example for rest copy closing. by @tiagosiebler in bybit-api PR #216
  • v3.3.10: fix(#220): correctly detecting usdc pairs for unified perp ws market by @tiagosiebler in bybit-api PR #221
  • Bump json5 from 2.1.3 to 2.2.3 by @dependabot[bot] in bybit-api PR #215
  • Bump loader-utils from 2.0.0 to 2.0.4 by @dependabot[bot] in bybit-api PR #200
  • v3.4.0: feat(#219) add support for account asset v3 REST endpoints by @tiagosiebler in bybit-api PR #223
  • string type error in createSubAPIKeyRequest by @mlake in bybit-api PR #225
  • v3.4.1: fix(#225) fix typos in account asset v3 client by @tiagosiebler in bybit-api PR #226
  • v3.4.2: fix() missing property from linear client set trading stop method by @tiagosiebler in bybit-api PR #229
  • v3.5.0: RestClientV5 with end-to-end tests by @tiagosiebler in bybit-api PR #224
  • v3.5.1: Support for V5 WebSockets by @tiagosiebler in bybit-api PR #230
  • v3.5.2: feat() add missing v5 internal deposit records endpoint. fix(#233) return type for v5 wallet balance endpoint, fix(#232) timestamp resolution for v5 fetch time endpoint by @tiagosiebler in bybit-api PR #234
  • fix(#240): fix sign error on parallel requests due to pointer mutation by @tiagosiebler in bybit-api PR #241
  • Support triggerPrice in ContractModifyOrderRequest by @sangnv-ptit in bybit-api PR #242
  • v3.5.4: feat(#242) add request param to contract replace order endpoint by @tiagosiebler in bybit-api PR #243
  • v3.5.5: fix() add missing wallet balance response type properties by @tiagosiebler in bybit-api PR #245
  • v3.5.6, feat(#249): add 10-per-event limiter to spot v5 subscriptions, chore(): enable trailing comma linting rule by @tiagosiebler in bybit-api PR #250
  • Add syncTimeBeforePrivateRequests option by @Tindtily in bybit-api PR #247
  • v3.5.7: feat(#247) add optional flag to sync time before every api call by @tiagosiebler in bybit-api PR #252
  • v3.5.8: feat() easier env-controlled HTTP traces. Add missing properties for asset v5 types. by @tiagosiebler in bybit-api PR #254
  • chore(): update tests for compatibility with new testing sub account by @tiagosiebler in bybit-api PR #262
  • #218 Returning a promise when subscribing to topic(s) by @caiusCitiriga in bybit-api PR #256
  • build(deps-dev): bump webpack from 5.13.0 to 5.76.0 by @dependabot[bot] in bybit-api PR #239
  • v3.6.0: feat(#218, #256) returning a promise when subscribing by @tiagosiebler in bybit-api PR #263
  • feat(): add copy trading ws topic example by @tiagosiebler in bybit-api PR #265
  • v3.7.0: add missing v5 endpoints, add new tpsl request/response v3 & v5 parameters, add rest api samples for docs by @tiagosiebler in bybit-api PR #267
  • v3.7.1: chore() naming consistency for interface, pass through logger for ws url getter by @tiagosiebler in bybit-api PR #273
  • v3.7.2: fix() response type for v5 open interest endpoint by @tiagosiebler in bybit-api PR #283
  • fix(#286): automatic type determination for instrument info by @ThijMau in bybit-api PR #287
  • v3.7.3: feat(#286) improved type flowing for instrument info v5 by @tiagosiebler in bybit-api PR #288
  • v3.7.4: feat(#251, #291) add optional endpoint rate limit parsing, add deprecation warnings for v1/v2 rest clients, improve v5 types, bump dependencies by @tiagosiebler in bybit-api PR #293
  • v3.7.5: fix() optional properties in AccountOrderV5 response interface by @tiagosiebler in bybit-api PR #294
  • v3.7.6: feat() update batch order types & categories by @tiagosiebler in bybit-api PR #295
  • feat(types): adds WSAccountOrderEventV5 & WSAccountOrderV5 interfaces by @caiusCitiriga in bybit-api PR #300
  • type fixing by @t0chk in bybit-api PR #302
  • Minor docs updates, add recv window for ws client by @tiagosiebler in bybit-api PR #304
  • v3.8.0: Safer WS timer cleanup & teardown, add proxy/rate limits example, docs... by @tiagosiebler in bybit-api PR #306
  • v3.8.1: feat() add type guard and type for ws orderbook events by @tiagosiebler in bybit-api PR #309
  • v3.8.2: feat(#310) add set collateral coin endpoints by @tiagosiebler in bybit-api PR #311
  • v3.9.0: Upgrades to dependencies (axios, node build version, typescript, jest, etc) by @tiagosiebler in bybit-api PR #312
  • v3.9.1: feat(user): add methods to delete submember by @ThijMau in bybit-api PR #314
  • v3.9.2: fix(#315) orderbook level type by @tiagosiebler in bybit-api PR #316
  • Add marketUnit optional property to OrderParamsV5 interface by @will2022 in bybit-api PR #317
  • v3.9.4: feat() update test & publish actions, update public ws example, disable test for deprecated endpoint by @tiagosiebler in bybit-api PR #318
  • v3.9.5: chore() add permissions needed for provenance generation by @tiagosiebler in bybit-api PR #319
  • v3.9.6: feat(#322) add nextPageCursor type via generic by @tiagosiebler in bybit-api PR #323
  • v3.9.7: feat(#324) add new account order v5 properties by @tiagosiebler in bybit-api PR #325
  • v3.9.8: Updated V5 InstrumentInfo types by @Mnjongen in bybit-api PR #330
  • chore(): remove UM tests covering dead endpoints, fix v5 test by @tiagosiebler in bybit-api PR #331
  • v3.10.0: feat() add v5 demo trading by @tiagosiebler in bybit-api PR #334
  • v3.10.1: fix(#333) v5 time endpoint by @tiagosiebler in bybit-api PR #335
  • v3.10.2: Added and updated V5 types. Added type guards. by @will2022 in bybit-api PR #338
  • v3.10.3: feat(#340) fix pass-through headers for proxying via nginx. add second proxy example. by @tiagosiebler in bybit-api PR #343
  • v3.10.4: Introduce getSubAccountAllApiKeys, update deleteSubApiKey by @karimsan in bybit-api PR #346
  • v3.10.5: Update UpdateApiKeyParamsV5 by @karimsan in bybit-api PR #347
  • v3.10.6: chore() readme & logo updates, fix() bump dependencies by @tiagosiebler in bybit-api PR #348
  • chore(): update license by @tiagosiebler in bybit-api PR #352
  • feat(): Added all missing endpoints by @JJ-Cro in bybit-api PR #350
  • v3.10.9: chore() bump dependencies, fix() strict test, chore() run linter by @tiagosiebler in bybit-api PR #353
  • v3.10.10: feat() Update type AccountMarginModeV5 and interface CollateralInfoV5 by @karimsan in bybit-api PR #354
  • v3.10.11: fix() deprecated endpoints (copy trading & unified margin client) by @JJ-Cro in bybit-api PR #357
  • v3.10.12: feat() Add convert endpoints, convert examples, small updates to request/response types by @JJ-Cro in bybit-api PR #359
  • chore(): deprecate unified margin private test by @tiagosiebler in bybit-api PR #360
  • v3.10.13: feat() add updated withdraw request params by @tiagosiebler in bybit-api PR #362
  • fix(): Comma/semicolon fix in params by @JJ-Cro in bybit-api PR #364
  • feat(): Added endpoint, updated types by @JJ-Cro in bybit-api PR #366
  • v3.10.15: feat(): updated missing examples and endpoints by @JJ-Cro in bybit-api PR #367
  • v3.10.16: feat(): added missing API examples, deprecated abandoned functions by @JJ-Cro in bybit-api PR #369
  • v3.10.17: chore() update dependencies, feat() add apiRegion config for changing regional API URL by @tiagosiebler in bybit-api PR #370
  • v3.10.18: feat(#368) add config for HTTP keep alive via axios by @tiagosiebler in bybit-api PR #371
  • feat(): added automatic Readme actions by @JJ-Cro in bybit-api PR #373
  • chore(): README.md template sections by @tiagosiebler in bybit-api PR #376
  • chore(): cleaned up old tests by @JJ-Cro in bybit-api PR #377
  • feat(): added new endpoints by @JJ-Cro in bybit-api PR #378
  • feat(): extend demo trading sample to include more ws logic by @tiagosiebler in bybit-api PR #379
  • feat(): added Crypto Loan endpoints by @JJ-Cro in bybit-api PR #381
  • feat(): added links to endpoint map by @JJ-Cro in bybit-api PR #382
  • feat(): added latency check, updated example by @JJ-Cro in bybit-api PR #384
  • feat(#385): updated createSubAPIKey params to match docs by @JJ-Cro in bybit-api PR #386
  • chore(): marked clients for deprecation by @JJ-Cro in bybit-api PR #387
  • fix(type): fixed #391 by @soranoo in bybit-api PR #392
  • fix(): failing tests, failing eslint configuration, chore(): run linter by @tiagosiebler in bybit-api PR #393
  • fix(types): add missing 'mmDeduction' prop to RiskLimitV5 by @fireflies1988 in bybit-api PR #394
  • v3.10.27 feat(): updated request params by @JJ-Cro in bybit-api PR #395
  • v3.10.28 feat(): added new endpoints, updated examples by @JJ-Cro in bybit-api PR #401
  • feat(): added nextPageCursor example by @JJ-Cro in bybit-api PR #403
  • fix(): updated test parameters so it can pass by @JJ-Cro in bybit-api PR #404
  • fix(): adjusted type definitions for instruments endpoint by @LanPRD in bybit-api PR #406
  • Fix submit order example by @tiagosiebler in bybit-api PR #408
  • v3.10.30: add missing WSExecutionV5 execPnl property. Bump npm audit dependency. by @tiagosiebler in bybit-api PR #410
  • fix(v3.10.31, #411): demo trading wss should only be used for private topics. by @tiagosiebler in bybit-api PR #412
  • feat(v3.10.32): add params for GetDeliveryRecord, fixed e2e tests by @JJ-Cro in bybit-api PR #415
  • chore(): fix env vars for test split by @tiagosiebler in bybit-api PR #416
  • feat(3.10.33): Updated return types for getSubDepositAddress, createUniversalTransfer and createInternalTransfer by @JJ-Cro in bybit-api PR #418
  • feat(): added/updated types with latest documentation changes by @JJ-Cro in bybit-api PR #419
  • feat(): added new Earn REST endpoints by @JJ-Cro in bybit-api PR #420
  • feat(v3.10.34): added slippage tolerance types to order endpoints by @JJ-Cro in bybit-api PR #421
  • fix(v3.11.0): ensure private GET requests use serialised/encoded params appended to URL. Update slippage tolerance type to optional. by @tiagosiebler in bybit-api PR #422
  • v4.0.0: WebSocket API, WebsocketClient upgrades, decommission deprecated v1-v3 API groups by @tiagosiebler in bybit-api PR #398
  • fix(v4.0.1, #425): fix WSOrderbookEventV5 type definition. Bump dependencies. by @tiagosiebler in bybit-api PR #426
  • feat(v4.1.0): Add full support for P2P trading, Add suffix to recent Earn types (minor breaking change) by @JJ-Cro in bybit-api PR #429
  • chore(v4.1.1): update travel rule request params by @JJ-Cro in bybit-api PR #430
  • feat(v4.1.2): added websocket types for all topics by @JJ-Cro in bybit-api PR #431
  • feat(v4.1.3): full support for demo endpoints by @JJ-Cro in bybit-api PR #432
  • fix(types): change response v5-asset CoinInfoV5.name by @zororaka00 in bybit-api PR #433
  • feat(v4.1.4): full spread trading support by @JJ-Cro in bybit-api PR #434
  • feat(v4.1.5): updated latency check to look at absolute values, fixed batch order responses, updated new endpoints by @tiagosiebler in bybit-api PR #439
  • chore(v4.1.6): updated post to postPrivate for getP2POnlineAds by @JJ-Cro in bybit-api PR #440
  • feat(v4.1.7): fast execution topics should use authenticated stream by @tiagosiebler in bybit-api PR #442
  • fix typo by @batrudinych in bybit-api PR #443
  • feat(): added bybit wsapi client all functions by @JJ-Cro in bybit-api PR #445
  • feat(): added wsapiclient examples, updated endpoint map, updated lin… by @JJ-Cro in bybit-api PR #446
  • feat(v4.1.8): introduce websocket API client wrapper, chore(): misc typo fixes & cleaning by @tiagosiebler in bybit-api PR #444
  • feat(v4.1.9): new ws topic, updated response and request types by @JJ-Cro in bybit-api PR #449
  • Update README.md by @JJ-Cro in bybit-api PR #451
  • feat(4.1.10): add new WSTickerOptionV5 and WSTickerSpotV5 interfaces for enhanced websocket event handling by @JJ-Cro in bybit-api PR #453
  • feat(v4.1.11): add preCheckOrder method with corresponding types and example usage, add txId and Id to deposit records by @JJ-Cro in bybit-api PR #454
  • feat(v4.1.12): added new endpoints,new ws topic updated types for existing endpoints, added examples for new endpoints, updated endpoint map, bumped version by @JJ-Cro in bybit-api PR #457
  • chore(v4.1.13): bump dependency. Update readme with rate limits note. by @tiagosiebler in bybit-api PR #459
  • feat(v4.1.14): Add new fields to response types for account, position, execution, spread trading, and websocket events. by @JJ-Cro in bybit-api PR #460
  • chore(v4.1.15): marked removed functions for deprecation, updated tests by @JJ-Cro in bybit-api PR #461
  • feat(v4.1.16): add keepAlive, add lint script, edit lint errors by @JJ-Cro in bybit-api PR #462
  • feat(v4.1.17): update dependencies and ESLint configuration, fix all linter errors by @JJ-Cro in bybit-api PR #463
  • chore(): update readme by @tiagosiebler in bybit-api PR #467
  • feat(v4.2.0): RSA, llm.txt, bump dependencies by @JJ-Cro in bybit-api PR #466
  • feat(v4.2.0): RSA, llm.txt, bump dependencies by @tiagosiebler in bybit-api PR #468
  • feat(v4.2.1): added new crypto loan endpoints and examples, updates types by @JJ-Cro in bybit-api PR #470
  • [Snyk] Upgrade axios from 1.8.3 to 1.10.0 by @tiagosiebler in bybit-api PR #469
  • feat(v4.2.2): add webcryptoapi support check and update readme, bump axios by @JJ-Cro in bybit-api PR #471
  • chore():Update GitHub Actions workflow for NPM publishing by @JJ-Cro in bybit-api PR #472
  • chore(): bump version to 4.2.3 in package.json and package-lock.json by @JJ-Cro in bybit-api PR #473

New Contributors

Full Changelog: bybit-api compare v3.0.1...v4.2

Gate JavaScript SDK
v1.2.8

What's Changed

This release deprecates the previous automation for publishing releases to NPM, to a more secure tokenless trusted-publisher workflow.

Release notes

  • chore(): update GitHub Actions workflow for NPM publishing by @JJ-Cro in gateio-api PR #72
  • chore(): bump version to 1.2.8 in package.json and package-lock.json by @JJ-Cro in gateio-api PR #73

Full Changelog: gateio-api on GitHub

Bybit JavaScript SDK
v3.0.1

For an up to date list of releases and updates, refer to:

The above links are the best place to stay up to date on the latest releases for this SDK.









































connector logo

Node.js connector for the Bybit APIs and WebSockets:

  • Complete integration with all bybit APIs.
  • TypeScript support (with type declarations for most API requests & responses).
  • Over 300 integration tests making real API calls & WebSocket connections, validating any changes before they reach npm.
  • Robust WebSocket integration with configurable connection heartbeats & automatic reconnect then resubscribe workflows.
  • Browser support (via webpack bundle - see "Browser Usage" below).

This major release introduces 6 new REST clients and hundreds of integration tests. The bybit-api npm connector now supports all REST API and WebSocket categories, including the very recently added unified margin and copy trading categories.

REST APIs

Each REST API group has a dedicated REST client. To avoid confusion, here are the available REST clients and the corresponding API groups:

Examples for using each client can be found in:

If you're missing an example, you're welcome to request one. Priority will be given to github sponsors.

WebSockets

For WebSockets, all API groups can be used via a shared WebsocketClient. However, to listen to multiple API groups at once, you will need to make one WebsocketClient instance per API group (for now).

The WebsocketClient can be configured to a specific API group using the market parameter. These are the currently available API groups:

API CategoryMarketDescription
Unified Margin - Optionsmarket: 'unifiedOption'The derivatives v3 category for unified margin. Note: public topics only support options topics. If you need USDC/USDT perps, use unifiedPerp instead.
Unified Margin - Perpsmarket: 'unifiedPerp'The derivatives v3 category for unified margin. Note: public topics only support USDT/USDC perpetual topics - use unifiedOption if you need public options topics.
Futures v2 - Inverse Perpsmarket: 'inverse'The inverse v2 perps category.
Futures v2 - USDT Perpsmarket: 'linear'The USDT/linear v2 perps category.
Futures v2 - Inverse Futuresmarket: 'inverse'The inverse futures v2 category uses the same market as inverse perps.
Spot v3market: 'spotv3'The spot v3 category.
Spot v1market: 'spot'The older spot v1 category. Use the spotv3 market if possible, as the v1 category does not have automatic re-subscribe if reconnected.
Copy Tradingmarket: 'linear'The copy trading category. Use the linear market to listen to all copy trading topics.
USDC Perpsmarket: 'usdcPerpThe USDC perps category.
USDC Optionsmarket: 'usdcOption'The USDC options category.

Check the readme for an example. More examples will be added in the future, and will be found in the following locations:

Issues & Discussion

Breaking Changes

While I have tried to avoid any breaking changes as much as possible, I have decided to accept some as part of this major release as an opportunity for improvement. If you notice any other breaking changes not listed below, please let me know.

REST Clients

  • The SpotClient is now deprecated in favour of the new SpotClientV3 (which uses the newer v3 spot APIs).
  • The key parameter has been moved into the restOptions object.
  • The secret parameter has been moved into the restOptions object.
  • The useLivenet parameter has been renamed to testnet and moved into the restOptions object.
  • The REST clients now connect to the live environment by default, unless testnet: true is provided in restOptions.

All REST clients now accept only two parameters:

  constructor(
    restOptions: RestClientOptions = {},
    networkOptions: AxiosRequestConfig = {}
  ) 

API credentials are passed into the first parameter.

  • disable_time_sync has been removed from the rest client options, since time sync is now disabled by default.
  • To re-enable time sync, use enable_type_sync: true in the rest options object parameter.

Websocket-Client

  • The WS client now connects to the live environment by default, unless testnet: true is provided in the ws client options.
  • The market parameter is now required in the ws client config. It tells the websocket client which websocket URL to use, since there's variation between spotv1, spotv3, futures, unified margin and other markets. Check the APIMarket union type for a list of possible values (which your IDE should also be able to show, if you're using typescript).
  • Constant parameters such as wsKeySpotPublic have been grouped under a WS_KEY_MAP object.
    • The WsKey values remain the same, with some new additions.
    • If you were using the exported constant (e.g. wsKeySpotPublic), you will need to update your code to use WS_KEY_MAP.spotPublic instead.
    • If you were using the spot market, the spotv3 market is very much recommended (it supports automatic re-subscribe if the connection drops & reconnects)
  • The livenet parameter has been deprecated in favour of testnet: boolean.
  • The websocket client now connects to livenet by default. If you want to use testnet, include the parameter testnet: true in your client options.
    • This is consistent with my other api connectors, which connect to livenet by default.
    • In future, the REST clients will also connect to the live environment by default.
Bybit JavaScript SDK
v2.1.0

Summary

This expands the library to support the spot REST & Websocket APIs.

npm install bybit-api@2.1.0

Deprecation Notices

The WebSocket client now accepts a new parameter for market.

This should be used instead of the boolean linear parameter, which will be removed in a future release. Check the readme for examples.

Changelog

  • Fix inversed secondary URLs (#106)
  • Add support for Spot APIs (#99)
Bybit JavaScript SDK
v2.0.5

Summary

This adds the missing mode/switch APIs for the inverse client, see #98 for details. This also significantly reduces the size of the webpack bundle for use in web browsers, see #59 for details.

npm install bybit-api@2.0.5

Changelog

  • Add API to set position mode (hedge)
  • Add API to set SL/TP partial/full mode.
  • Add API to set margin type.
  • Significant reduction in webpack bundle size.
Bybit JavaScript SDK
v2.0.3

Summary

See #83 for details. This adds support for Inverse Futures REST endpoints, currently only available for quarterly BTC futures on testnet.

npm install bybit-api@2.0.3

Changelog

  • Introduce a new REST client: InverseFuturesClient. Resolves #82.
  • Update & clean readme.
  • Add missing trailing_stop parameter for inverse client setTradingStop().
Bybit JavaScript SDK
v2.0.1

Changelog

See #80 for details. This fixes a pass-through parameter to pass a custom base URL in the REST constructors.

npm install bybit-api@2.0.1
Bybit JavaScript SDK
v2.0.0

See #75 for details. This primarily introduces support for the Linear USDT APIs and WebSockets, although two minimal changes were introduced to how the existing inverse client (previously RestClient) is imported and when websockets start connecting.

npm install bybit-api@2.0.0

Changelog

Summary

  • Introduced LinearClient as the abstraction for all available Linear USDT Rest APIs.
  • Enhanced WebSocket Client to support multiple linear websockets (public & private).
    • To use linear websockets make a new instance of the Websocket-Client, passing the constructor option "linear: true".
  • Removed deprecated API methods abandoned in December 2020.
  • Renamed exported RestClient to InverseClient. Implementation remains unchanged.

Breaking Changes

This release only has one major change affecting existing usage.

  • Rename dexported RestClient to InverseClient. Implementation remains unchanged.

Simply rename any existing RestClient import to continue using Inverse Rest APIs.

Behavioural Changes

The following are not expected to cause any issues but are a notable change in behaviour:

  • Previously the Websocket Client automatically opens a websocket connection as soon as it is instanced.
    • As of version 2.0.0 (this release), websocket connections are automatically opened as soon as any topics are subscribed to.
    • If needed, manually trigger websocket connection attempts before subscribing to a topic using the websocketClient.connectAll() method. See Websocket-Client.ts for details.
Bybit JavaScript SDK
v1.3.2

Small fix to the error handler when API requests fail.

Bybit JavaScript SDK
v1.3.1

See #45 for details. This was a major transition from a pureJS library into one that is loosely typed, at least as a first iteration.

npm install bybit-api@1.3.1

Copied from the pull request:

Changelog

Summary

  • Introduce typescript declarations. API methods are typed including optional parameters. Resolves #18.
  • Introduce webpack, although not published to npm yet. TODO: log issue to trim bundle size.
  • Deprecate assert() calls. This caused a nuisance when API parameter requirements changed.
  • Fix browser websocket support. Resolves #33.
  • Organise API methods per API documentation, including the categories also used in official documentation.
  • Mark deprecated API methods.

Breaking Changes

These changes were enforced by bybit:

  • getActiveOrder() uses deprecated endpoint. Use getActiveOrderList() instead.
    • Requires symbol param. Otherwise it's the same.
  • getPositions() uses deprecated endpoint. Use getPosition() instead.

Deprecations

These are a consequence of module improvements:

  • getPublicTradingRecords() deprecated. Use getTrades() instead.
    • Same params & response.
  • getPublicLiquidations() deprecated. Use getLiquidations() instead.
    • Same params & response.
  • getLatestInformation() deprecated. Use getTickers() instead.
    • Same params & response.
  • changeUserLeverage() deprecated. Use setUserLeverage() instead.
    • Same params & response.
Bybit JavaScript SDK
v1.2.0

The primary goal was to transition to axios, since the npm module request is both deprecated and carries a ton of dependency baggage. This version does not change any high level functionality, ensuring no integration changes are required to upgrade to this release.

Difference in dependency baggage

<img width="1047" alt="Screenshot 2020-10-14 at 09 57 39" src="https://user-images.githubusercontent.com/14090872/95967098-c5bb2880-0e03-11eb-8d93-cbfde97183ae.png">

As well as a smaller memory footprint, an additional bonus of this adoption of axios is support for proxied requests as well as other customizations to how HTTP requests are made by the library. See the axios request config for a detailed list of options.

Action Required to Upgrade

None

Summary

  • replace the deprecated npm request module with the much lighter axios module. Resolves #4.
  • bump websocket connectivity dependency to latest version.
  • validated #12 is not an issue.
  • misc refactoring & cleaning.

Subscribe on Substack

Complete the Substack form below to join our newsletter. Substack handles all subscriber data directly.