Node.js, TypeScript
& JavaScript
Crypto Exchange
SDKs
TypeScript-first SDKs for CEX & DEX REST APIs & WebSockets. Built with precision. Designed & heavily used by algorithmic traders.
Get Started
in Minutes
Choose from our comprehensive collection of exchange SDKs. Install any SDK via npm and start integrating exchange APIs in just a few lines of code with consistent patterns across all platforms.
01
Choose Your Exchange
Each hand-crafted SDK is tailored to each exchange. Heavily used and actively stress tested, with full REST API and WebSocket coverage for the complete offering of each cryptocurrency exchange.
02
Install via npm
Install your chosen SDK using npm or your favourite package manager, with full TypeScript support included.
npm install @siebly/kraken-api03
Configure API Keys
Set up your exchange API credentials securely in your application environment.
04
Execute Orders via API
Use the intuitive SDK to place orders, get market data, and manage your account with consistent patterns across all exchanges.
05
Explore Examples
Browse practical examples on the web and GitHub, plus SDK-specific examples for the selected exchange.
Select Exchange SDK
- Bybit SDK - npm install bybit-api
- Binance SDK - npm install binance
- OKX SDK - npm install okx-api
- Gate SDK - npm install gateio-api
- Bitget SDK - npm install bitget-api
- KuCoin SDK - npm install kucoin-api
- Coinbase SDK - npm install coinbase-api
- BitMart SDK - npm install bitmart-api
- Kraken SDK - npm install @siebly/kraken-api
Kraken SDK REST API Example
import { SpotClient, DerivativesClient } from '@siebly/kraken-api';
const spotClient = new SpotClient({
apiKey: 'your_api_key',
apiSecret: 'your_api_secret',
});
const futuresClient = new DerivativesClient({
apiKey: 'your_api_key',
apiSecret: 'your_api_secret',
});
try {
// Submit spot market order
const spotOrder = await spotClient.submitOrder({
ordertype: 'market',
type: 'buy',
volume: '0.01',
pair: 'XBTUSD',
cl_ord_id: spotClient.generateNewOrderID(),
});
console.log('Spot order:', spotOrder);
// Submit futures limit order
const futuresOrder = await futuresClient.submitOrder({
orderType: 'lmt',
symbol: 'PF_ETHUSD',
side: 'buy',
size: 0.01,
limitPrice: 1000,
cliOrdId: futuresClient.generateNewOrderID(),
});
console.log('Futures order:', futuresOrder);
} catch (error) {
console.error('Request error:', error);
}Kraken SDK WebSocket Events Example
import { WebsocketClient, WS_KEY_MAP } from '@siebly/kraken-api';
const wsClient = new WebsocketClient({
apiKey: 'your_api_key', // Required for private streams
apiSecret: 'your_api_secret',
});
// Event handlers
wsClient.on('message', (data) => {
console.log('Market data:', data);
});
wsClient.on('open', (data) => {
console.log('Connected to:', data?.wsKey);
});
// Subscribe to spot public data
wsClient.subscribe([
{
topic: 'ticker',
payload: { symbol: ['BTC/USD', 'ETH/USD'] },
},
{
topic: 'book',
payload: { symbol: ['BTC/USD'], depth: 10 },
},
{
topic: 'trade',
payload: { symbol: ['BTC/USD'] },
},
], WS_KEY_MAP.spotPublicV2);
// Subscribe to spot private data
wsClient.subscribe([
{
topic: 'executions',
payload: { snap_trades: true, snap_orders: true },
},
{
topic: 'balances',
},
], WS_KEY_MAP.spotPrivateV2);
// Subscribe to derivatives public data
wsClient.subscribe([
{
topic: 'ticker',
payload: { product_ids: ['PI_XBTUSD', 'PI_ETHUSD'] },
},
{
topic: 'book',
payload: { product_ids: ['PI_XBTUSD'] },
},
], WS_KEY_MAP.derivativesPublicV1);
// Subscribe to derivatives private data
wsClient.subscribe([
'open_orders',
'fills',
'balances',
'open_positions',
], WS_KEY_MAP.derivativesPrivateV1);Kraken SDK WebSocket API Example
import { WebsocketAPIClient } from '@siebly/kraken-api';
const wsClient = new WebsocketAPIClient({
apiKey: 'your_api_key',
apiSecret: 'your_api_secret',
});
try {
// Submit spot order via WebSocket API
const spotOrder = await wsClient.submitSpotOrder({
order_type: 'limit',
side: 'buy',
limit_price: 26500.4,
order_qty: 1.2,
symbol: 'BTC/USD',
});
console.log('Spot order result:', spotOrder);
} catch (error) {
console.error('WebSocket API error:', error);
}SDK
Portfolio
Professional-grade JavaScript, TypeScript, and Node.js SDKs trusted by thousands of developers worldwide. Each exchange guide shows how the same SDK package is used from JavaScript, Node.js, and TypeScript contexts.
Binance JavaScript SDK
Complete REST API and WebSocket support for Binance spot, futures, and margin endpoints.
binance
Features: Spot, Futures, WebSockets, TypeScript
Bybit JavaScript SDK
Full-featured SDK for Bybit derivatives and spot endpoints with comprehensive WebSocket support.
bybit-api
Features: Derivatives, Spot, WebSockets, Copy
OKX JavaScript SDK
Professional SDK for OKX exchange with advanced features and real-time data.
okx-api
Features: Spot & Futures, Options, WebSockets, Grid
Gate JavaScript SDK
Comprehensive SDK for Gate with support for spot, futures, and options endpoints.
gateio-api
Features: Multi Markets, Lending, WebSockets, Sub Accounts
Bitget JavaScript SDK
Modern SDK for Bitget exchange supporting spot, futures, and copy features.
bitget-api
Features: Copy, Futures, Spot, P2P
KuCoin JavaScript SDK
Full-featured KuCoin SDK with advanced tools and comprehensive market data.
kucoin-api
Features: Spot, Margin, Futures, Lending
Coinbase JavaScript SDK
Professional SDK for Coinbase Pro with institutional-grade integration capabilities.
coinbase-api
Features: Pro, Advanced Orders, Reporting, Custody
Kraken JavaScript SDK
Comprehensive SDK for Kraken's APIs offering, including spot, futures & institutional endpoints.
@siebly/kraken-api
Features: Spot, Futures, WebSockets
BitMart JavaScript SDK
Complete SDK for BitMart exchange with spot endpoints and comprehensive API coverage.
bitmart-api
Features: Spot, Margin, WebSockets, Futures
Why Use
Our SDKs?
Proven SDKs designed for real-world systematic trading. Used in production by thousands of systems and refined through years of live exchange executions. Each follows industry best practices and delivers a consistent developer experience.
TypeScript First
Built with TypeScript from the ground up with comprehensive type definitions for safer, faster development.
Battle Tested
Used in production by thousands of developers and systems for nearly a decade.
Real-time Data
Complete WebSocket support for real-time market data, account updates, and even order placement for compatible exchanges.
Comprehensive Docs
Clear documentation with examples, guides, and API references for every endpoint.
Active Maintenance
Continuously updated to track exchange API changes and enhancements, matching latest API capabilities.
Developer Friendly
Consistent, intuitive APIs across all SDKs for quick adoption and productivity.
Frequently Asked
Questions
Find answers to common questions about our cryptocurrency exchange SDKs.
What is a crypto exchange SDK?
A crypto exchange SDK is a developer toolkit that wraps raw exchange APIs into typed, well-documented functions. Instead of stitching REST and WebSocket requests together yourself, you get ready-made clients for authentication, trading, market data, and utilities that follow best practices out of the box. These SDKs even allow you to send orders via WebSockets and await them like a REST API.
How do I get started with your SDKs?
Simply install any SDK via npm (e.g., 'npm install @siebly/kraken-api') or your favourite package manager (pnpm, yarn, etc) and import it into your project. Follow the examples for more detailed guidance. Each SDK comes with full TypeScript support and comprehensive documentation. TypeScript is strictly optional, but you'll benefit from rich types even in pure JavaScript projects.
What features does the SDK support?
The core surface covers authenticated trading (spot, margin, derivatives), public market data, WebSocket streaming, account management, withdrawals, and exchange-specific extras like copy trading or sub-accounts. Where the exchange exposes other endpoints, as well as sending orders via a persisted WebSocket connection (WebSocket API), we surface those too.
Are the SDKs free to use?
Yes, all our SDKs are completely free and open-source. You can use them in both personal and commercial projects without any licensing fees. We hope they help you as they've helped us scale our systems. If they have, do consider sponsoring us on GitHub to support our open-source efforts.
Do you support all exchange features?
Our SDKs provide comprehensive coverage of exchange all known exchange APIs including REST endpoints, WebSocket streams (for consuming WebSocket events), and WebSocket API calls (for sending commands over a persisted WebSocket connection). We continuously update our SDKs to support the latest features & capabilities.
Why use the SDK instead of coding directly against the API?
The SDK handles signature generation, request building, connectivity heartbeats, WebSocket persistence & reconenctivity, and type safety for you. That means fewer bugs, faster onboarding for new engineers, and consistent behaviour across exchanges without re-implementing the same boilerplate. Decades of active usage across thousands of projects gives you a proven foundation for all your connectivity to exchange APIs.
Do I need API keys to start?
Public market data works without credentials. To trade or manage accounts you will need API keys from the exchange. The SDK accepts keys via environment variables or secure secrets managers.
How often are the SDKs updated?
We regularly monitor exchange API changes and update our SDKs accordingly. Most updates are released within days of exchange API modifications. See something that you can't find in our SDK? Get in touch or open a pull request!
Is the SDK secure and audited?
We enforce static analysis, dependency scanning, and manual code review for every release. Our NPM account uses a secure, isolated, 0-trust mailbox with strict rules. The release workflow is gated behind both automated and manual approval steps. We use a tokenless publishing process with OIDC, ensuring no NPM tokens are in existence. Provenance metadata with each release ensures supply-chain integrity.
Where can I get help if I encounter issues?
You can get help through our GitHub repositories or by reaching out to our community support channels.
Can I use these SDKs in production environments?
Our SDKs are battle-tested and have nearly a decade of heavy usage in realtime systematic trading systems across thousands of users. That being said, integrations can vary and we recommend thorough testing in staging environments before deploying to production.
Can you build a new SDK for our exchange?
We frequently evaluate the leading exchanges in the market - if you would like us to consider your exchange in our next release, please get in touch!