Frequently Asked
Questions

Find comprehensive answers to frequently asked questions about our cryptocurrency exchange SDKs, implementation guides, and best practices.

Overview

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.
What features does the SDK support?
The core surface covers authenticated trading endpoints (spot, margin, derivatives), public market data, WebSocket streaming, account management, withdrawals, and exchange-specific extras like copy trading or sub-account endpoints. Where the exchange exposes other endpoints, as well as sending orders via a persisted WebSocket connection (WebSocket API), we surface those too.
Do you support all exchange features?
Our SDKs provide comprehensive coverage of 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, reconnect handling, 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. Nearly a decade of active usage across thousands of projects gives you a proven foundation for all your connectivity to exchange APIs.
Is the SDK 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.
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!

Architecture & Security

What programming languages and runtimes are supported?
While built in TypeScript, our SDKs support all modern JavaScript runtimes including Node.js, Bun, and Deno. You don't need TypeScript to benefit from rich types, but for systems as sensitive as systematic trading systems, it's absolutely recommended. Optional but recommended.
Do the SDKs work with Bun and Deno?
Yes! All SDKs are fully compatible with Bun and Deno. For Bun, imports work exactly like Node.js. For Deno, use the `npm:` prefix when importing (e.g., `import { RestClient } from "npm:okx-api"`). All features including REST APIs, WebSockets, and authentication work across all three runtimes.
Are there any dependencies I should be aware of?
Our SDKs are designed to have minimal dependencies. Most only require common packages like axios for HTTP requests and ws for WebSocket connections. Authentication & request signatures are largely managed through the Web Crypto API, available in most environments, or in rare cases the node:crypto API (for Ed25519 key support). The only exception here is the Coinbase Node.js SDK, which uses the "jose" package for JWT handling.
Is the SDK modular or monolithic?
Packages are modular. Import only the clients you need (REST, WebSocket, accounts, etc.) and tree-shake unused modules to keep bundle size minimal.
What permissions does the SDK require?
Minimum scopes depend on the exchange and the features you are looking to use via API. For trading you typically need order permissions. We strongly advise enabling strict IP whitelisting & disabling withdrawal access in all environments. Ideally you should only enable the permissions that you require. For detailed guidance, refer to the exchange API documentation on the required scopes for each endpoint.
How are sensitive credentials managed?
The SDK never persists keys. You inject credentials at runtime via environment variables, KMS, or vaults. Built-in helpers sign requests in memory and the library avoids logging secrets by default. You should still follow best practices for secret management in your own infrastructure and ensure keys have the minimum required permissions with strict IP whitelisting where possible.
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, allowing you to verify the package you install matches the published source commit on GitHub.
How do I audit the SDK?
Each SDK is fully open-source. Navigate to the SDK's GitHub repository to find the source code that drives the SDK. Our release process follows industry best practices. Each release is shipped with provenance metadata so you can verify the package you install matches the published source commit. This guarantees that the state of the codebase at that commit is the exact codebase also included in that release published to NPM. For more information on provenance, refer to the NPM documentation.

Getting Started

How do I get started with your SDKs?
Choose a package from the SDK directory, install it via npm (for example, '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.
Do I need API keys to start?
Public market data works without credentials. For account actions you will need API keys. The SDK accepts keys via constructor parameters.
Is there a sandbox or testnet for trying the SDK?
Most exchanges expose a dedicated testnet or demo trading environment. The SDKs include a simple 'testnet' toggle so you can switch endpoints without refactoring your integration. Use testnet to verify integrations safely, but rely on demo trading or historical backtests when you need to validate strategy performance. Testnet orderbooks are filled with free credits and rarely mirror real liquidity.
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 and published in the release notes. See something that you can't find in our SDK? Get in touch or open a pull request!
What if an exchange updates their API?
We actively monitor exchange API changes and update our SDKs accordingly. You can subscribe to our notifications or watch our GitHub repositories for updates.

Trading & Features

Can I place and cancel orders through the SDK?
Yes. Order helpers support market, limit, stop, bracket, and exchange-specific advanced order types with promise-based responses and optional idempotency keys.
Can I place orders using a WebSocket connection?
Some exchanges support sending commands/requests, such as orders, via a dedicated WebSocket API. For the exchanges that do support it, we include a WebsocketAPIClient class. This exposes individual REST-like methods for each available WebSocket API command and returns promises when any of these methods are called. This allows integrations to work with the WebSocket API with the convenience of awaiting responses, just like a REST API.
Can I access real-time market data?
Real-time feeds are available via WebSocket clients that reconnect automatically and emit typed events for trades, order books, and user data streams.
Does the SDK support DeFi or Web3 features?
If the exchange exposes endpoints for staking or Earn products, those endpoints are available via the SDK. We don't operate any Earn product or set the terms. Some exchanges also offer DeFi gateway endpoints. When those endpoints exist, we make them available via the SDK. For pure on-chain DeFi/DEXs, we plan on supporting more exchanges in future. If there are specific exchanges you are looking for, please get in touch.
Are there any usage limits or restrictions?
There are no usage limits from our side. However, you'll need to respect the individual exchange's API rate limits and terms of service.
What is the latency for order execution?
Latency depends on your infrastructure location. The SDK uses keep-alive connections and optional WebSocket trading where exchanges support it, keeping round-trip times near exchange-native speeds.
Is high-frequency trading supported?
Our SDK can drive low-latency strategies up to a few hundred requests per second. The WebSocket API support further reduces latency for order placement.

Support & Community

Where can I get help if I encounter issues?
You can get help through our GitHub repositories, the support page, or our community support channels.
How do I report bugs or request features?
You can report bugs or request features through GitHub issues on the respective SDK repository. We actively review and respond to community feedback.
Can I contribute to the SDKs?
Absolutely! All our SDKs are open-source and we welcome contributions. Check out the GitHub repositories to see how you can help improve the SDKs. 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.
Is there a developer community?
Join our Node.js Algorithmic Traders community on Telegram to collaborate with other builders, share alpha, and get notified about new releases.

Subscribe on Substack

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