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:
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
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
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
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
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
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
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
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
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
What's Changed
- chore(v1.6.0): pin npm to v11 and update Node to v24.18.0 by @JJ-Cro in gateio-api PR #130
- fix: update error handling in REST private tests by @JJ-Cro in gateio-api PR #132
Full Changelog: gateio-api compare v1.5.5...v1.6
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
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
What's Changed
- chore(v2.5.0): pin npm to v11 and update Node to v24.18.0 by @JJ-Cro in bitmart-api PR #108
Full Changelog: bitmart-api compare v2.4.4...v2.5
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
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
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
Full Changelog: kraken-api compare v1.1.0...v1.1
What's Changed
- chore(v1.2.0): bump build version to LTS node 24 by @tiagosiebler in coinbase-api PR #136
Full Changelog: coinbase-api compare v1.1.13...v1.2
What's Changed
- chore(v1.1.0): bump build to v24 LTS by @tiagosiebler in kraken-api PR #49
Full Changelog: kraken-api compare v1.0.7...v1.1
What's Changed
- Update README badges by @JJ-Cro in kraken-api PR #47
- feat(v1.0.7): add new level3 book endpoints and update types by @JJ-Cro in kraken-api PR #48
Full Changelog: kraken-api compare v1.0.6...v1.0
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
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
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
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
What's Changed
- feat(v2.4.4): Add new Futures and Spot endpoints by @JJ-Cro in bitmart-api PR #107
Full Changelog: bitmart-api compare v2.4.3...v2.4
What's Changed
- Update README badges by @JJ-Cro in kucoin-api PR #140
- fix(v2.5.4): UTA futures request building, chore: bump dependencies post audit by @tiagosiebler in kucoin-api PR #142
Full Changelog: kucoin-api compare v2.5.3...v2.5
Refer to the Kucoin JavaScript SDK QuickStart Guide to learn more.
What's Changed
- Update README badges by @JJ-Cro in okx-api PR #189
- feat(v3.1.5): update per release notes by @JJ-Cro in okx-api PR #188
Full Changelog: okx-api compare v3.1.4...v3.1
View all our OKX JavaScript SDK releases here: okx api release feed
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
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
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
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
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
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
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
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
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
- @tamasPetki made their first contribution in bybit-api PR #549
Full Changelog: bybit-api compare v4.6.3...v4.6
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
FiatBybitPaydropped fromPermissionsV5/ApiKeyPermissionsV5(useFiatBitPay)EarnPositionV5.availableAmount+freezeDetailsare required in types now (API returns them)CoinInfoV5.chains[].withdrawMaxadded;remainAmountstill typed but deprecated
Type updates (existing endpoints)
- Position -
openTimeonPositionV5+WSPositionV5 - Instruments -
symbolIdon spot / linear / inverse / option;InstrumentSymbolTypeV5(stock,forex, etc.) - Affiliate user info -
paySendAmount30Day,payFtt,cardFtt; request paramscoin,business - Fixed loan supply -
availableSourceon create;refundedAccounton cancel supply - Earn position -
availableAmount,freezeDetails[]
New - Strategy (/v5/strategy/*)
createStrategyOrder- twap / chaseOrder / iceberg / povgetStrategyListgetStrategyOrderListstopStrategy
New - Hold to Earn (/v5/earn/hold-to-earn/*)
getHoldToEarnAirdropProducts- public, no authgetHoldToEarnAirdropYieldHistory- needs Earn permission
New - PWM investment plan (user)
getPwmInvestmentPlanList-GET .../investment-plan/listgetPwmInvestmentPlanDetailgetPwmPendingInvestmentPlanDetail-.../new-planclaimPwmWithdrawableFundsgetPwmInvestmentPlanAssetTrendgetPwmFundHistoricalNavsubscribePwmInvestmentPlaninvestMorePwmInvestmentPlanredeemPwmInvestmentPlangetPwmInvestmentPlanOrders
New - PWM customize plan
getPwmSubscribableProductInfo- publiccreatePwmCustomizeInvestmentPlan
New - PWM asset manager
getPwmAllFundssettlePwmFundProfitcreatePwmFundcreatePwmAssetManagerInvestmentPlangetPwmAssetManagerInvestmentPlans- not the same as usergetPwmInvestmentPlanListmanagePwmAssetManagerInvestmentPlangetPwmAllFundOrdersmanagePwmFundOrder- approve/rejectcreatePwmFundSubAccountpwmFundTransfer- custodian sub-account keygetPwmFundTransferRecords
Affiliate
getAffiliateSubAffiliateList-GET /v5/affiliate/affiliate-sub-list
New modules
src/types/request|response/v5-strategy.tssrc/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.mdregeneratedllms.txtregenerated- version bump
4.6.2->4.6.3
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
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
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
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
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
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
What's Changed
- feat(v3.1.7): add Earn Elite API endpoints and update version by @JJ-Cro in bitget-api PR #144
- chore: lockfile bumps post-audit by @tiagosiebler in bitget-api PR #145
Full Changelog: bitget-api compare v3.1.6...v3.1
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
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
What's Changed
- feat(v1.5.2): new endpoints, patches per release notes by @JJ-Cro in gateio-api PR #121
- chore: lockfile bump after audit by @tiagosiebler in gateio-api PR #123
Full Changelog: gateio-api compare v1.5.1...v1.5
Breaking / notable typing changes
getCrossExFeeRate()— returnsCrossExFeeRate[]; each item includes requiredexchange_type.PushOrder.id—string(wasnumber).getFuturesOrdersByTimeRange()— returnsFuturesOrderTimerange[](notFuturesOrder[]).SpotPriceTriggeredOrder.put.time_in_force— now required ('gtc' | 'ioc').- Earn (removed) —
submitEth2Swap,getEth2RateHistory, structured product methods removed; related types removed fromearnrequest/response. - Dual investment —
getDualInvestmentProducts/getDualInvestmentOrdersuse 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 }. CrossExRiskLimitTier—quick_cal_amountis 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_ISOLATEDon margin interest comment. - RestClient:
getCrossExFeeRate,createCrossExConvertOrdersignatures updated.
v4.106.49–v4.106.51
FuturesOrderTimerange+getFuturesOrdersByTimeRange.FuturesOrder:order_value?,trade_value?(response-only).getFuturesOrder: JSDoc — path id vstextclient id.- Earn: ETH2 + structured product endpoints and types removed.
v4.106.52–v4.106.55
- Futures price-trigger:
amount?on createinitialand on amend request. - Earn auto-invest: new
types/request/autoinvest.ts,types/response/autoinvest.ts, exports inindex.ts, RestClient methods for all/earn/autoinvest/*routes in scope. - Rebate:
PartnerDataAggregated/PartnerDataAggregatedResponse,getPartnerAgentDataAggregated.
v4.106.56–v4.106.58
- WithdrawalRecord:
timestamp/DONEwording (noblock_number > 0completion rule). - CrossExRiskLimitTier:
quick_cal_amount. FuturesContract/FuturesDeliveryContract:contract_type?.GetSubAccountBalancesReq:page?,limit?;getSubBalanceuses 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?;getSubBalancereturn 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
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
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
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
What's Changed
- fix(v1.5.1): use POST for closeCrossExPosition by @flytam in gateio-api PR #116
- chore: dependency bumps post-audit by @tiagosiebler in gateio-api PR #118
New Contributors
- @flytam made their first contribution in gateio-api PR #116
Full Changelog: gateio-api compare v1.5.0...v1.5
View all releases here: gateio api release feed
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
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
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
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
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:
- Action required: if you're using the wsClient.subscribe() methods, you must provide the correct WsKey. Refer to these examples for guidance:
- USDM Public topics: binance source ws usdm public
- USDM Market topics: binance source ws usdm market
- USDM ListenKey User Data: binance source ws userdata listenkey
- USDM WS API User Data (recommended): binance source ws userdata wsapi
- Action required: if you're using the wsClient.subscribe() methods, you must provide the correct WsKey. Refer to these examples for guidance:
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
- Public (high-frequency public market data)
- 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:
- Binance JavaScript SDK QuickStart Guide: Siebly javascript
- Binance JavaScript SDK Readme: binance on npm
Full Changelog: binance compare v3.4.4...v3.5
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
What's Changed
- feat(v4.6.1): Add API endpoints and changes from release notes by @JJ-Cro in bybit-api PR #535
- chore: bump dependencies after npm audit, update readme by @tiagosiebler in bybit-api PR #536
- add readme references to new quickstart guide on using the Bybit REST API JavaScript SDK
Full Changelog: bybit-api compare v4.6.0...v4.6
What's Changed
- fix: fussy test exception code & audit bump dependencies by @tiagosiebler in bitget-api PR #137
- chore(v3.1.6): version bump for release. Bump audit dependency, fix fussy test, update readme with reference to Siebly.io quick start guide for bitget node.js & javascript SDK by @tiagosiebler in bitget-api PR #138
Full Changelog: bitget-api compare v3.1.5...v3.1
What's Changed
- feat(v3.1.5): Add Loan endpoints for UTA by @JJ-Cro in bitget-api PR #135
Full Changelog: bitget-api compare v3.1.4...v3.1
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
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
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
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
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
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
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
- @DanZBo made their first contribution in binance PR #648
Full Changelog: binance compare v3.4.1...v3.4
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
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
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
What's Changed
- chore(v1.1.11): add migration notice by @tiagosiebler in coinbase-api PR #119
Full Changelog: coinbase-api compare v1.1.10...v1.1
What's Changed
- chore(v2.3.3): add readme migration notice by @tiagosiebler in bitmart-api PR #79
Full Changelog: bitmart-api compare v2.3.2...v2.3
What's Changed
- chore(v1.4.2): add readme migration notice by @tiagosiebler in gateio-api PR #105
Full Changelog: gateio-api compare v1.4.1...v1.4
View all releases here: gateio api release feed
What's Changed
- chore(v3.1.4): add readme migration notice by @tiagosiebler in bitget-api PR #130
- chore(v3.1.4): readme notice by @tiagosiebler in bitget-api PR #131
Full Changelog: bitget-api compare v3.1.3...v3.1
What's Changed
- chore: rename auth dir by @tiagosiebler in okx-api PR #180
- chore(v3.1.2): add readme migration notice by @tiagosiebler in okx-api PR #182
Full Changelog: okx-api compare v3.1.1...v3.1
What's Changed
- chore(v4.5.3): add readme migration notice by @tiagosiebler in bybit-api PR #530
Full Changelog: bybit-api compare v4.5.2...v4.5
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
What's Changed
- feat(v2.5.0): support regional KuCoin EU and AU REST APIs and WebSockets by @tiagosiebler in kucoin-api PR #116
- Add readme notice on upcoming migration to the Siebly.io GitHub organisation.
Full Changelog: kucoin-api compare v2.4.1...v2.5
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
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
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
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
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
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
What's Changed
- chore(): update eslint in examples by @JJ-Cro in kraken-api PR #40
- feat(v1.0.4):add tests for isDeepObjectMatch function by @JJ-Cro in kraken-api PR #41
Full Changelog: kraken-api compare v1.0.3...v1.0
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
- @jinusean made their first contribution in binance PR #613
Full Changelog: binance compare v3.1.7...v3.1
What's Changed
- fix(v3.1.1, #119): export APIResponse properly by @tiagosiebler in bitget-api PR #120
Full Changelog: bitget-api compare v3.1.0...v3.1
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
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
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
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
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
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
What's Changed
- feat: add wsOptions type by @JJ-Cro in kraken-api PR #36
- chore: add Webpack configuration and update package.json for bundling support by @JJ-Cro in kraken-api PR #37
- chore(): README.md template sections by @tiagosiebler in kraken-api PR #38
- feat(v1.0.3): add webpack config, update readme by @tiagosiebler in kraken-api PR #39
Full Changelog: kraken-api compare v1.0.2...v1.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
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
What's Changed
- [Snyk] Upgrade axios from 1.12.2 to 1.13.1 by @tiagosiebler in coinbase-api PR #107
- chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 by @dependabot[bot] in coinbase-api PR #106
- chore(): README.md template sections by @tiagosiebler in coinbase-api PR #109
- [Snyk] Upgrade axios from 1.13.1 to 1.13.2 by @tiagosiebler in coinbase-api PR #108
- [Snyk] Upgrade jose from 6.0.12 to 6.1.0 by @tiagosiebler in coinbase-api PR #101
- chore(v1.1.8): readme updates by @tiagosiebler in coinbase-api PR #110
Full Changelog: coinbase-api compare v1.1.7...v1.1
What's Changed
- [Snyk] Upgrade axios from 1.12.2 to 1.13.1 by @tiagosiebler in bitmart-api PR #63
- chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 by @dependabot[bot] in bitmart-api PR #62
- chore(): README.md template sections by @tiagosiebler in bitmart-api PR #66
- [Snyk] Upgrade axios from 1.13.1 to 1.13.2 by @tiagosiebler in bitmart-api PR #65
- chore(v2.2.1): readme updates by @tiagosiebler in bitmart-api PR #67
Full Changelog: bitmart-api compare v2.2.0...v2.2
What's Changed
- chore(): README.md template sections by @tiagosiebler in kucoin-api PR #102
- [Snyk] Upgrade axios from 1.13.1 to 1.13.2 by @tiagosiebler in kucoin-api PR #101
- chore(v2.3.4): readme bumps by @tiagosiebler in kucoin-api PR #103
Full Changelog: kucoin-api compare v2.3.3...v2.3
What's Changed
- chore(): README.md template sections by @tiagosiebler in gateio-api PR #91
- [Snyk] Upgrade axios from 1.13.1 to 1.13.2 by @tiagosiebler in gateio-api PR #90
- chore(v1.3.4): readme updates by @tiagosiebler in gateio-api PR #92
Full Changelog: gateio-api compare v1.3.3...v1.3
What's Changed
- chore(): README.md template sections by @tiagosiebler in bitget-api PR #112
- [Snyk] Upgrade axios from 1.13.1 to 1.13.2 by @tiagosiebler in bitget-api PR #111
- chore(v3.0.12): release for readme updates by @tiagosiebler in bitget-api PR #113
Full Changelog: bitget-api compare v3.0.11...v3.0
What's Changed
- chore(): README.md template sections by @tiagosiebler in kraken-api PR #34
- chore(v1.0.2): release for updated readme by @tiagosiebler in kraken-api PR #35
Full Changelog: kraken-api compare v1.0.1...v1.0
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
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
- @posokhin made their first contribution in bybit-api PR #517
Full Changelog: bybit-api compare v4.4.4...v4.4
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
- @NilsonCesar made their first contribution in binance PR #616
Full Changelog: binance compare v3.1.5...v3.1
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
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
What's Changed
- feat: add LICENSE file with MIT license terms by @JJ-Cro in bitmart-api PR #61
- feat(v2.2.0): support demo trading by @JJ-Cro in bitmart-api PR #64
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_idandclient_order_idfields toFuturesAccountTradesRequest - Made
symbolfield 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.tssrc/types/response/futures.types.tssrc/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 dataFuturesAffiliateRebateApiRequest- Request type for API rebate dataFuturesAffiliateRebateUserResponse- Response type for user rebate dataFuturesAffiliateRebateApiResponse- Response type for API rebate data
3. Simulated Trading / Demo Environment Support (2025-11-18)
Files Modified:
src/types/request/futures.types.tssrc/types/response/futures.types.tssrc/lib/requestUtils.tssrc/lib/websocket/websocket-util.tssrc/types/websockets/client.tssrc/FuturesClientV2.tssrc/WebsocketClient.tsREADME.md
REST API Changes:
- Added
useDemooption toRestClientOptionsinterface - 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
useDemooption toWSClientConfigurableOptionsinterface - Updated
WS_BASE_URL_MAPto 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
- Public:
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/wsUrloverride still takes precedence overuseDemoflag - 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
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
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
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
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
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:
- Market Data Updates (2025-11-25)
Full Changelog: bybit-api compare v4.4.2...v4.4
What's Changed
- chore(): README.md template sections by @tiagosiebler in okx-api PR #159
-
- adds @siebly/kraken-api SDK to readme
-
- adds Siebly home 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
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
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
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
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/):
GetBrokerTotalCommissionRequestV2GetBrokerOrderCommissionRequestV2GetBrokerRebateInfoRequestV2FuturesMaxOpenRequestV2FuturesLiquidationPriceRequestV2FuturesIsolatedSymbolsRequestV2
V2 Response Types (src/types/response/v2/):
BrokerTotalCommissionV2BrokerOrderCommissionV2&BrokerOrderCommissionItemV2BrokerRebateInfoV2FuturesMaxOpenV2FuturesLiquidationPriceV2FuturesIsolatedSymbolV2
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 JSDocsrc/rest-client-v3.ts- Added 1 new method with JSDocsrc/types/request/v2/broker.ts- Added 3 request interfacessrc/types/response/v2/broker.ts- Added 3 response interfacessrc/types/request/v2/futures.ts- Added 3 request interfacessrc/types/response/v2/futures.ts- Added 3 response interfacessrc/types/request/v3/account.ts- Added 1 request interfacesrc/types/response/v3/account.ts- Added 1 response interface
Full Changelog: bitget-api compare v3.0.9...v3.0
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/depthGET /api/v3/ticker/priceGET /api/v3/ticker/bookTickerGET /api/v3/ticker/24hrGET /api/v3/ticker/tradingDayGET /api/v3/ticker
-
WebSocket API:
depthticker.priceticker.bookticker.24hrticker.tradingDayticker
Files Modified:
src/types/spot.ts- AddedsymbolStatustoTradingDayTickerParamsandRollingWindowTickerParamssrc/types/shared.ts- AddedsymbolStatustoOrderBookParamssrc/main-client.ts- AddedsymbolStatusto method parameterssrc/types/websockets/ws-api-requests.ts- AddedsymbolStatusto 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@deprecatedJSDoc warningsrc/util/typeGuards.ts- Added deprecation warning toisWsFormatted24hrTickerArray()examples/WebSockets/ws-public.ts- Updated to use!miniTicker@arrinsteadexamples/WebSockets/ws-custom-parser.ts- Updated to use!miniTicker@arrinsteadREADME.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 toPriceMatchModesrc/types/portfolio-margin.ts- Added deprecation comment toPMPriceMatch
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- Addeder?: stringtoWsMessageFuturesUserDataOrderTradeUpdateEventRawsrc/types/websockets/ws-events-formatted.ts- AddedorderExpireReason?: stringtoWsMessageFuturesUserDataTradeUpdateEventFormatted
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_MARKETTAKE_PROFIT_MARKETSTOPTAKE_PROFITTRAILING_STOP_MARKET
5.1 New REST API Endpoints
Files Modified:
src/types/futures.ts- Added new Algo Order types and interfacessrc/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 orderDELETE /fapi/v1/algoOrder- Cancel an algo orderDELETE /fapi/v1/algoOpenOrders- Cancel all open algo ordersGET /fapi/v1/algoOrder- Query an algo orderGET /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- AddedWsMessageFuturesUserDataAlgoUpdateRawsrc/types/websockets/ws-events-formatted.ts- AddedWsMessageFuturesUserDataAlgoUpdateFormatted
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
priceMatchvalues 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
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
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 keysDepositRecord- Dedicated interface for deposit records with new status valuesUpdateFuturesPriceTriggeredOrderReq- Request parameters for updating price-triggered orders
Updated Types
WithdrawalRecord- Enhanced status field descriptions with detailed commentsSubmitFuturesTriggeredOrderReq- Madepriceandrulefields required in trigger objectDepositRecord- New status values:BLOCKED,DEP_CREDITED(removedFINAL)CurrencyChain- Documentedis_deposit_disabledfield
🔄 Method Updates
Return Type Changes
getDepositRecords()- Now returnsDepositRecord[]instead ofWithdrawalRecord[]
Documentation Updates
cancelWithdrawal()- Documentedblock_numberfield in responsegetCurrencyChains()- Added note about low liquidity currenciesgetWithdrawalStatus()- Added note about API limitations for low liquidity tokensgetSpotCurrencyPairs()/getSpotCurrencyPair()- Markedfeefield as deprecatedsubmitFuturesPriceTriggeredOrder()- Documented required fieldssubmitEth2Swap()- Updated terminology (ETH2 → GTETH)getEth2RateHistory()- Updated terminology (ETH2 → GTETH)getUnifiedAccountInfo()- Updated field descriptions forcross_balanceandiso_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 fromWithdrawalRecord[]toDepositRecord[]
🔗 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
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, andfundingCapfor enhanced funding rate information
Account APIs
- Get Transaction Log: Added optional
transSubTypeparameter 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
ManualBorrowParamsV5request type - Added
ManualBorrowResultV5response type
- Added
-
Get Max Borrowable Amount (
GET /v5/spot-margin-trade/max-borrowable): New endpoint to query maximum borrowable amount for a currency- Added
GetMaxBorrowableAmountParamsV5request type - Added
MaxBorrowableAmountV5response type
- Added
-
Get Position Tiers (
GET /v5/spot-margin-trade/position-tiers): New endpoint to get loan position risk information- Added
GetPositionTiersParamsV5request type - Added
PositionTierV5andCurrencyPositionTiersV5response types
- Added
-
Get Coin State (
GET /v5/spot-margin-trade/coinstate): New endpoint to get currency leverage information- Added
GetCoinStateParamsV5request type - Added
CoinStateV5response type
- Added
-
Get Available Amount to Repay (
GET /v5/spot-margin-trade/repayment-available-amount): New endpoint to query available amount for repayment- Added
GetAvailableAmountToRepayParamsV5request type - Added
AvailableAmountToRepayV5response type
- Added
-
Manual Repay Without Asset Conversion (
POST /v5/account/no-convert-repay): New endpoint for manual repayment without asset conversion- Added
ManualRepayWithoutConversionParamsV5request type - Added
ManualRepayWithoutConversionResultV5response type - Note: Repayment is prohibited between 04:00 and 05:30 per hour
- Added
Spot Margin Trade - Updated Endpoints
- Set Leverage (
POST /v5/spot-margin-trade/set-leverage): Enhanced to support optionalcurrencyparameter for setting leverage by currency- Added
SetSpotMarginLeverageParamsV5type - Maintains backward compatibility
- Added
Code Quality Improvements
- Get Affiliate User List: Extracted inline type definition to proper exported interface
GetAffiliateUserListParamsV5for 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
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
- feat(): Add licence file by @JJ-Cro in coinbase-api PR #104
- fix(v1.1.7): update circular ws issue by @JJ-Cro in coinbase-api PR #105
Full Changelog: coinbase-api compare v1.1.6...v1.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(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
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
- feat(): Add licence file by @JJ-Cro in kucoin-api PR #95
- fix(2.3.1): improve error handling in WebSocket client, fix circular error by @JJ-Cro in kucoin-api PR #96
Full Changelog: kucoin-api compare v2.3.0...v2.3
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
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
- 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
- chore: remove duplicate release trigger by @tiagosiebler in bybit-api PR #500
- revert(#499): web crypto api guard by @tiagosiebler in bybit-api PR #501
- chore(4.4.1): Update wsapi error handling, bump version by @JJ-Cro in bybit-api PR #503
Full Changelog: bybit-api compare v4.4.0...v4.4
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
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
- @dothanhlongtld made their first contribution in okx-api PR #152
Full Changelog: okx-api compare v3.0.8...v3.0
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
- @lutogin made their first contribution in bitget-api PR #100
Full Changelog: bitget-api compare v3.0.7...v3.0
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
What's Changed
- fix: add toAddrType in WithdrawRequest by @petarzarkov in okx-api PR #150
- chore: fix tests by @tiagosiebler in okx-api PR #151
New Contributors
- @petarzarkov made their first contribution in okx-api PR #150
Full Changelog: okx-api compare v3.0.7...v3.0
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
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
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
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 apiby @tiagosiebler in bybit-api PR #499-
- ^ was reverted
Full Changelog: bybit-api compare v4.4.0...v4.4.1 beta
What's Changed
- [Snyk] Security upgrade axios from 1.10.0 to 1.12.0 by @tiagosiebler in coinbase-api PR #98
- fix: bump axios to fix build by @tiagosiebler in coinbase-api PR #100
- fix(v1.1.6, #102): switch prime sign secret encoding to utf by @tiagosiebler in coinbase-api PR #103
Full Changelog: coinbase-api compare v1.1.5...v1.1
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
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
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
What's Changed
- feat(v3.0.7): add missing endpoints by @JJ-Cro in bitget-api PR #96 - resolves #95
Full Changelog: bitget-api compare v3.0.6...v3.0
What's Changed
- feat(v2.3.0): introduced Unified Trading Client by @JJ-Cro in kucoin-api PR #92
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
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
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
- @merovinh made their first contribution in binance PR #588
Full Changelog: binance compare v3.0.9...v3.1
What's Changed
- [Snyk] Security upgrade axios from 1.10.0 to 1.12.0 by @tiagosiebler in bitmart-api PR #58
- fix: build via axios bump by @tiagosiebler in bitmart-api PR #59
- chore(v2.1.30): update readme by @JJ-Cro in bitmart-api PR #60
Full Changelog: bitmart-api compare v2.1.29...v2.1
What's Changed
- [Snyk] Security upgrade axios from 1.11.0 to 1.12.0 by @tiagosiebler in bitget-api PR #91
- chore(): update tests by @JJ-Cro in bitget-api PR #92
- fix(v3.0.6): GET request method for sub deposit/withdrawal records by @tiagosiebler in bitget-api PR #93
Full Changelog: bitget-api compare v3.0.5...v3.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
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
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
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
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
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
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
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
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
- @fireflies1988 made their first contribution in gateio-api PR #77
Full Changelog: gateio-api compare v1.2.8...v1.2
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
What's Changed
- feat(): added mm urls by @JJ-Cro in binance PR #579
Full Changelog: binance compare v3.0.6...v3.0
- Fixes deduping workflow introduced in previous release
Full Changelog: bybit-api compare v4.2.5...v4.2
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
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
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
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
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
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
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
demomarket for REST & WS has been removed.- Demo trading is now accessed via a
demoTrading: trueparameter (for REST & WS). - Added hard error to prevent any accidental usage of "market: demo" for non-typescript users.
- Demo trading is now accessed via a
- 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.
errorevent has been refactored toexception
- 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
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
demomarket for REST & WS has been removed.- Demo trading is now accessed via a
demoTrading: trueparameter (for REST & WS). - Added hard error to prevent any accidental usage of "market: demo" for non-typescript users.
- Demo trading is now accessed via a
- 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.
errorevent has been refactored toexception
- 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
What's Changed
- feat(v4.2.4): add full support for RFQ endpoints by @JJ-Cro in bybit-api PR #474
- feat(v4.2.4): add full support for RFQ endpoints by @tiagosiebler in bybit-api PR #475
Full Changelog: bybit-api compare v4.2.3...v4.2
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
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
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
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
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
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
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_leveragetypo 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
marketUnitoptional property toOrderParamsV5interface 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
InstrumentInfotypes 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, updatedeleteSubApiKeyby @karimsan in bybit-api PR #346 - v3.10.5: Update
UpdateApiKeyParamsV5by @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
AccountMarginModeV5and interfaceCollateralInfoV5by @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
- @iam4x made their first contribution in bybit-api PR #180
- @twxia made their first contribution in bybit-api PR #183
- @JustMankus made their first contribution in bybit-api PR #203
- @mlake made their first contribution in bybit-api PR #225
- @sangnv-ptit made their first contribution in bybit-api PR #242
- @Tindtily made their first contribution in bybit-api PR #247
- @caiusCitiriga made their first contribution in bybit-api PR #256
- @ThijMau made their first contribution in bybit-api PR #287
- @t0chk made their first contribution in bybit-api PR #302
- @will2022 made their first contribution in bybit-api PR #317
- @Mnjongen made their first contribution in bybit-api PR #330
- @karimsan made their first contribution in bybit-api PR #346
- @JJ-Cro made their first contribution in bybit-api PR #350
- @soranoo made their first contribution in bybit-api PR #392
- @fireflies1988 made their first contribution in bybit-api PR #394
- @LanPRD made their first contribution in bybit-api PR #406
- @zororaka00 made their first contribution in bybit-api PR #433
- @batrudinych made their first contribution in bybit-api PR #443
Full Changelog: bybit-api compare v3.0.1...v4.2
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
For an up to date list of releases and updates, refer to:
- Closed Pull Requests: bybit-api on GitHub
- NPM: bybit api on npm
The above links are the best place to stay up to date on the latest releases for this SDK.
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:
| Class | Description |
|---|---|
| InverseClient | Inverse Perpetual Futures (v2) APIs |
| LinearClient | USDT Perpetual Futures (v2) APIs |
| InverseFuturesClient | Inverse Futures (v2) APIs |
| USDCPerpetualClient | USDC Perpetual APIs |
| USDCOptionClient | USDC Option APIs |
| UnifiedMarginClient | Derivatives (v3) unified margin APIs |
| SpotClientV3 | Spot Market (v3) APIs |
| Spot Market (v1) APIs | |
| AccountAssetClient | Account Asset APIs |
| CopyTradingClient | Copy Trading APIs |
| WebsocketClient | All WebSocket Events (Public & Private for all API categories) |
Examples for using each client can be found in:
- the examples folder.
- the awesome-crypto-examples repository.
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 Category | Market | Description |
|---|---|---|
| Unified Margin - Options | market: '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 - Perps | market: '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 Perps | market: 'inverse' | The inverse v2 perps category. |
| Futures v2 - USDT Perps | market: 'linear' | The USDT/linear v2 perps category. |
| Futures v2 - Inverse Futures | market: 'inverse' | The inverse futures v2 category uses the same market as inverse perps. |
| Spot v3 | market: 'spotv3' | The spot v3 category. |
| Spot v1 | market: '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 Trading | market: 'linear' | The copy trading category. Use the linear market to listen to all copy trading topics. |
| USDC Perps | market: 'usdcPerp | The USDC perps category. |
| USDC Options | market: '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:
- the examples folder.
- the awesome-crypto-examples repository (note, these will be updated shortly).
Issues & Discussion
- Issues? Check the issues tab.
- Discuss & collaborate with other node devs? Join our Node.js Algo Traders engineering community on telegram.
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
SpotClientis now deprecated in favour of the newSpotClientV3(which uses the newer v3 spot APIs). - The
keyparameter has been moved into the restOptions object. - The
secretparameter has been moved into the restOptions object. - The
useLivenetparameter has been renamed totestnetand moved into the restOptions object. - The REST clients now connect to the live environment by default, unless
testnet: trueis provided inrestOptions.
All REST clients now accept only two parameters:
constructor(
restOptions: RestClientOptions = {},
networkOptions: AxiosRequestConfig = {}
)
API credentials are passed into the first parameter.
disable_time_synchas been removed from the rest client options, since time sync is now disabled by default.- To re-enable time sync, use
enable_type_sync: truein the rest options object parameter.
Websocket-Client
- The WS client now connects to the live environment by default, unless
testnet: trueis provided in the ws client options. - The
marketparameter 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 theAPIMarketunion 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
wsKeySpotPublichave been grouped under aWS_KEY_MAPobject.- 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.spotPublicinstead. - If you were using the spot market, the
spotv3market is very much recommended (it supports automatic re-subscribe if the connection drops & reconnects)
- The
livenetparameter has been deprecated in favour oftestnet: boolean. - The websocket client now connects to livenet by default. If you want to use testnet, include the parameter
testnet: truein 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.
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)
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.
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_stopparameter for inverse clientsetTradingStop().
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
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
RestClienttoInverseClient. Implementation remains unchanged.
Breaking Changes
This release only has one major change affecting existing usage.
- Rename dexported
RestClienttoInverseClient. 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.
- As of version
Small fix to the error handler when API requests fail.
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.
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.
- huge reduction in module footprint (see step to 1.2.0): bundlephobia.com result
- expose request options in constructor, allowing proxy support (among other settings)
- bump websocket connectivity dependency to latest version.
- validated #12 is not an issue.
- misc refactoring & cleaning.
No releases found for the selected SDK.