CoinAPI EMS Trading API

One order model over 26 exchange destinations, TWAP and VWAP, priced per account-hour.

by CoinAPI

Last updated

From
$999/mo
Free tier
No
Latency
Realtime
Platforms
Library

What it is

An execution layer with no screen attached. You keep your own exchange accounts, hand their keys to CoinAPI's managed cloud, and then submit orders, read balances and read positions through one API instead of nineteen. The thing being sold is the connectivity and its upkeep: one order model, one set of identifiers, one connection, and somebody else's problem when a venue changes its authentication scheme.

This is the plumbing under a bot, not a place to trade from. There is no front end of any kind — the vendor's own description is "Managed Cloud service… You manage the deployment using the REST API" — so the buyer is whoever would otherwise be writing the tenth exchange connector. If you want a screen with order entry on it, this is the wrong product and the wrong category.

It is a different purchase from the market data CoinAPI is better known for, priced on a different meter and sold from a different page. The two share a symbol scheme and nothing else: an EMS subscription does not include the tape, and a market-data subscription cannot place an order. The architecture is three components — an Edge process per venue, an API process in front of them, and your application — and CoinAPI runs the first two.

Pricing

One published price and one quote. Professional is $999 a month on the pricing page's default monthly setting, or $833.25 a month billed annually; both figures are in the page's own plan data rather than only in the big type. Enterprise is contact-sales and buys custom SLAs, dedicated infrastructure, collocated trading sites and latency optimisation.

The unit that actually scales is the exchange account, not the request. Professional includes ten; above the quota they are billed by the hour on a sliding scale — $0.094 an hour each for the first three, then $0.063, $0.038, $0.0342, and $0.030 an hour above a hundred accounts. At the first rate an eleventh account is about $68 a month. Usage is denominated in Usage Credits, and the vendor states that on Pay As You Go one credit is generally one dollar.

There is no free plan on the pricing page, and no numbers behind the one the FAQ mentions. The FAQ says you can move a Free plan up to Professional in the customer portal, that cancelling Professional drops you back to "a Free trial", and that both the Free and Professional plans include some number of managed accounts — without saying what that number is. The product page's call to action is "Start With Free Credits" into the console. Treat it as a trial balance with an undisclosed size rather than a tier you could plan a year on.

What the SLA table buys is worth reading before Professional is assumed to be the safe choice: 99.9% uptime applies to Professional, everything under Latency SLA, Dedicated Infrastructure and Dedicated Interconnects is a dash, and the custom version of all three is Enterprise only.

Data & coverage

The destination list is the whole product, and CoinAPI publishes it as two support matrices rather than a marketing count. Twenty-six order destination ids appear: BINANCE, BINANCEUAT, BINANCEJE, BINANCEUS, BINANCEFTS, BINANCEFTSUAT, BINANCEFTSC, BINANCEFTSCUAT, BINANCEOPTV, BINANCEOPTVUAT, BITFINEX, BITMEX, BITMEXUAT, BITSTAMP, BLOCKCHAINEXCHANGE, COINBASE, GEMINI, HITBTC, KRAKEN, KRAKENFTS, POLONIEX, LMAXDIGITAL, LMAXDIGITALUAT, DERIBIT, DERIBITUAT and DYDX.

Read that list twice. Seven of the twenty-six are UAT environments of venues already counted — Binance spot, Binance futures, Binance coin-margined futures, Binance options, BitMEX, LMAX Digital and Deribit each appear once for production and once for test. Nineteen distinct places remain, and six of them are Binance. The headline "26 Exchange Integrations" is therefore true and not the number you want.

Asset classes follow from the destinations rather than from a claim: spot on the retail venues, linear and coin-margined futures through BINANCEFTS and BINANCEFTSC, Kraken Futures, options through BINANCEOPTV and Deribit, perpetuals through BitMEX and dYdX. DYDX carries no version in the table, which matters, because dYdX v3 and v4 are different systems with different order books.

Order state is where the normalisation actually shows. Nine statuses — RECEIVED, ROUTING, ROUTED, NEW, PARTIALLY_FILLED, PENDING_CANCEL, FILLED, CANCELED, REJECTED — with every legal transition documented and each one labelled by who caused it, including the two that mean "this order was placed outside the EMS and we are now seeing it". Execution reports stream over WebSocket with status history attached.

Execution instructions are supported unevenly and the table says so. Maker-or-cancel (post only) exists nearly everywhere; Auction Only and Indication Of Interest exist only on Gemini, LMAX Digital, Deribit and dYdX; cancel-on-disconnect, its inverse, and reduce-only appear on a handful of rows each. If your strategy depends on post-only or reduce-only semantics, check the row for your venue before you sign.

Integrations

REST for cloud management, WebSocket for order flow and execution reports, and FIX — 4.4, 5.0 and FIXT 1.1 — for anyone who already speaks it. The FIX side has one operational quirk worth budgeting for: each API key holds exactly one session, and establishing a second on the same key disconnects the first.

Published limits are otherwise unusually generous and unusually vague. The limits table says "No limits" for both the EMS REST API and the EMS WebSocket API, and applies a per-key concurrency limit only to the cloud-management API. Multiple keys under one subscription share one quota, and each key can be capped lower.

