ccapi
Header-only C++ market data and execution for 30 venues, on a Bloomberg-shaped API.
by Crypto Chassis
Last updated
What it is
A header-only C++17 library for streaming order books and sending orders straight from your process to the exchange, with nothing of the vendor's in between. It is the answer to the same question CCXT answers — one interface over many venues — asked by somebody for whom a Python round trip is too slow.
The API deliberately imitates Bloomberg's: a Session, Subscription and Request/Event model
rather than a method per endpoint. That is an acquired taste and it is also the reason the surface
stays the same across thirty venue identifiers and across six languages, because the venue is a
string and the operation is an enum.
The build is where the C++ shows. Header-only, C++17, OpenSSL, plus Boost 1.87.0 and RapidJSON
1.1.0 as includes, and hffix 1.4.1 if you want FIX. Services and venues are switched on with
compiler macros — CCAPI_ENABLE_SERVICE_MARKET_DATA, CCAPI_ENABLE_SERVICE_EXECUTION_MANAGEMENT,
CCAPI_ENABLE_EXCHANGE_BYBIT — so what you compile is only what you use, and the project's own
performance advice is to enable nothing else.
Liveness, in dates: the last commit on master was 16 September 2026, three commits in the
preceding 30 days and 14 in 90; release v7.10.2 landed the same day, after v7.10.1 on 7 August and
v7.10.0 on 2 August. The licence is MIT from the LICENSE file on master, "Copyright (c) Crypto
Chassis". master is the stable branch and the default one; develop carries experimental work
and the merges into master are how releases happen.
Pricing
Free, MIT, nothing to buy — and no pricing page to check, because the vendor no longer has a
website. cryptochassis.com does not resolve at all; its MX records still point at Zoho, so the
hello@cryptochassis.com address in the README may still work, but there is no page behind the
brand.
What the README does sell is the people: "hire us as engineers, liquidity providers, traders, or asset managers". That is a services business beside the library rather than a tier of it, and nothing in the repository is gated behind it.
The other money on this page is the usual one for this category. Most exchange names in the README's supported-venue list are referral links — Binance, Bitget, Bybit, Crypto.com, Gate.io, HTX, OKX. It does not change what the code does; it does explain the venue list.
Data & coverage
Thirty venue identifiers for market data: ascendex, binance, binance-usds-futures, binance-coin-futures, bitfinex, bitget, bitget-futures, bitmart, bitmex, bitstamp, bybit, coinbase, cryptocom, deribit, erisx, gateio, gateio-perpetual-futures, gemini, huobi, huobi-usdt-swap, huobi-coin-swap, hyperliquid, kraken, kraken-futures, kucoin, kucoin-futures, mexc, mexc-futures, okx and whitebit. Twenty-eight of those also take orders — the two that do not are mexc-futures and whitebit. FIX exists on three: Binance, Coinbase and Gemini.
Read that list as identifiers rather than as exchanges. Binance is three entries, Huobi three, Gate.io two, and a venue's spot and futures arms are separate compile-time targets with separate capabilities. Counting companies rather than identifiers gives a number in the low twenties.
There is no history and no storage. Subscriptions carry order-book depth you specify, trades, and candlesticks in two flavours — calculated from trades by the library, or taken from the exchange's own endpoint — delivered either immediately or in batches when you are archiving rather than trading. Anything the unified surface does not model can be sent through the generic public and private request paths, which hand you the venue's raw endpoint with the signing done for you.
Integrations
Bindings for five other languages, built by you. Python, Java, C#, Go and JavaScript are
generated with SWIG and CMake — cmake -DBUILD_PYTHON=ON -DBUILD_VERSION=1.0.0 .. — and the
artefacts land under binding/build/<language>/packaging/<version>. There is no published wheel,
gem or npm package; the build is the install.
Hyperliquid needs extra work. Execution there links secp256k1 and msgpack, and orders address
the instrument by Hyperliquid's numeric asset id rather than by symbol — Request(CREATE_ORDER, "hyperliquid", "0") is an order on BTC — with client order ids that must satisfy the venue's own
format or be rejected.
Limitations
The obvious install command installs somebody else's package. pip install ccapi gets version
0.1.0 by Achilles Rasquinha, a "Python API for Cell Collective", pointing at an unrelated
repository. It installs cleanly, so nothing errors; it is simply not this. npm has no ccapi at
all. For a library whose selling point is bindings in five languages, the absence of a published
package in any of them is the single biggest cost of using it.
No backtester, no paper trading, no simulation. This is a connector and an execution surface. There is no sandbox switch in the API, so rehearsal means whatever testnet the venue itself provides, reached by overriding the exchange URL.
No unified derivatives analytics. Perpetual and futures venues are supported as venues, but there is no cross-venue funding rate, open interest or liquidation call in the unified surface the way CCXT has one — those go through the generic request path, which means parsing the venue's own response yourself.
Compile-time coupling cuts both ways. Adding a venue means a rebuild, and the README's troubleshooting section is a list of what goes wrong when you do: object files too big for the assembler, string table overflows, OpenSSL not found on three operating systems. Tested platforms are Clang on macOS, GCC on Linux and MinGW on Windows.
One known venue quirk is documented and will still bite you. ccapi uses a microsecond unix timestamp as the nonce, so a Kraken key needs a nonce window configured — 500,000 gives half a second of tolerance — or authenticated calls fail with invalid-nonce errors.
The vendor has no public presence beyond the repository. No website, no status page, no changelog outside the release tags, and a Discord and a Medium account as the support channel. The code is current; the company around it is not visible.
Alternatives
CCXT is the default and the honest comparison: more venues, eight language builds that are actually published, a release most days, and a Python or TypeScript process in the path. Choose ccapi when that last clause is the problem and you are prepared to pay for it in build complexity.
For a single venue in C++, the venue's own FIX or REST documentation is one dialect with no abstraction between you and it — and ccapi's FIX support covers only Binance, Coinbase and Gemini, so on most venues that is what the comparison actually is.
Barter is the Rust answer to the same latency argument, with eight data venues and no live execution client at all. Hummingbot is what people build on top of a layer like this when they would rather not; the rest of the trading bots and execution SDKs listing is the same trade-off at different heights.
Specs
- Interfaces
- C++, Python, Java, C#, Go, JavaScript
- Export
- None
- Asset classes
- Spot, Perpetuals, Futures
- Chains
- —
- Venues
- CEX, DEX, Derivatives
- KYC required
- No
- Platforms
- Library
- AI features
- None
- Capabilities
- Live trading
- Pricing verified
- Capabilities verified
- Coverage verified
Also worth comparing
- CCXT — One MIT client for 104 crypto exchanges, 76 of them over websocket.
- Hyperliquid Python SDK — The official Python client for signing and sending orders on one perp DEX.
- CoinAPI EMS Trading API — One order model over 26 exchange destinations, TWAP and VWAP, priced per account-hour.
- dYdX v4 Clients — Four language clients for one perp DEX, under a licence that is not the one on the badge.
- GoCryptoTrader — A Go trading engine for 22 exchanges that has never cut a release or a tag.
- Hummingbot — Apache-2.0 Python framework for running market-making bots on CEXs and DEXs.
On these shelves
Background
How this part of the industry works, rather than which product to pick.
- Who pays for your free trading bot — Free crypto bots and terminals are usually paid for by the venue. The five mechanisms, what each does to your order, and how to find them in ten minutes.
FAQ
Can I install ccapi with pip?
No, and you should be careful here — PyPI's ccapi is an unrelated package, version 0.1.0 by a different author, described as a "Python API for Cell Collective". The real bindings are generated by SWIG from the C++ source with CMake, and npm has no ccapi package at all.
Which branch has the licence and the stable code?
The master branch, which is both the default and the release branch — the MIT LICENSE file and the tagged releases live there. develop is where experimental work goes, and merges from it into master are how releases happen.
How many exchanges does ccapi really support?
The README lists 30 venue identifiers for market data, 28 of which also support order entry, and three that support FIX — Binance, Coinbase and Gemini. Those are compile-time identifiers such as binance-usds-futures and kucoin-futures, so a single exchange can account for two or three of them.
Is Crypto Chassis still around?
The library is, with a release on 16 September 2026. The company's own domain is not — cryptochassis.com has no A record and serves no website, though its MX records still point at Zoho, so the address in the README may still take mail.