GeminiGemini
SandboxGet API key
  • Crypto Trading
  • Prediction Markets
Resources
  • Changelog

© 2026 Gemini Space Station, Inc.

Gemini Crypto Exchange LogoGemini Crypto Exchange Logo
REST APIs
    Orders
    Market Data
    Derivatives
    Margin Trading
    Staking
    Clearing
    Instant Orders
WebSocket
    AuthenticationMessage Format
    Streams
      Book TickerL2 Partial DepthL2 Differential DepthTrade StreamOrder EventsBalance Updates
    Playground
      Overviewconninfopingtimesubscribeunsubscribelist_subscriptionsdepthorder.placeorder.cancelorder.cancel_allorder.cancel_session
Agentic
FIX
    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
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

Last modified on April 17, 2026
Order Cancel RequestOrder Cancel Reject
On this page
  • Fields