Smart order routing is included on Professional rather than sold separately: TWAP, VWAP, iceberg and volume-participation algorithms that slice a parent order and distribute it across connected venues, with routing decisions described as a function of depth, live order-book activity and fee schedules. The child fills come back through the same normalised execution reports.

SDKs and samples are advertised for more than forty languages out of the api-bricks/api-bricks-sdk repository, and the symbol and exchange identifiers are the ones from CoinAPI's market-data product, so the two fit together if you buy both.

Limitations

Only limit orders exist. The WebSocket message schema lists LIMIT as the sole value of order_type, and the documentation devotes a section to reproducing a market order out of a limit order plus Fill or Kill. The vendor's argument for this — that many destinations implement market orders as limit orders anyway — is fair, and it still means every caller has to supply a price and handle the rejection when the book moves away.

The venue list is a 2019 list. OKX, Bybit, KuCoin, Bitget, Gate.io, MEXC and Hyperliquid are absent from the destination tables, and Poloniex, HitBTC, Blockchain Exchange and Binance Jersey are present. For a product whose entire proposition is "we maintain the connectors so you don't", the set of connectors it maintains is the thing to check first, and this one does not cover most of today's perpetual volume.

No latency number, anywhere. The pages say low-latency, HFT-ready and colocated; no figure, no percentile, and no latency SLA below Enterprise.

No sandbox of CoinAPI's own. What the destination table offers instead is seven exchange UAT environments, which means testing depends on holding test credentials at Binance, BitMEX, LMAX Digital or Deribit rather than on anything CoinAPI runs.

You cannot see the supported-venue list before you pay. The endpoint that returns exchange configuration and the required credential fields per venue is GET /v1/exchanges on the management host, and the vendor's own tutorial says it needs an API key and an active EMS subscription. The documentation tables above are the only view from outside.

No MCP server for this product, despite the vendor's MCP page listing EMS among what its hosted servers expose to agents. The three endpoints CoinAPI actually publishes are for Market Data, Indexes and Flat Files.

The free trial is undated and unquantified. A plan that appears in the FAQ, is absent from the pricing page and has no published quota is not something to size a proof of concept against.

Alternatives

Inside the same vendor, the Market Data API is the other half of this and a separate purchase; the EMS does not carry the tape and the tape cannot place orders.

Outside it, the honest comparison is against writing the connectors yourself with CCXT, which is free, covers far more venues and gives you nothing else — no managed infrastructure, no FIX, no routing algorithms and no SLA. At $999 a month the question is whether nineteen destinations, TWAP and VWAP, and somebody else's on-call rota are worth more than the weeks CCXT saves you and the maintenance it leaves you with. Hummingbot sits in the same gap from the other side: open source, more venues, and an execution framework rather than a managed service. The rest of the field is in Crypto Trading Bots & Execution SDKs.

Specs

Interfaces
API
Export
API
Asset classes
Spot, Perpetuals, Futures, Options
Chains
Venues
CEX, DEX, Derivatives
KYC required
No
Platforms
Library
AI features
None
Capabilities
Automation, Live trading, Portfolio tracking
Pricing verified
Capabilities verified

Also from CoinAPI

Also worth comparing

  • ccapiHeader-only C++ market data and execution for 30 venues, on a Bloomberg-shaped API.
  • CCXTOne MIT client for 104 crypto exchanges, 76 of them over websocket.
  • dYdX v4 ClientsFour language clients for one perp DEX, under a licence that is not the one on the badge.
  • Hyperliquid Python SDKThe official Python client for signing and sending orders on one perp DEX.
  • 3CommasHosted DCA, grid and signal bots over nine exchanges, with your keys on their servers.
  • BitsgapHosted grid, DCA and futures bots on seventeen venues, with no API and no webhooks.

On these shelves

Background

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

  • Who pays for your free trading botFree 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 CoinAPI EMS place a market order?

Not as an order type. The WebSocket schema lists exactly one value for order_type — LIMIT — and the documentation's answer to market orders is a workaround: send a limit order with Fill or Kill and set the price to the worst level you will accept.

Which exchanges can CoinAPI EMS route to?

Twenty-six order destinations are named in the documentation's support tables, but seven of them are UAT test environments of venues already on the list. The nineteen that remain are mostly the 2019-era majors — Binance, Coinbase, Kraken, Bitstamp, Gemini, Bitfinex, BitMEX, Deribit, LMAX Digital, dYdX. OKX, Bybit, KuCoin, Bitget, Gate.io and Hyperliquid are not among them.

Is there a free tier for the EMS Trading API?

Not a documented one. The pricing page shows Professional and Enterprise only, while the FAQ on the same page refers to a Free trial the account drops back to when a Professional plan is cancelled. No quota, no duration and no feature list for it appear on the pricing page, in that FAQ or in the documentation.

Does the EMS product have an MCP server?

No. CoinAPI publishes three MCP endpoints — Market Data, Indexes and Flat Files — and none of them is EMS, even though the vendor's MCP page names EMS among the capabilities it exposes to agents.