GeminiGemini
Demo environmentGet API key
  • Overview
  • Crypto Trading
  • Prediction Markets
  • Perpetuals
  • Stocks
  • API Reference
  • SDKs & Tools
Changelog
Gemini logoGemini logo

© 2026 Gemini Space Station, Inc.

Overview
Spot
    OverviewGet started
    Orders API
    Market Data API
    Fund Management API
    Instant Orders API
    WebSocket API
    FIX API
      Overview
      Order Entry
        IntroductionErrorsThird Party Support
        Workflow
        Exchange-Bound Messages
        Client-Bound Messages
          Execution ReportOrder Cancel RejectOrder Cancel Reasons
        Examples
        Identifiers
        Price & Quantity
        Gemini Clearing
      Market Data
      Drop Copy
Margin
    Overview
    Margin REST API
      Get Margin Account SummaryGet Margin Interest RatesPreview Margin Order Impact
Staking
    Overview
    Staking REST API
      List Staking BalancesStake Crypto FundsUnstake Crypto FundsList Staking Event HistoryList Staking RatesList Staking Rewards
Clearing
    Clearing REST API
      Clearing Orders
      Broker & Trade Operations
Client-Bound Messages

Execution Report <8>

Gemini uses the Execution Report <8> message to:

  • confirm the receipt of an order
  • confirm a stop order has triggered
  • confirm the successful cancellation of an order
  • relay fill information on orders
  • reject orders

Each execution report contains two fields which are used to communicate both the current state of the order as understood by the exchange (OrdStatus <39>) and the purpose of the message (ExecType <150>).


Fields

Tag

Name

Req

Description

Standard Header

Y

MsgType = 8

37

OrderID

Y

Unique order identifier assigned by Gemini.

11

ClOrdID

Y

Unique order identifier assigned by the institution.

41

OrigClOrdID

N*

ClOrdID <11> of the order to cancel. Needs to correspond to a current outstanding order submitted during this trading session.

 

*Required for a response to an Order Cancel Request <F>.

17

ExecID

Y

Unique event ID assigned by Gemini.

150

ExecType

Y

Describes the purpose of the Execution Report.

 

Valid values:

0 = New

F = Trade

4 = Canceled

8 = Rejected

18

ExecInst

N

Indicates if an order was Maker-or-Cancel.

 

Valid values:

6 = Participate don't initiate (maker-or-cancel)

39

OrdStatus

Y

Describes the current order status.

 

Valid values:

0 = New

1 = Partially filled

2 = Filled

4 = Canceled

8 = Rejected

55

Symbol

Y

Ticker symbol of the order.

 

See Supported Symbols for valid values.

54

Side

Y

Side of the order.

 

Valid values:

1 = Buy

2 = Sell

44

Price

N*

Limit price of the order.

 

*Required if ExecType <150> is not 8 = Rejected and if specified on the order.

99

StopPx

N*

Stop price of the order.

 

*Required if ExecType <150> is not 8 = Rejected and responding to an OrdType <40> is 4 = Stop Limit order entry. StopPx must be ≤ Price if Side <54> is 1 = Buy, and ≥ Price if Side <54> is 2 = Sell.

6

AvgPx

Y

Calculated average price of fills on this order. Zero for an order with no fills.

31

LastPx

N*

Price of the fill. This field is only present when the order is updated due to a match on the exchange.

 

*Required if ExecType <150> is F = Trade.

14

CumQty

Y

Total quantity of the order that is filled.

38

OrderQty

N*

Decimal amount of BTC to purchase. The general rule is: OrderQty <38> = CumQty <14> + LeavesQty <151>.

 

*Required if ExecType <150> is not 8 = Rejected.

151

LeavesQty

Y

Quantity <53> open for further execution. If OrdStatus <39> is 4 = Canceled or 8 = Rejected (making the order no longer active), then LeavesQty <151> could be 0. Otherwise, LeavesQty <151> = OrderQty <38> - CumQty <14>.

32

LastQty

N*

Quantity of the fill. This field is only present when the order is updated due to a match on the exchange.

 

*Required if ExecType <150> is F = Trade.

12

Commission

N*

Fee charged for the trade (negative for rebates).

 

*Required if ExecType <150> is F = Trade.

479

CommCurrency

N*

Currency code of the currency that the fee is denominated in.

 

*Required if ExecType <150> is F = Trade.

13

CommType

N*

Commission type.

 

Valid value:

3 = absolute (total monetary amount)

 

*Required if ExecType <150> is F = Trade.

851

LastLiquidityInd

N*

Whether this order added liquidity ("maker") or removed liquidity ("taker").

 

Valid values:

1 = Added Liquidity

2 = Removed Liquidity

 

*Required if ExecType <150> is F = Trade.

103

OrdRejReason

N*

Reason the order was rejected.

 

Valid values:

1 = Unknown symbol

2 = Exchange closed for scheduled maintenance

3 = Order exceeds limit

13 = Incorrect quantity

99 = Other

 

*Required if ExecType <150> is 8 = Rejected.

58

Text

N*

Reason for order rejection or cancellation. For a Cancel Ack, this field will only be populated with "Requested" in response to explicit Order Cancel requests (35=F). Unsolicited cancel acknowledgments may not include this field.

 

*Required if OrdRejReason <103> is 99 = Other.

59

TimeInForce

Y*

Specifies how long the order remains in effect. Absence of this field would be interpreted as a day order, which Gemini does not currently support.

 

Valid values:

1 = Good Till Cancel (GTC)

3 = Immediate Or Cancel (IOC)

4 = Fill Or Kill (FOK)

60

TransactTime

Y

Time the transaction represented by this ExecutionReport <8> occurred (expressed in UTC).

Standard Trailer

Y

Order Cancel RequestOrder Cancel Reject
On this page
  • Fields