ccapi

Header-only C++ market data and execution for 31 venue ids, on a Bloomberg-shaped API.

by Crypto Chassis

Last updated

From
Free
Latency
Realtime
Licence
MIT
Self-hosted
Yes

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: release v7.11.0 landed on 20 October 2026, adding the bitget-uta identifier, after v7.10.2 on 16 September, 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-one venue identifiers for market data, as the README read on 25 October 2026: ascendex, binance, binance-usds-futures, binance-coin-futures, bitfinex, bitget, bitget-futures, bitget-uta, 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-nine of those also take orders — the two that do not are mexc-futures and whitebit. FIX exists on three: Binance, Coinbase and Gemini.

Three identifiers on that list have nothing behind them now. AscendEX stopped trading on 1 July 2026, BitMart on 26 August and BitMEX on 23 September. ascendex, bitmart and bitmex were all still in the README on 25 October 2026, after release v7.11.0 of 20 October had added bitget-uta. Code written against them will compile and find no market there.

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 — seven still trading — 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.
  • Freqtrade — Write the strategy in Python, backtest it, then run the same class live.
  • GoCryptoTrader — A Go trading engine for 22 exchanges that has never cut a release or a tag.

Named as a replacement for

On these shelves

Background

How this part of the industry works, rather than which product to pick.

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 31 venue identifiers for market data, 29 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. Three of them, ascendex, bitmart and bitmex, belong to exchanges that stopped trading between July and September 2026, and all three were still in the README on 25 October 2026.

Is Crypto Chassis still around?

The library is, with a release on 20 October 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.

Report an error on this page

Quote the line and say what it should be.

The vendor’s page, filing or documentation that says otherwise.

Only if you want to hear back. Never published.

Read by a person. It fixes a fact and moves nothing else.

Anything else — a question this page leaves open, a tool it should be compared with? Write to feedback@cryptomarkets.tools.

Is this your product? Claim this listing.