Execution Reports

Live Execution Reports

Monitor every order from submission to final execution through one normalized API.

Submitting an order is only the beginning. Trading applications also need to know when an order reaches the exchange, becomes active, receives partial fills, is completely filled, gets canceled, or is rejected. Without reliable execution reports, it's impossible to maintain an accurate view of open orders, portfolio exposure, or trading activity.

CoinAPI EMS provides normalized execution reports through REST, WebSocket, and FIX interfaces, allowing applications to track every stage of the order lifecycle across supported exchanges using one consistent data model.

Every Order Tells a Story

An order rarely jumps directly from “submitted” to “filled.” It moves through multiple stages while being processed by the trading infrastructure. It may be routed to the exchange, become active in the order book, receive several partial fills, wait for cancellation, or ultimately be rejected.

Know Where Every Order Is

Understanding exactly where an order is in that lifecycle is essential for trading platforms, execution algorithms, portfolio dashboards, and risk management systems.

CoinAPI EMS delivers normalized execution reports that let applications monitor every order from submission to completion without building exchange-specific integrations.

Execution Report

What Is an Execution Report?

An execution report represents the current state of an order together with the information required to understand how that order has evolved over time. Rather than returning only the latest status, CoinAPI EMS provides the identifiers, quantities, pricing information, execution history, and fills needed to reconstruct the complete lifecycle of every active order.

FieldWhat It Represents
Order StatusCurrent lifecycle stage of the order (New, Filled, Canceled, Rejected, etc.).
Status HistoryTimestamped history showing how the order progressed through each state.
Filled QuantityTotal quantity already executed.
Open QuantityRemaining quantity available for execution.
Average Execution PriceAverage price across all completed fills.
Fill HistoryIndividual executions that contributed to the order.
Client & Exchange Order IDsIdentifiers assigned by both your application and the exchange.
CoinAPI & Exchange SymbolsStandardized and native market identifiers for every order.

One View Across Every Exchange

Execution reports differ significantly between exchanges. Field names, status values, identifiers, and reporting formats all vary, making it difficult to build applications that monitor orders across multiple trading venues.

CoinAPI EMS normalizes execution reports into a consistent model while preserving native exchange information whenever it's needed.

Benefits include:

  • One execution report format across supported exchanges.
  • Consistent order statuses throughout the order lifecycle.
  • Native exchange identifiers alongside standardized CoinAPI symbols.
  • Easier integration and significantly less exchange-specific code.

Follow Every Stage of the Order Lifecycle

Every execution report reflects the current state of an order. As an order moves through the trading process, its execution report changes to reflect new events — from submission, through routing and execution, until it reaches a final state.

CoinAPI EMS normalizes these lifecycle states across supported exchanges, making it possible to build monitoring systems without translating dozens of exchange-specific status models.

Common order statuses include:

  • RECEIVED — The order has been accepted by CoinAPI EMS.
  • ROUTING — The order is being delivered to the exchange.
  • ROUTED — The exchange has received the order.
  • NEW — The order is active in the exchange order book.
  • PARTIALLY_FILLED — Part of the order has executed while the remainder stays active.
  • PENDING_CANCEL — A cancellation request has been sent and is awaiting confirmation.
  • FILLED — The order has been completely executed.
  • CANCELED — The remaining quantity has been canceled.
  • REJECTED — The order could not be accepted or executed.

Stay Synchronized in Real Time

Trading systems need more than individual updates — they need a complete and accurate view of every active order.

When a client connects, CoinAPI EMS first delivers an ORDER_EXEC_REPORT_SNAPSHOT containing all open orders for each connected exchange. From that point forward, every change is delivered through ORDER_EXEC_REPORT_UPDATE messages, allowing applications to keep their local state synchronized without repeatedly downloading the full order list.

This approach provides:

  • A complete view of all active orders immediately after connecting.
  • Incremental updates whenever an order changes.
  • Lower bandwidth usage by transmitting only what changed.
  • A continuously synchronized order state across all connected exchanges.

Build Applications That React to Market Events

Execution reports are one of the most important data streams inside a trading platform.

They allow applications to react immediately when an order changes state instead of relying on polling or periodic synchronization.

Typical use cases include:

  • Order management systems displaying live order status.
  • Algorithmic trading engines reacting to fills and partial executions.
  • Trading dashboards tracking active orders across multiple exchanges.
  • Risk management platforms updating exposure after every execution.
  • Portfolio systems synchronizing positions as trades complete.
  • Audit and compliance tools maintaining a complete history of every order event.
Execution Reports

Complete Visibility into Every Order

Whether an order is accepted, partially filled, completely executed, canceled, or rejected, your applications should always know exactly what happened.

CoinAPI EMS delivers normalized execution reports through REST, WebSocket, and FIX APIs, exposing order status, status history, fills, execution prices, remaining quantity, and identifiers in a consistent format across supported exchanges.