ccxt-typescript
ccxt-typescript — a Claude Code skill from ccxt/ccxt
Features
- ✓Supports over 100 crypto exchanges
- ✓Public and private APIs fully implemented
- ✓Normalized data for analytics and arbitrage
- ✓Unified API for easy integration
- ✓Cross-platform compatibility: Node, Python, PHP, Go, and web browsers
- ✓Visit GitHub for more details
Installation Guide
This library is shipped as an all-in-one module implementation with minimalistic dependencies and requirements:
You can also clone it into your project directory from ccxt GitHub repository:
git clone https://github.com/ccxt/ccxt.git # including 1GB of commit history
# or
git clone https://github.com/ccxt/ccxt.git --depth 1 # avoid downloading 1GB of commit historyJavaScript (NPM)
JavaScript version of CCXT works in both Node and web browsers. Requires ES6 and async/await syntax support (Node 7.6.0+). When compiling with Webpack and Babel, make sure it is not excluded in your babel-loader config.
npm install ccxt//cjs
var ccxt = require ('ccxt')
console.log (ccxt.exchanges) // print all available exchanges//esm
import {version, exchanges} from 'ccxt';
console.log(version, Object.keys(exchanges));JavaScript (for use with the <script> tag):
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.5.49/dist/ccxt.browser.min.js
* unpkg: https://unpkg.com/ccxt@4.5.49/dist/ccxt.browser.min.js
CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.5.49/dist/ccxt.browser.min.js"></script>Creates a global ccxt object:
console.log (ccxt.exchanges) // print all available exchangesPython
pip install ccxtimport ccxt
print(ccxt.exchanges) # print a list of all available exchange classesThe library supports concurrent asynchronous mode with asyncio and async/await in Python 3.7.0+
import ccxt.async_support as ccxt # link against the asynchronous version of ccxt#### orjson support
CCXT also supports orjson for parsing JSON since it is much faster than the builtin library. This is especially important when using websockets because some exchanges return big messages that need to be parsed and dispatched as quickly as possible.
However, orjson is not enabled by default because it is not supported by every python interpreter. If you want to opt-in, you just need to install it (pip install orjson) on your local environment. CCXT will detect the installion and pick it up automatically.
#### ECDSA Support
Some exchanges, such as Hyperliquid, Binance, and Paradex use ECDSA for request signing.
By default, CCXT includes a pure Python ECDSA implementation that ensures compatibility across all environments. However, this implementation may not meet the performance requirements of latency-sensitive applications.
To address this, CCXT also supports the Coincurve library, which dramatically reduces signing time from approximately 45 ms to under 0.05 ms.
For optimal performance, we recommend installing Coincurve via:
pip install coincurveOnce installed, CCXT will automatically detect and use it.
PHP
ccxt in PHP with Packagist/Composer (PHP 8.1+)
It requires common PHP modules:
include "ccxt.php";
var_dump (\ccxt\Exchange::$exchanges); // print a list of all available exchange classesThe library supports concurrent asynchronous mode using tools from ReactPHP in PHP 8.1+. Read the Manual for more details.
.net/C#
ccxt in C# with Nuget (netstandard 2.0 and netstandard 2.1)
c#
using ccxt;
Console.WriteLine(ccxt.Exchanges) // check this later
``go install github.com/ccxt/ccxt/go/v4@latestimport "ccxt"
fmt.Println(ccxt.Exchanges)Docker
You can get CCXT installed in a container along with all the supported languages and dependencies. This may be useful if you want to contribute to CCXT (e.g. run the build scripts and tests — please see the Contributing document for the details on that).
Using docker-compose (in the cloned CCXT repository):
docker-compose run --rm ccxtYou don't need the Docker image if you're not going to develop CCXT. If you just want to use CCXT – just install it as a regular package into your project.
---