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: Jul 11, 2026, 05:56 AM
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 - FiatBybitPay dropped from PermissionsV5 / ApiKeyPermissionsV5 (use FiatBitPay) - EarnPositionV5.availableAmount + freezeDetails are required in types now (API returns them) - CoinInfoV5.chains[].withdrawMax added; remainAmount still typed but deprecated Type updates (existing endpoints) - Position - openTime on PositionV5 + WSPositionV5 - Instruments - symbolId on spot / linear / inverse / option; InstrumentSymbolTypeV5 (stock, forex, etc.) - Affiliate user info - paySendAmount30Day, payFtt, cardFtt; request params coin, business - Fixed loan supply - availableSource on create; refundedAccount on cancel supply - Earn position - availableAmount, freezeDetails[] New - Strategy (/v5/strategy/) - createStrategyOrder - twap / chaseOrder / iceberg / pov - getStrategyList - getStrategyOrderList - stopStrategy New - Hold to Earn (/v5/earn/hold-to-earn/) - getHoldToEarnAirdropProducts - public, no auth - getHoldToEarnAirdropYieldHistory - needs Earn permission New - PWM investment plan (user) - getPwmInvestmentPlanList - GET .../investment-plan/list - getPwmInvestmentPlanDetail - getPwmPendingInvestmentPlanDetail - .../new-plan - claimPwmWithdrawableFunds - getPwmInvestmentPlanAssetTrend - getPwmFundHistoricalNav - subscribePwmInvestmentPlan - investMorePwmInvestmentPlan - redeemPwmInvestmentPlan - getPwmInvestmentPlanOrders New - PWM customize plan - getPwmSubscribableProductInfo - public - createPwmCustomizeInvestmentPlan New - PWM asset manager - getPwmAllFunds - settlePwmFundProfit - createPwmFund - createPwmAssetManagerInvestmentPlan - getPwmAssetManagerInvestmentPlans - not the same as user getPwmInvestmentPlanList - managePwmAssetManagerInvestmentPlan - getPwmAllFundOrders - managePwmFundOrder - approve/reject - createPwmFundSubAccount - pwmFundTransfer - custodian sub-account key - getPwmFundTransferRecords Affiliate - getAffiliateSubAffiliateList - GET /v5/affiliate/affiliate-sub-list New modules - src/types/request|response/v5-strategy.ts - src/types/request|response/v5-earn-pwm.ts Examples (examples/apidoc/) - V5/Strategy/ (4) - V5/Earn/get-hold-to-earn- (2) - V5/Earn/PWM/ (23) - V5/Affiliate/get-affiliate-sub-affiliate-list.js Other - docs/endpointFunctionList.md regenerated - llms.txt regenerated - version bump 4.6.2 -> 4.6.3
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() — returns CrossExFeeRate[]; each item includes required exchangetype. - PushOrder.id — string (was number). - getFuturesOrdersByTimeRange() — returns FuturesOrderTimerange[] (not FuturesOrder[]). - SpotPriceTriggeredOrder.put.timeinforce — now required ('gtc' | 'ioc'). - Earn (removed) — submitEth2Swap, getEth2RateHistory, structured product methods removed; related types removed from earn request/response. - Dual investment — getDualInvestmentProducts / getDualInvestmentOrders use new request interfaces instead of ad-hoc / FromToPageLimit. - Futures price-trigger create/amend (and delivery create) — return TriggerOrderResponse (id, idstring) instead of { id: number }. - CrossExRiskLimitTier — quickcalamount is required (constructors/mocks must supply it). - UnifiedAccountInfo.mode — required field (from earlier batch; may affect mocks). --- v4.106.44 / v4.106.48 - SpotCurrency: category?: string[]. - finishas: 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; PERIODICISOLATED on margin interest comment. - RestClient: getCrossExFeeRate, createCrossExConvertOrder signatures updated. v4.106.49–v4.106.51 - FuturesOrderTimerange + getFuturesOrdersByTimeRange. - FuturesOrder: ordervalue?, tradevalue? (response-only). - getFuturesOrder: JSDoc — path id vs text client id. - Earn: ETH2 + structured product endpoints and types removed. v4.106.52–v4.106.55 - Futures price-trigger: amount? on create initial and on amend request. - Earn auto-invest: new types/request/autoinvest.ts, types/response/autoinvest.ts, exports in index.ts, RestClient methods for all /earn/autoinvest/ routes in scope. - Rebate: PartnerDataAggregated / PartnerDataAggregatedResponse, getPartnerAgentDataAggregated. v4.106.56–v4.106.58 - WithdrawalRecord: timestamp / DONE wording (no blocknumber > 0 completion rule). - CrossExRiskLimitTier: quickcalamount. - FuturesContract / FuturesDeliveryContract: contracttype?. - GetSubAccountBalancesReq: page?, limit?; getSubBalance uses it. v4.106.59–v4.106.61 - Dual earn: refund preview, refund, modify reinvest, project recommend; list plans / list orders query types; models DualOrderRefundPreview, DualProjectRecommend, etc. - SubAccountBalance: locking?; getSubBalance return type. - TriggerOrderResponse, FuturesPriceTriggeredOrder.idstring?; futures + delivery price-trigger create/amend returns. - Rebate list items: JSDoc — commission fields are rebate commission, not generic trade notional. - FuturesContract.interestrate: 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 Base URL Split & Migration On 06/03/2026, Binance announced a routing upgrade to their USDM Futures WebSocket System, titled: "Binance USDⓈ-M Futures WebSocket System Upgrade Notice (2026-03-06)". Key Highlights: - Introduction of three dedicated WebSocket base URLs: - Public (high-frequency public market data) - wss://fstream.binance.com/public - Market (regular market data) - wss://fstream.binance.com/market - Private (user data streams) - wss://fstream.binance.com/private - New endpoints are supported immediately upon this announcement. - Legacy WebSocket URLs will be permanently retired on 2026-04-23. - Documentation including endpoint & stream mapping: developers.binance.com Important WebSocket Change Notice Binance JavaScript SDK Support All three dedicated WebSocket base URLs are supported. Each with their own unique WsKey, used to track each unique connection. Continue to subscribe to market data as before with the dedicated subscribe method, but ensure to provide the connection key depending on the type of market data you are consuming. Minimal examples: 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 orderid and clientorderid fields to FuturesAccountTradesRequest - Made symbol field optional to support querying by order ID or client order ID - Enables querying order trades by order ID or client order ID in addition to symbol 2. New Affiliate Rebate Endpoints (2025-12-11) Files Modified: - src/types/request/futures.types.ts - src/types/response/futures.types.ts - src/FuturesClientV2.ts New Endpoints: - getFuturesAffiliateRebateUser() - /contract/private/affiliate/rebate-user - Query contract rebate data for users (up to 60 days) - getFuturesAffiliateRebateApi() - /contract/private/affiliate/rebate-api - Query contract API rebate data (up to 60 days) New Types: - FuturesAffiliateRebateUserRequest - Request type for user rebate data - FuturesAffiliateRebateApiRequest - Request type for API rebate data - FuturesAffiliateRebateUserResponse - Response type for user rebate data - FuturesAffiliateRebateApiResponse - Response type for API rebate data 3. Simulated Trading / Demo Environment Support (2025-11-18) Files Modified: - src/types/request/futures.types.ts - src/types/response/futures.types.ts - src/lib/requestUtils.ts - src/lib/websocket/websocket-util.ts - src/types/websockets/client.ts - src/FuturesClientV2.ts - src/WebsocketClient.ts - README.md REST API Changes: - Added useDemo option to RestClientOptions interface - Updated getRestBaseUrl() to support demo environment - Demo REST endpoint: demo-api-cloud-v2.bitmart.com - Added submitFuturesSimulatedClaim() method for simulated account claim - New types: SubmitFuturesSimulatedClaimRequest, FuturesSimulatedClaimResponse WebSocket Changes: - Added useDemo option to WSClientConfigurableOptions interface - Updated WSBASEURLMAP to include demo URLs for V2 Futures - Updated getWsUrl() method to support demo environment - Demo WebSocket endpoints: - Public: wss://openapi-wsdemo-v2.bitmart.com/api?protocol=1.1 - Private: wss://openapi-wsdemo-v2.bitmart.com/user?protocol=1.1 Documentation: - Added demo trading section to README.md - Included examples for both REST and WebSocket clients - Clarified that demo environment is only available for V2 Futures Usage Examples New Affiliate Rebate Endpoints Updated Trades Endpoint Demo Trading Environment Breaking Changes None - all changes are backward compatible. Notes - Demo environment is only available for V2 Futures (not Spot or V1 Futures) - The same API keys work for both production and demo environments - Manual baseUrl/wsUrl override still takes precedence over useDemo flag - All new endpoints follow existing code patterns and conventions Testing - All TypeScript types are properly defined - Linter checks pass - Code follows existing patterns and conventions - Documentation updated with examples
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 npmandyarn group across 1 directory by @dependabot[bot] in bybit-api PR #506 [Snyk] Upgrade webpack-bundle-analyzer from 4.3.0 to 4.10.2 by @tiagosiebler in bybit-api PR #507 Summary - Update Bybit V5 API client to support the latest release notes from 2025-11-25 and 2025-11-27. This includes new crypto loan endpoints for renewing borrow orders and an additional response field for USDT pre-market contracts. - Market Data Updates (2025-11-25) - Get Instruments Info: Added skipCallAuction?: boolean field - Get Account Instruments Info: Inherited skipCallAuction field - Crypto Loan - Fixed Loan (2025-11-27) - Added two new endpoints for renewing fixed crypto loans: Full Changelog: bybit-api compare v4.4.2...v4.4
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/): - GetBrokerTotalCommissionRequestV2 - GetBrokerOrderCommissionRequestV2 - GetBrokerRebateInfoRequestV2 - FuturesMaxOpenRequestV2 - FuturesLiquidationPriceRequestV2 - FuturesIsolatedSymbolsRequestV2 V2 Response Types (src/types/response/v2/): - BrokerTotalCommissionV2 - BrokerOrderCommissionV2 & BrokerOrderCommissionItemV2 - BrokerRebateInfoV2 - FuturesMaxOpenV2 - FuturesLiquidationPriceV2 - FuturesIsolatedSymbolV2 V3 Request Types (src/types/request/v3/): - GetMaxTransferableRequestV3 V3 Response Types (src/types/response/v3/): - MaxTransferableV3 Files Modified - src/rest-client-v2.ts - Added 6 new methods with JSDoc - src/rest-client-v3.ts - Added 1 new method with JSDoc - src/types/request/v2/broker.ts - Added 3 request interfaces - src/types/response/v2/broker.ts - Added 3 response interfaces - src/types/request/v2/futures.ts - Added 3 request interfaces - src/types/response/v2/futures.ts - Added 3 response interfaces - src/types/request/v3/account.ts - Added 1 request interface - src/types/response/v3/account.ts - Added 1 response interface Full Changelog: bitget-api compare v3.0.9...v3.0
What's Changed feat(v3.1.4): New algo orders, minor changes by @JJ-Cro in binance PR #604 1. Spot API - New symbolStatus Parameter Affected Endpoints: - REST API: - GET /api/v3/depth - GET /api/v3/ticker/price - GET /api/v3/ticker/bookTicker - GET /api/v3/ticker/24hr - GET /api/v3/ticker/tradingDay - GET /api/v3/ticker - WebSocket API: - depth - ticker.price - ticker.book - ticker.24hr - ticker.tradingDay - ticker Files Modified: - src/types/spot.ts - Added symbolStatus to TradingDayTickerParams and RollingWindowTickerParams - src/types/shared.ts - Added symbolStatus to OrderBookParams - src/main-client.ts - Added symbolStatus to method parameters - src/types/websockets/ws-api-requests.ts - Added symbolStatus to request interfaces Usage: 2. Deprecated WebSocket Stream - !ticker@arr Change: The !ticker@arr stream has been deprecated by Binance (effective 2025-11-14). Files Modified: - src/types/websockets/ws-events-formatted.ts - Added @deprecated JSDoc warning - src/util/typeGuards.ts - Added deprecation warning to isWsFormatted24hrTickerArray() - examples/WebSockets/ws-public.ts - Updated to use !miniTicker@arr instead - examples/WebSockets/ws-custom-parser.ts - Updated to use !miniTicker@arr instead - README.md - Updated examples to use recommended alternatives Migration: Change: OPPONENT10 and OPPONENT20 are temporarily removed from place/amend flows (effective 2025-10-23). Files Modified: - src/types/futures.ts - Added deprecation comment to PriceMatchMode - src/types/portfolio-margin.ts - Added deprecation comment to PMPriceMatch Affected Endpoints: - USDⓈ-M Futures: POST/PUT /fapi/v1/order, POST/PUT /fapi/v1/batchOrders - COIN-M Futures: POST/PUT /dapi/v1/order, POST/PUT /dapi/v1/batchOrders - Portfolio Margin: POST/PUT /papi/v1/um/order, POST/PUT /papi/v1/cm/order, etc. 4. USDⓈ-M Futures - Order Expire Reason Field Change: New er (order expire reason) field available in ORDERTRADEUPDATE stream (effective 2025-10-23). Files Modified: - src/types/websockets/ws-events-raw.ts - Added er?: string to WsMessageFuturesUserDataOrderTradeUpdateEventRaw - src/types/websockets/ws-events-formatted.ts - Added orderExpireReason?: string to WsMessageFuturesUserDataTradeUpdateEventFormatted Usage: 5. USDⓈ-M Futures - Algo Orders (Conditional Orders Migration) Change: Conditional orders migrated to Algo Service (effective 2025-12-02). Order Types Affected: - STOPMARKET - TAKEPROFITMARKET - STOP - TAKEPROFIT - TRAILINGSTOPMARKET 5.1 New REST API Endpoints Files Modified: - src/types/futures.ts - Added new Algo Order types and interfaces - src/usdm-client.ts - Added new REST API methods New Methods: New Endpoints: - POST /fapi/v1/algoOrder - Place an algo order - DELETE /fapi/v1/algoOrder - Cancel an algo order - DELETE /fapi/v1/algoOpenOrders - Cancel all open algo orders - GET /fapi/v1/algoOrder - Query an algo order - GET /fapi/v1/openAlgoOrders - Query algo open order(s) - GET /fapi/v1/allAlgoOrders - Query algo order(s) 5.2 New WebSocket Events Files Modified: - src/types/websockets/ws-events-raw.ts - Added WsMessageFuturesUserDataAlgoUpdateRaw - src/types/websockets/ws-events-formatted.ts - Added WsMessageFuturesUserDataAlgoUpdateFormatted New Event Type: ALGOUPDATE Usage: 6. New TypeScript Types and Interfaces Added to src/types/futures.ts: Breaking Changes None. All changes are backwards compatible: - New optional parameters won't affect existing code - Deprecated streams still work (will be removed by Binance at a later date) - Deprecated priceMatch values temporarily removed by Binance but kept in types for compatibility - New methods and types are additive Migration Guide For !ticker@arr Stream Users 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}/priceorders/{orderid} - Description: Update a single price-triggered order 2. Get Account Main Keys - Method: getAccountMainKeys() - Endpoint: GET /account/mainkeys - Description: Query all main account API key information 📝 Type Updates New Types Added - AccountMainKey - Response interface for main account API keys - DepositRecord - Dedicated interface for deposit records with new status values - UpdateFuturesPriceTriggeredOrderReq - Request parameters for updating price-triggered orders Updated Types - WithdrawalRecord - Enhanced status field descriptions with detailed comments - SubmitFuturesTriggeredOrderReq - Made price and rule fields required in trigger object - DepositRecord - New status values: BLOCKED, DEPCREDITED (removed FINAL) - CurrencyChain - Documented isdepositdisabled field 🔄 Method Updates Return Type Changes - getDepositRecords() - Now returns DepositRecord[] instead of WithdrawalRecord[] Documentation Updates - cancelWithdrawal() - Documented blocknumber field in response - getCurrencyChains() - Added note about low liquidity currencies - getWithdrawalStatus() - Added note about API limitations for low liquidity tokens - getSpotCurrencyPairs() / getSpotCurrencyPair() - Marked fee field as deprecated - submitFuturesPriceTriggeredOrder() - Documented required fields - submitEth2Swap() - Updated terminology (ETH2 → GTETH) - getEth2RateHistory() - Updated terminology (ETH2 → GTETH) - getUnifiedAccountInfo() - Updated field descriptions for crossbalance and isobalance ✅ Changes Summary - ✅ 2 new endpoints implemented - ✅ 3 new TypeScript interfaces added - ✅ 4 existing interfaces updated - ✅ 11 methods updated with improved documentation - ✅ All imports and exports properly configured - ✅ Zero linter errors - ✅ Full TypeScript type safety maintained 📋 Breaking Changes Required Field Updates - SubmitFuturesTriggeredOrderReq.trigger.price - Now required (was optional) - SubmitFuturesTriggeredOrderReq.trigger.rule - Now required (was optional) - SubmitFuturesTriggeredOrderReq.initial.price - Now required (was optional) Return Type Changes - getDepositRecords() return type changed from WithdrawalRecord[] to DepositRecord[] 🔗 Related Changelog Versions - v4.105.28 - Withdrawal blocknumber 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, and fundingCap for enhanced funding rate information Account APIs - Get Transaction Log: Added optional transSubType parameter to filter transaction logs by sub-type (e.g., "movePosition" for Move Position logs) Spot Margin Trade (UTA) APIs - New Endpoints - Manual Borrow (POST /v5/account/borrow): New endpoint for UTA manual borrow operations - Added ManualBorrowParamsV5 request type - Added ManualBorrowResultV5 response type - Get Max Borrowable Amount (GET /v5/spot-margin-trade/max-borrowable): New endpoint to query maximum borrowable amount for a currency - Added GetMaxBorrowableAmountParamsV5 request type - Added MaxBorrowableAmountV5 response type - Get Position Tiers (GET /v5/spot-margin-trade/position-tiers): New endpoint to get loan position risk information - Added GetPositionTiersParamsV5 request type - Added PositionTierV5 and CurrencyPositionTiersV5 response types - Get Coin State (GET /v5/spot-margin-trade/coinstate): New endpoint to get currency leverage information - Added GetCoinStateParamsV5 request type - Added CoinStateV5 response type - Get Available Amount to Repay (GET /v5/spot-margin-trade/repayment-available-amount): New endpoint to query available amount for repayment - Added GetAvailableAmountToRepayParamsV5 request type - Added AvailableAmountToRepayV5 response type - Manual Repay Without Asset Conversion (POST /v5/account/no-convert-repay): New endpoint for manual repayment without asset conversion - Added ManualRepayWithoutConversionParamsV5 request type - Added ManualRepayWithoutConversionResultV5 response type - Note: Repayment is prohibited between 04:00 and 05:30 per hour Spot Margin Trade - Updated Endpoints - Set Leverage (POST /v5/spot-margin-trade/set-leverage): Enhanced to support optional currency parameter for setting leverage by currency - Added SetSpotMarginLeverageParamsV5 type - Maintains backward compatibility Code Quality Improvements - Get Affiliate User List: Extracted inline type definition to proper exported interface GetAffiliateUserListParamsV5 for better type reusability and maintainability Type Definitions - All new request and response types are properly exported from their respective type definition files - Types are fully documented with JSDoc comments where applicable - All changes maintain backward compatibility Full Changelog: bybit-api compare v4.4.1...v4.4
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 api by @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.MAXSAFEINTEGER. 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: 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: 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 demo market for REST & WS has been removed. - Demo trading is now accessed via a demoTrading: true parameter (for REST & WS). - Added hard error to prevent any accidental usage of "market: demo" for non-typescript users. - WS Client options - Type has been updated to point to RestClientOptions. - To set a custom "agent" parameter, use wsOptions in the WSClientOptions instead. - The injectable custom logger has been simplified to 3 basic logging levels, consistent with our other SDKs. - error event has been refactored to exception - Not a breaking change but the underlying sign is now generated using Web Crypto API. More universal but slightly slower than node's native crypto module. Refer to fasterHmacSign above, if you're latency sensitive. Full Changelog: okx-api compare v2.0.8...v3.0
WebSocket API & Hybrid ESM/CJS Introducing the next major release, finally bringing full support for OKX's WebSocket API in a convenient REST-like API wrapper. Key Pull Requests feat(v3.0.0): introduce WebSocket API, upgrade sign to use Web Crypto API, misc WebSocket upgrades, bump build to Node LTS by @tiagosiebler in okx-api PR #123 feat(): upgrade SDK to hybrid esm/cjs module. update import/export statements for new structure by @tiagosiebler in okx-api PR #126 Update endpoint map & llms by @JJ-Cro in okx-api PR #127 Summary - Upgraded SDK to hybrid ESM/CJS module (via #126). No breaking changes expected from this. - Introduce full support for the OKX WebSocket API, including a new dedicated WebsocketAPIClient for a REST-like integration with OKX's WebSocket API. Check the examples folder for demonstrations! - Bump node build version to LTS. - Bump dependencies. - Upgrade underlying BaseWSClient architecture, to catch up with upgrades from other SDKs. - Transition to Web Crypto API for sign. This has better compatibility across browsers than node's native crypto module. For latency sensitive users, you can inject a custom sign method to continue using Node's native crypto for request sign. See the examples/auth/fasterHmacSign.ts example for a demonstration. - Introduced customSignMessageFn parameter (REST & WS) to inject custom sign method - This can be used by latency sensitive users to revert to Node's slightly faster createHmac sign method. See the fasterHmacSign example in examples/auth/ for a demonstration. - Split CI tests to run separately (first public then private). Breaking Changes This upgrade introduces the following breaking changes: - REST Client constructor options simplified, see #111 for more details. - The demo market for REST & WS has been removed. - Demo trading is now accessed via a demoTrading: true parameter (for REST & WS). - Added hard error to prevent any accidental usage of "market: demo" for non-typescript users. - WS Client options - Type has been updated to point to RestClientOptions. - To set a custom "agent" parameter, use wsOptions in the WSClientOptions instead. - The injectable custom logger has been simplified to 3 basic logging levels, consistent with our other SDKs. - error event has been refactored to exception - Not a breaking change but the underlying sign is now generated using Web Crypto API. More universal but slightly slower than node's native crypto module. Refer to fasterHmacSign above, if you're latency sensitive. Full Changelog: okx-api compare v2.0.8...v3.0
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): maxleverage typo by @iam4x in bybit-api PR #180 v3.1.0: fix typo in types (#180), fix tests, fix repeating subscribe/unsubscribe WS events to active connections by @tiagosiebler in bybit-api PR #182 missing unifiedPrivate in WSAUTHONCONNECTKEYS by @twxia in bybit-api PR #183 chore(): fix changed test error code by @tiagosiebler in bybit-api PR #184 feat(#187, v3.1.2): add support for new orderCategory param for spotv3 by @tiagosiebler in bybit-api PR #188 v3.1.3: fix(#187) rare signature failure for spotv3 GET with parameters by @tiagosiebler in bybit-api PR #190 v3.2.0: Contract V3 REST & WebSocket Clients. Improve websocket reconnection resilience by @tiagosiebler in bybit-api PR #196 update tests for copy trading client by @tiagosiebler in bybit-api PR #197 v3.3.0: fix rare sign error when using cursors in private unified margin API calls. expand unified margin response types. expand tests. by @tiagosiebler in bybit-api PR #198 v3.3.1: fix(#199) wrong endpoint for contract.getOpenInterestLimitInfo by @tiagosiebler in bybit-api PR #201 missing api by @JustMankus in bybit-api PR #203 v3.3.2: feat(#203) add execution history list endpoint for linear by @tiagosiebler in bybit-api PR #204 new param Type for getHistoryTradeRecordsRequest. by @JustMankus in bybit-api PR #205 v3.3.4: fix optional param in contract client, add js/ts samples for contract client, fix e2e open interest limit test, update readme by @tiagosiebler in bybit-api PR #208 v3.3.5: fix typo in contract endpoint order request interfaces by @tiagosiebler in bybit-api PR #209 v3.3.6: add response type for contract ticker by @tiagosiebler in bybit-api PR #210 v3.3.7: fix nesting in contract list result type by @tiagosiebler in bybit-api PR #211 fix contract symbol ticker response typo by @tiagosiebler in bybit-api PR #212 v3.3.9: fix copy trading close order endpoint. add ws log for topic sub request. add example for rest copy closing. by @tiagosiebler in bybit-api PR #216 v3.3.10: fix(#220): correctly detecting usdc pairs for unified perp ws market by @tiagosiebler in bybit-api PR #221 Bump json5 from 2.1.3 to 2.2.3 by @dependabot[bot] in bybit-api PR #215 Bump loader-utils from 2.0.0 to 2.0.4 by @dependabot[bot] in bybit-api PR #200 v3.4.0: feat(#219) add support for account asset v3 REST endpoints by @tiagosiebler in bybit-api PR #223 string type error in createSubAPIKeyRequest by @mlake in bybit-api PR #225 v3.4.1: fix(#225) fix typos in account asset v3 client by @tiagosiebler in bybit-api PR #226 v3.4.2: fix() missing property from linear client set trading stop method by @tiagosiebler in bybit-api PR #229 v3.5.0: RestClientV5 with end-to-end tests by @tiagosiebler in bybit-api PR #224 v3.5.1: Support for V5 WebSockets by @tiagosiebler in bybit-api PR #230 v3.5.2: feat() add missing v5 internal deposit records endpoint. fix(#233) return type for v5 wallet balance endpoint, fix(#232) timestamp resolution for v5 fetch time endpoint by @tiagosiebler in bybit-api PR #234 fix(#240): fix sign error on parallel requests due to pointer mutation by @tiagosiebler in bybit-api PR #241 Support triggerPrice in ContractModifyOrderRequest by @sangnv-ptit in bybit-api PR #242 v3.5.4: feat(#242) add request param to contract replace order endpoint by @tiagosiebler in bybit-api PR #243 v3.5.5: fix() add missing wallet balance response type properties by @tiagosiebler in bybit-api PR #245 v3.5.6, feat(#249): add 10-per-event limiter to spot v5 subscriptions, chore(): enable trailing comma linting rule by @tiagosiebler in bybit-api PR #250 Add syncTimeBeforePrivateRequests option by @Tindtily in bybit-api PR #247 v3.5.7: feat(#247) add optional flag to sync time before every api call by @tiagosiebler in bybit-api PR #252 v3.5.8: feat() easier env-controlled HTTP traces. Add missing properties for asset v5 types. by @tiagosiebler in bybit-api PR #254 chore(): update tests for compatibility with new testing sub account by @tiagosiebler in bybit-api PR #262 #218 Returning a promise when subscribing to topic(s) by @caiusCitiriga in bybit-api PR #256 build(deps-dev): bump webpack from 5.13.0 to 5.76.0 by @dependabot[bot] in bybit-api PR #239 v3.6.0: feat(#218, #256) returning a promise when subscribing by @tiagosiebler in bybit-api PR #263 feat(): add copy trading ws topic example by @tiagosiebler in bybit-api PR #265 v3.7.0: add missing v5 endpoints, add new tpsl request/response v3 & v5 parameters, add rest api samples for docs by @tiagosiebler in bybit-api PR #267 v3.7.1: chore() naming consistency for interface, pass through logger for ws url getter by @tiagosiebler in bybit-api PR #273 v3.7.2: fix() response type for v5 open interest endpoint by @tiagosiebler in bybit-api PR #283 fix(#286): automatic type determination for instrument info by @ThijMau in bybit-api PR #287 v3.7.3: feat(#286) improved type flowing for instrument info v5 by @tiagosiebler in bybit-api PR #288 v3.7.4: feat(#251, #291) add optional endpoint rate limit parsing, add deprecation warnings for v1/v2 rest clients, improve v5 types, bump dependencies by @tiagosiebler in bybit-api PR #293 v3.7.5: fix() optional properties in AccountOrderV5 response interface by @tiagosiebler in bybit-api PR #294 v3.7.6: feat() update batch order types & categories by @tiagosiebler in bybit-api PR #295 feat(types): adds WSAccountOrderEventV5 & WSAccountOrderV5 interfaces by @caiusCitiriga in bybit-api PR #300 type fixing by @t0chk in bybit-api PR #302 Minor docs updates, add recv window for ws client by @tiagosiebler in bybit-api PR #304 v3.8.0: Safer WS timer cleanup & teardown, add proxy/rate limits example, docs... by @tiagosiebler in bybit-api PR #306 v3.8.1: feat() add type guard and type for ws orderbook events by @tiagosiebler in bybit-api PR #309 v3.8.2: feat(#310) add set collateral coin endpoints by @tiagosiebler in bybit-api PR #311 v3.9.0: Upgrades to dependencies (axios, node build version, typescript, jest, etc) by @tiagosiebler in bybit-api PR #312 v3.9.1: feat(user): add methods to delete submember by @ThijMau in bybit-api PR #314 v3.9.2: fix(#315) orderbook level type by @tiagosiebler in bybit-api PR #316 Add marketUnit optional property to OrderParamsV5 interface by @will2022 in bybit-api PR #317 v3.9.4: feat() update test & publish actions, update public ws example, disable test for deprecated endpoint by @tiagosiebler in bybit-api PR #318 v3.9.5: chore() add permissions needed for provenance generation by @tiagosiebler in bybit-api PR #319 v3.9.6: feat(#322) add nextPageCursor type via generic by @tiagosiebler in bybit-api PR #323 v3.9.7: feat(#324) add new account order v5 properties by @tiagosiebler in bybit-api PR #325 v3.9.8: Updated V5 InstrumentInfo types by @Mnjongen in bybit-api PR #330 chore(): remove UM tests covering dead endpoints, fix v5 test by @tiagosiebler in bybit-api PR #331 v3.10.0: feat() add v5 demo trading by @tiagosiebler in bybit-api PR #334 v3.10.1: fix(#333) v5 time endpoint by @tiagosiebler in bybit-api PR #335 v3.10.2: Added and updated V5 types. Added type guards. by @will2022 in bybit-api PR #338 v3.10.3: feat(#340) fix pass-through headers for proxying via nginx. add second proxy example. by @tiagosiebler in bybit-api PR #343 v3.10.4: Introduce getSubAccountAllApiKeys, update deleteSubApiKey by @karimsan in bybit-api PR #346 v3.10.5: Update UpdateApiKeyParamsV5 by @karimsan in bybit-api PR #347 v3.10.6: chore() readme & logo updates, fix() bump dependencies by @tiagosiebler in bybit-api PR #348 chore(): update license by @tiagosiebler in bybit-api PR #352 feat(): Added all missing endpoints by @JJ-Cro in bybit-api PR #350 v3.10.9: chore() bump dependencies, fix() strict test, chore() run linter by @tiagosiebler in bybit-api PR #353 v3.10.10: feat() Update type AccountMarginModeV5 and interface CollateralInfoV5 by @karimsan in bybit-api PR #354 v3.10.11: fix() deprecated endpoints (copy trading & unified margin client) by @JJ-Cro in bybit-api PR #357 v3.10.12: feat() Add convert endpoints, convert examples, small updates to request/response types by @JJ-Cro in bybit-api PR #359 chore(): deprecate unified margin private test by @tiagosiebler in bybit-api PR #360 v3.10.13: feat() add updated withdraw request params by @tiagosiebler in bybit-api PR #362 fix(): Comma/semicolon fix in params by @JJ-Cro in bybit-api PR #364 feat(): Added endpoint, updated types by @JJ-Cro in bybit-api PR #366 v3.10.15: feat(): updated missing examples and endpoints by @JJ-Cro in bybit-api PR #367 v3.10.16: feat(): added missing API examples, deprecated abandoned functions by @JJ-Cro in bybit-api PR #369 v3.10.17: chore() update dependencies, feat() add apiRegion config for changing regional API URL by @tiagosiebler in bybit-api PR #370 v3.10.18: feat(#368) add config for HTTP keep alive via axios by @tiagosiebler in bybit-api PR #371 feat(): added automatic Readme actions by @JJ-Cro in bybit-api PR #373 chore(): README.md template sections by @tiagosiebler in bybit-api PR #376 chore(): cleaned up old tests by @JJ-Cro in bybit-api PR #377 feat(): added new endpoints by @JJ-Cro in bybit-api PR #378 feat(): extend demo trading sample to include more ws logic by @tiagosiebler in bybit-api PR #379 feat(): added Crypto Loan endpoints by @JJ-Cro in bybit-api PR #381 feat(): added links to endpoint map by @JJ-Cro in bybit-api PR #382 feat(): added latency check, updated example by @JJ-Cro in bybit-api PR #384 feat(#385): updated createSubAPIKey params to match docs by @JJ-Cro in bybit-api PR #386 chore(): marked clients for deprecation by @JJ-Cro in bybit-api PR #387 fix(type): fixed #391 by @soranoo in bybit-api PR #392 fix(): failing tests, failing eslint configuration, chore(): run linter by @tiagosiebler in bybit-api PR #393 fix(types): add missing 'mmDeduction' prop to RiskLimitV5 by @fireflies1988 in bybit-api PR #394 v3.10.27 feat(): updated request params by @JJ-Cro in bybit-api PR #395 v3.10.28 feat(): added new endpoints, updated examples by @JJ-Cro in bybit-api PR #401 feat(): added nextPageCursor example by @JJ-Cro in bybit-api PR #403 fix(): updated test parameters so it can pass by @JJ-Cro in bybit-api PR #404 fix(): adjusted type definitions for instruments endpoint by @LanPRD in bybit-api PR #406 Fix submit order example by @tiagosiebler in bybit-api PR #408 v3.10.30: add missing WSExecutionV5 execPnl property. Bump npm audit dependency. by @tiagosiebler in bybit-api PR #410 fix(v3.10.31, #411): demo trading wss should only be used for private topics. by @tiagosiebler in bybit-api PR #412 feat(v3.10.32): add params for GetDeliveryRecord, fixed e2e tests by @JJ-Cro in bybit-api PR #415 chore(): fix env vars for test split by @tiagosiebler in bybit-api PR #416 feat(3.10.33): Updated return types for getSubDepositAddress, createUniversalTransfer and createInternalTransfer by @JJ-Cro in bybit-api PR #418 feat(): added/updated types with latest documentation changes by @JJ-Cro in bybit-api PR #419 feat(): added new Earn REST endpoints by @JJ-Cro in bybit-api PR #420 feat(v3.10.34): added slippage tolerance types to order endpoints by @JJ-Cro in bybit-api PR #421 fix(v3.11.0): ensure private GET requests use serialised/encoded params appended to URL. Update slippage tolerance type to optional. by @tiagosiebler in bybit-api PR #422 v4.0.0: WebSocket API, WebsocketClient upgrades, decommission deprecated v1-v3 API groups by @tiagosiebler in bybit-api PR #398 fix(v4.0.1, #425): fix WSOrderbookEventV5 type definition. Bump dependencies. by @tiagosiebler in bybit-api PR #426 feat(v4.1.0): Add full support for P2P trading, Add suffix to recent Earn types (minor breaking change) by @JJ-Cro in bybit-api PR #429 chore(v4.1.1): update travel rule request params by @JJ-Cro in bybit-api PR #430 feat(v4.1.2): added websocket types for all topics by @JJ-Cro in bybit-api PR #431 feat(v4.1.3): full support for demo endpoints by @JJ-Cro in bybit-api PR #432 fix(types): change response v5-asset CoinInfoV5.name by @zororaka00 in bybit-api PR #433 feat(v4.1.4): full spread trading support by @JJ-Cro in bybit-api PR #434 feat(v4.1.5): updated latency check to look at absolute values, fixed batch order responses, updated new endpoints by @tiagosiebler in bybit-api PR #439 chore(v4.1.6): updated post to postPrivate for getP2POnlineAds by @JJ-Cro in bybit-api PR #440 feat(v4.1.7): fast execution topics should use authenticated stream by @tiagosiebler in bybit-api PR #442 fix typo by @batrudinych in bybit-api PR #443 feat(): added bybit wsapi client all functions by @JJ-Cro in bybit-api PR #445 feat(): added wsapiclient examples, updated endpoint map, updated lin… by @JJ-Cro in bybit-api PR #446 feat(v4.1.8): introduce websocket API client wrapper, chore(): misc typo fixes & cleaning by @tiagosiebler in bybit-api PR #444 feat(v4.1.9): new ws topic, updated response and request types by @JJ-Cro in bybit-api PR #449 Update README.md by @JJ-Cro in bybit-api PR #451 feat(4.1.10): add new WSTickerOptionV5 and WSTickerSpotV5 interfaces for enhanced websocket event handling by @JJ-Cro in bybit-api PR #453 feat(v4.1.11): add preCheckOrder method with corresponding types and example usage, add txId and Id to deposit records by @JJ-Cro in bybit-api PR #454 feat(v4.1.12): added new endpoints,new ws topic updated types for existing endpoints, added examples for new endpoints, updated endpoint map, bumped version by @JJ-Cro in bybit-api PR #457 chore(v4.1.13): bump dependency. Update readme with rate limits note. by @tiagosiebler in bybit-api PR #459 feat(v4.1.14): Add new fields to response types for account, position, execution, spread trading, and websocket events. by @JJ-Cro in bybit-api PR #460 chore(v4.1.15): marked removed functions for deprecation, updated tests by @JJ-Cro in bybit-api PR #461 feat(v4.1.16): add keepAlive, add lint script, edit lint errors by @JJ-Cro in bybit-api PR #462 feat(v4.1.17): update dependencies and ESLint configuration, fix all linter errors by @JJ-Cro in bybit-api PR #463 chore(): update readme by @tiagosiebler in bybit-api PR #467 feat(v4.2.0): RSA, llm.txt, bump dependencies by @JJ-Cro in bybit-api PR #466 feat(v4.2.0): RSA, llm.txt, bump dependencies by @tiagosiebler in bybit-api PR #468 feat(v4.2.1): added new crypto loan endpoints and examples, updates types by @JJ-Cro in bybit-api PR #470 [Snyk] Upgrade axios from 1.8.3 to 1.10.0 by @tiagosiebler in bybit-api PR #469 feat(v4.2.2): add webcryptoapi support check and update readme, bump axios by @JJ-Cro in bybit-api PR #471 chore():Update GitHub Actions workflow for NPM publishing by @JJ-Cro in bybit-api PR #472 chore(): bump version to 4.2.3 in package.json and package-lock.json by @JJ-Cro in bybit-api PR #473 New Contributors @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. ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- [ ][1] [1]: bybit api on npm 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 | | SpotClient (deprecated, v3 client recommended)| 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 SpotClient is now deprecated in favour of the new SpotClientV3 (which uses the newer v3 spot APIs). - The key parameter has been moved into the restOptions object. - The secret parameter has been moved into the restOptions object. - The useLivenet parameter has been renamed to testnet and moved into the restOptions object. - The REST clients now connect to the live environment by default, unless testnet: true is provided in restOptions. All REST clients now accept only two parameters: API credentials are passed into the first parameter. - disabletimesync has been removed from the rest client options, since time sync is now disabled by default. - To re-enable time sync, use enabletypesync: true in the rest options object parameter. Websocket-Client - The WS client now connects to the live environment by default, unless testnet: true is provided in the ws client options. - The market parameter is now required in the ws client config. It tells the websocket client which websocket URL to use, since there's variation between spotv1, spotv3, futures, unified margin and other markets. Check the APIMarket union type for a list of possible values (which your IDE should also be able to show, if you're using typescript). - Constant parameters such as wsKeySpotPublic have been grouped under a WSKEYMAP object. - The WsKey values remain the same, with some new additions. - If you were using the exported constant (e.g. wsKeySpotPublic), you will need to update your code to use WSKEYMAP.spotPublic instead. - If you were using the spot market, the spotv3 market is very much recommended (it supports automatic re-subscribe if the connection drops & reconnects) - The livenet parameter has been deprecated in favour of testnet: boolean. - The websocket client now connects to livenet by default. If you want to use testnet, include the parameter testnet: true in your client options. - This is consistent with my other api connectors, which connect to livenet by default. - In future, the REST clients will also connect to the live environment by default.
Summary This expands the library to support the spot REST & Websocket APIs. 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. 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. Changelog - Introduce a new REST client: InverseFuturesClient. Resolves #82. - Update & clean readme. - Add missing trailingstop parameter for inverse client setTradingStop().
Changelog See #80 for details. This fixes a pass-through parameter to pass a custom base URL in the REST constructors.
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. Changelog Summary - Introduced LinearClient as the abstraction for all available Linear USDT Rest APIs. - Enhanced WebSocket Client to support multiple linear websockets (public & private). - To use linear websockets make a new instance of the Websocket-Client, passing the constructor option "linear: true". - Removed deprecated API methods abandoned in December 2020. - Renamed exported RestClient to InverseClient. Implementation remains unchanged. Breaking Changes This release only has one major change affecting existing usage. - Rename dexported RestClient to InverseClient. Implementation remains unchanged. Simply rename any existing RestClient import to continue using Inverse Rest APIs. Behavioural Changes The following are not expected to cause any issues but are a notable change in behaviour: - Previously the Websocket Client automatically opens a websocket connection as soon as it is instanced. - As of version 2.0.0 (this release), websocket connections are automatically opened as soon as any topics are subscribed to. - If needed, manually trigger websocket connection attempts before subscribing to a topic using the websocketClient.connectAll() method. See Websocket-Client.ts for details.
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. 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 - [x] replace the deprecated npm request module with the much lighter axios module. Resolves #4. - [x] huge reduction in module footprint (see step to 1.2.0): bundlephobia.com result - [x] expose request options in constructor, allowing proxy support (among other settings) - [x] bump websocket connectivity dependency to latest version. - [x] validated #12 is not an issue. - [x] misc refactoring & cleaning.