> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cdp.coinbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Prime FIX 5.0 Data Dictionary

> The Coinbase Prime FIX 5.0 SP2 client data dictionary.

<Accordion title="FIX 5.0 xml">
  ```xml theme={null}
  <!--
    Coinbase Prime FIX 5.0 SP2 Client Data Dictionary (Order Entry Application Layer)
    Contains the message types, fields, and values supported by prime-fix for spot and FCM/futures order entry.
    Generated from pkg/dialects/fix50sp2/coinbase/converter.go
    Note: Use with FIXT11.xml as the transport data dictionary.
    Product-specific required fields are enforced by the gateway converter and noted below where they differ.
  -->
  <fix major='5' type='FIX' servicepack='2' minor='0'>
   <header />
   <messages>
    <!-- Application Messages: Client -> Server (Inbound) -->
    <message name='NewOrderSingle' msgtype='D' msgcat='app'>
     <field name='Account' required='Y' />
     <field name='ClOrdID' required='Y' />
     <field name='Symbol' required='Y' />
     <field name='SecurityType' required='Y' />
     <field name='Side' required='Y' />
     <field name='OrdType' required='Y' />
     <field name='TimeInForce' required='Y' />
     <!-- FCM futures require ManualOrderIndicator and CustOrderHandlingInst; spot does not. -->
     <field name='ManualOrderIndicator' required='N' />
     <field name='CustOrderHandlingInst' required='N' />
     <field name='TransactTime' required='Y' />
     <field name='OrderQty' required='N' />
     <field name='CashOrderQty' required='N' />
     <field name='Price' required='N' />
     <field name='StopPx' required='N' />
     <field name='MaxShow' required='N' />
     <field name='DisplayQty' required='N' />
     <field name='PegOffsetValue' required='N' />
     <field name='PegOffsetType' required='N' />
     <field name='PegWigLevel' required='N' />
     <field name='ExpireTime' required='N' />
     <field name='EffectiveTime' required='N' />
     <field name='ExecInst' required='N' />
     <field name='OrderCapacity' required='N' />
     <field name='TargetStrategy' required='N' />
     <field name='ExDestination' required='N' />
     <field name='QuoteID' required='N' />
     <field name='SettlCurrency' required='N' />
     <field name='StpId' required='N' />
     <field name='IsRaiseExact' required='N' />
     <field name='IsBuyExact' required='N' />
     <group name='NoStrategyParameters' required='N'>
      <field name='StrategyParameterName' required='N' />
      <field name='StrategyParameterType' required='N' />
      <field name='StrategyParameterValue' required='N' />
     </group>
    </message>
    <message name='OrderCancelRequest' msgtype='F' msgcat='app'>
     <field name='Account' required='Y' />
     <field name='ClOrdID' required='Y' />
     <field name='OrigClOrdID' required='N' />
     <field name='OrderID' required='N' />
     <field name='Symbol' required='Y' />
     <field name='SecurityType' required='Y' />
     <field name='Side' required='Y' />
     <!-- FCM futures require ManualOrderIndicator; spot does not. -->
     <field name='ManualOrderIndicator' required='N' />
     <field name='TransactTime' required='Y' />
    </message>
    <message name='OrderCancelReplaceRequest' msgtype='G' msgcat='app'>
     <field name='Account' required='Y' />
     <field name='ClOrdID' required='Y' />
     <field name='OrigClOrdID' required='Y' />
     <field name='OrderID' required='N' />
     <field name='Symbol' required='Y' />
     <field name='SecurityType' required='Y' />
     <field name='Side' required='Y' />
     <field name='OrdType' required='Y' />
     <field name='TransactTime' required='Y' />
     <field name='OrderQty' required='N' />
     <field name='CashOrderQty' required='N' />
     <field name='Price' required='N' />
     <field name='StopPx' required='N' />
     <field name='DisplayQty' required='N' />
     <field name='ExpireTime' required='N' />
     <!-- FCM futures require ManualOrderIndicator, OrderCapacity, and CustOrderHandlingInst on replace; spot does not. -->
     <field name='ManualOrderIndicator' required='N' />
     <field name='OrderCapacity' required='N' />
     <field name='CustOrderCapacity' required='N' />
     <field name='CustOrderHandlingInst' required='N' />
     <field name='PegOffsetValue' required='N' />
     <field name='PegWigLevel' required='N' />
    </message>
    <message name='OrderStatusRequest' msgtype='H' msgcat='app'>
     <field name='Account' required='Y' />
     <field name='Symbol' required='Y' />
     <field name='SecurityType' required='Y' />
     <field name='ClOrdID' required='N' />
     <field name='OrderID' required='N' />
    </message>
    <message name='MarketDataRequest' msgtype='V' msgcat='app'>
     <field name='MDReqID' required='Y' />
     <field name='SubscriptionRequestType' required='Y' />
     <field name='MarketDepth' required='Y' />
     <field name='MDUpdateType' required='N' />
     <group name='NoMDEntryTypes' required='Y'>
      <field name='MDEntryType' required='Y' />
     </group>
     <group name='NoRelatedSym' required='Y'>
      <field name='Symbol' required='Y' />
     </group>
    </message>

    <!-- Application Messages: Server -> Client (Outbound) -->
    <message name='ExecutionReport' msgtype='8' msgcat='app'>
     <field name='OrderID' required='Y' />
     <field name='ExecID' required='Y' />
     <field name='ExecType' required='Y' />
     <field name='OrdStatus' required='Y' />
     <field name='Side' required='Y' />
     <field name='LeavesQty' required='Y' />
     <field name='CumQty' required='Y' />
     <field name='AvgPx' required='Y' />
     <field name='Symbol' required='Y' />
     <field name='SecurityType' required='Y' />
     <field name='Account' required='Y' />
     <field name='ClOrdID' required='N' />
     <field name='OrigClOrdID' required='N' />
     <field name='OrdType' required='N' />
     <field name='TimeInForce' required='N' />
     <field name='OrderQty' required='N' />
     <field name='CashOrderQty' required='N' />
     <field name='Price' required='N' />
     <field name='StopPx' required='N' />
     <field name='PegOffsetValue' required='N' />
     <field name='PegOffsetType' required='N' />
     <field name='PegWigLevel' required='N' />
     <field name='MaxShow' required='N' />
     <field name='DisplayQty' required='N' />
     <field name='LastQty' required='N' />
     <field name='LastPx' required='N' />
     <field name='LastMkt' required='N' />
     <field name='MarketID' required='N' />
     <field name='TransactTime' required='N' />
     <field name='EffectiveTime' required='N' />
     <field name='ExpireTime' required='N' />
     <field name='OrdRejReason' required='N' />
     <field name='Text' required='N' />
     <field name='SettlCurrency' required='N' />
     <field name='SettlCurrAmt' required='N' />
     <field name='OrderCapacity' required='N' />
     <field name='AggressorIndicator' required='N' />
     <field name='FilledValue' required='N' />
     <field name='IsBuyExact' required='N' />
     <field name='IsRaiseExact' required='N' />
     <field name='StpId' required='N' />
     <field name='InternalStpId' required='N' />
     <field name='Commission' required='N' />
     <field name='CommType' required='N' />
     <group name='NoMiscFees' required='N'>
      <field name='MiscFeeAmt' required='N' />
      <field name='MiscFeeCurr' required='N' />
      <field name='MiscFeeType' required='N' />
     </group>
    </message>
    <message name='OrderCancelReject' msgtype='9' msgcat='app'>
     <field name='OrderID' required='Y' />
     <field name='ClOrdID' required='Y' />
     <field name='OrigClOrdID' required='N' />
     <field name='OrdStatus' required='Y' />
     <field name='CxlRejResponseTo' required='Y' />
     <field name='CxlRejReason' required='N' />
     <field name='Text' required='N' />
    </message>
    <message name='MarketDataSnapshotFullRefresh' msgtype='W' msgcat='app'>
     <field name='MDReqID' required='Y' />
     <field name='Symbol' required='Y' />
     <field name='TotNumReports' required='N' />
     <field name='MDReportID' required='N' />
     <group name='NoMDEntries' required='Y'>
      <field name='MDEntryType' required='Y' />
      <field name='MDEntryID' required='N' />
      <field name='MDEntryPx' required='N' />
      <field name='MDEntrySize' required='N' />
      <field name='MDEntryPositionNo' required='N' />
      <field name='MDEntryDate' required='N' />
      <field name='MDEntryTime' required='N' />
     </group>
    </message>
    <message name='MarketDataIncrementalRefresh' msgtype='X' msgcat='app'>
     <field name='MDReqID' required='Y' />
     <group name='NoMDEntries' required='Y'>
      <field name='MDUpdateAction' required='Y' />
      <field name='MDEntryType' required='N' />
      <field name='MDEntryID' required='N' />
      <field name='Symbol' required='N' />
      <field name='MDEntryPx' required='N' />
      <field name='MDEntrySize' required='N' />
      <field name='MDEntryPositionNo' required='N' />
      <field name='MDEntryDate' required='N' />
      <field name='MDEntryTime' required='N' />
      <field name='AggressorSide' required='N' />
     </group>
    </message>
    <message name='MarketDataRequestReject' msgtype='Y' msgcat='app'>
     <field name='MDReqID' required='Y' />
     <field name='MDReqRejReason' required='N' />
     <field name='Text' required='N' />
    </message>
    <message name='SecurityStatus' msgtype='f' msgcat='app'>
     <field name='Symbol' required='Y' />
     <field name='SecurityTradingStatus' required='N' />
     <field name='Text' required='N' />
    </message>
   </messages>
   <trailer />
   <fields>
    <!-- Account/Identification Fields -->
    <field number='1' name='Account' type='STRING' />
    <field number='6' name='AvgPx' type='PRICE' />
    <field number='11' name='ClOrdID' type='STRING' />
    <field number='12' name='Commission' type='AMT' />
    <field number='13' name='CommType' type='CHAR'>
     <value enum='3' description='ABSOLUTE' />
    </field>
    <field number='14' name='CumQty' type='QTY' />
    <field number='17' name='ExecID' type='STRING' />
    <field number='18' name='ExecInst' type='MULTIPLECHARVALUE'>
     <value enum='A' description='POST_ONLY' />
    </field>
    <field number='30' name='LastMkt' type='EXCHANGE' />
    <field number='31' name='LastPx' type='PRICE' />
    <field number='32' name='LastQty' type='QTY' />
    <field number='37' name='OrderID' type='STRING' />
    <field number='38' name='OrderQty' type='QTY' />
    <field number='39' name='OrdStatus' type='CHAR'>
     <value enum='0' description='NEW' />
     <value enum='1' description='PARTIALLY_FILLED' />
     <value enum='2' description='FILLED' />
     <value enum='4' description='CANCELED' />
     <value enum='6' description='PENDING_CANCEL' />
     <value enum='8' description='REJECTED' />
     <value enum='A' description='PENDING_NEW' />
     <value enum='C' description='EXPIRED' />
    </field>
    <field number='40' name='OrdType' type='CHAR'>
     <value enum='1' description='MARKET' />
     <value enum='2' description='LIMIT' />
     <value enum='4' description='STOP_LIMIT' />
     <value enum='D' description='PREVIOUSLY_QUOTED' />
     <value enum='P' description='PEGGED' />
    </field>
    <field number='41' name='OrigClOrdID' type='STRING' />
    <field number='44' name='Price' type='PRICE' />
    <field number='49' name='SenderCompID' type='STRING' />
    <field number='54' name='Side' type='CHAR'>
     <value enum='1' description='BUY' />
     <value enum='2' description='SELL' />
    </field>
    <field number='55' name='Symbol' type='STRING' />
    <field number='58' name='Text' type='STRING' />
    <field number='59' name='TimeInForce' type='CHAR'>
     <value enum='0' description='DAY' />
     <value enum='1' description='GOOD_TILL_CANCEL' />
     <value enum='3' description='IMMEDIATE_OR_CANCEL' />
     <value enum='4' description='FILL_OR_KILL' />
     <value enum='6' description='GOOD_TILL_DATE' />
    </field>
    <field number='60' name='TransactTime' type='UTCTIMESTAMP' />
    <field number='99' name='StopPx' type='PRICE' />
    <field number='100' name='ExDestination' type='EXCHANGE' />
    <field number='102' name='CxlRejReason' type='INT'>
     <value enum='0' description='TOO_LATE_TO_CANCEL' />
     <value enum='1' description='UNKNOWN_ORDER' />
     <value enum='99' description='OTHER' />
    </field>
    <field number='103' name='OrdRejReason' type='INT'>
     <value enum='1' description='UNKNOWN_SYMBOL' />
     <value enum='2' description='EXCHANGE_CLOSED' />
     <value enum='3' description='ORDER_EXCEEDS_LIMIT' />
     <value enum='4' description='TOO_LATE_TO_ENTER' />
     <value enum='5' description='UNKNOWN_ORDER' />
     <value enum='6' description='DUPLICATE_ORDER' />
     <value enum='8' description='STALE_ORDER' />
     <value enum='18' description='INVALID_PRICE_INCREMENT' />
     <value enum='99' description='OTHER' />
    </field>
    <field number='117' name='QuoteID' type='STRING' />
    <field number='119' name='SettlCurrAmt' type='AMT' />
    <field number='120' name='SettlCurrency' type='CURRENCY' />
    <field number='126' name='ExpireTime' type='UTCTIMESTAMP' />
    <field number='136' name='NoMiscFees' type='NUMINGROUP' />
    <field number='137' name='MiscFeeAmt' type='AMT' />
    <field number='138' name='MiscFeeCurr' type='CURRENCY' />
    <field number='139' name='MiscFeeType' type='CHAR'>
     <value enum='1' description='REGULATORY' />
     <value enum='8' description='MARKUP_FEE' />
     <value enum='4' description='EXCHANGE_FEES' />
     <value enum='7' description='OTHER' />
     <value enum='14' description='SECURITY_LENDING' />
    </field>
    <field number='146' name='NoRelatedSym' type='NUMINGROUP' />
    <field number='150' name='ExecType' type='CHAR'>
     <value enum='0' description='NEW' />
     <value enum='3' description='DONE_FOR_DAY' />
     <value enum='4' description='CANCELED' />
     <value enum='6' description='PENDING_CANCEL' />
     <value enum='8' description='REJECTED' />
     <value enum='A' description='PENDING_NEW' />
     <value enum='C' description='EXPIRED' />
     <value enum='F' description='TRADE' />
     <value enum='L' description='STOP_TRIGGERED' />
     <value enum='I' description='ORDER_STATUS' />
    </field>
    <field number='151' name='LeavesQty' type='QTY' />
    <field number='152' name='CashOrderQty' type='QTY' />
    <field number='167' name='SecurityType' type='STRING'>
     <value enum='FUT' description='FUTURE' />
     <value enum='PERP' description='PERPETUAL' />
     <value enum='SPOT' description='SPOT' />
    </field>
    <field number='168' name='EffectiveTime' type='UTCTIMESTAMP' />
    <field number='210' name='MaxShow' type='QTY' />
    <field number='211' name='PegOffsetValue' type='FLOAT' />
    <field number='262' name='MDReqID' type='STRING' />
    <field number='263' name='SubscriptionRequestType' type='CHAR'>
     <value enum='0' description='SNAPSHOT' />
     <value enum='1' description='SNAPSHOT_PLUS_UPDATES' />
     <value enum='2' description='DISABLE_PREVIOUS_SNAPSHOT_PLUS_UPDATE_REQUEST' />
    </field>
    <field number='264' name='MarketDepth' type='INT' />
    <field number='265' name='MDUpdateType' type='INT'>
     <value enum='0' description='FULL_REFRESH' />
     <value enum='1' description='INCREMENTAL_REFRESH' />
    </field>
    <field number='267' name='NoMDEntryTypes' type='NUMINGROUP' />
    <field number='268' name='NoMDEntries' type='NUMINGROUP' />
    <field number='269' name='MDEntryType' type='CHAR'>
     <value enum='0' description='BID' />
     <value enum='1' description='OFFER' />
     <value enum='2' description='TRADE' />
     <value enum='4' description='OPENING_PRICE' />
     <value enum='B' description='TRADE_VOLUME' />
    </field>
    <field number='270' name='MDEntryPx' type='PRICE' />
    <field number='271' name='MDEntrySize' type='QTY' />
    <field number='272' name='MDEntryDate' type='UTCDATEONLY' />
    <field number='273' name='MDEntryTime' type='UTCTIMEONLY' />
    <field number='278' name='MDEntryID' type='STRING' />
    <field number='279' name='MDUpdateAction' type='CHAR'>
     <value enum='0' description='NEW' />
     <value enum='1' description='CHANGE' />
     <value enum='2' description='DELETE' />
    </field>
    <field number='281' name='MDReqRejReason' type='CHAR'>
     <value enum='0' description='UNKNOWN_SYMBOL' />
     <value enum='1' description='DUPLICATE_MDREQID' />
     <value enum='4' description='UNSUPPORTED_SUBSCRIPTIONREQUESTTYPE' />
     <value enum='5' description='UNSUPPORTED_MARKETDEPTH' />
     <value enum='8' description='UNSUPPORTED_MDENTRYTYPE' />
     <value enum='C' description='UNSUPPORTED_MDUPDATETYPE' />
    </field>
    <field number='290' name='MDEntryPositionNo' type='INT' />
    <field number='326' name='SecurityTradingStatus' type='INT' />
    <field number='373' name='SessionRejectReason' type='INT'>
     <value enum='0' description='INVALID_TAG_NUMBER' />
     <value enum='1' description='REQUIRED_TAG_MISSING' />
     <value enum='2' description='TAG_NOT_DEFINED_FOR_THIS_MESSAGE_TYPE' />
     <value enum='3' description='UNDEFINED_TAG' />
     <value enum='5' description='VALUE_IS_INCORRECT' />
     <value enum='6' description='INCORRECT_DATA_FORMAT_FOR_VALUE' />
     <value enum='99' description='OTHER' />
    </field>
    <field number='380' name='BusinessRejectReason' type='INT'>
     <value enum='0' description='OTHER' />
     <value enum='2' description='UNKNOWN_SECURITY' />
     <value enum='3' description='UNSUPPORTED_MESSAGE_TYPE' />
     <value enum='5' description='CONDITIONALLY_REQUIRED_FIELD_MISSING' />
    </field>
    <field number='434' name='CxlRejResponseTo' type='CHAR'>
     <value enum='1' description='ORDER_CANCEL_REQUEST' />
     <value enum='2' description='ORDER_CANCEL_REPLACE_REQUEST' />
    </field>
    <field number='528' name='OrderCapacity' type='CHAR'>
     <value enum='A' description='AGENCY' />
     <value enum='P' description='PRINCIPAL' />
    </field>
    <field number='582' name='CustOrderCapacity' type='INT'>
     <value enum='1' description='MEMBER_TRADING_FOR_THEIR_OWN_ACCOUNT' />
     <value enum='2' description='CLEARING_FIRM_TRADING_FOR_ITS_PROPRIETARY_ACCOUNT' />
     <value enum='3' description='MEMBER_TRADING_FOR_ANOTHER_MEMBER' />
     <value enum='4' description='ALL_OTHER' />
    </field>
    <field number='836' name='PegOffsetType' type='INT'>
     <value enum='0' description='PRICE' />
     <value enum='1' description='BASIS_POINTS' />
     <value enum='4' description='CUMULATIVE_DEPTH_IN_BASE_UNITS' />
    </field>
    <field number='847' name='TargetStrategy' type='INT'>
     <value enum='1' description='VWAP' />
     <value enum='1001' description='TWAP' />
    </field>
    <field number='957' name='NoStrategyParameters' type='NUMINGROUP' />
    <field number='958' name='StrategyParameterName' type='STRING'>
     <value enum='HistoricalPOV' description='HISTORICAL_POV' />
     <value enum='WIGLevel' description='WIG_LEVEL' />
    </field>
    <field number='959' name='StrategyParameterType' type='INT'>
     <value enum='14' description='STRING' />
    </field>
    <field number='960' name='StrategyParameterValue' type='STRING' />
    <field number='911' name='TotNumReports' type='INT' />
    <field number='963' name='MDReportID' type='STRING' />
    <field number='1028' name='ManualOrderIndicator' type='BOOLEAN'>
     <value enum='N' description='NO' />
     <value enum='Y' description='YES' />
    </field>
    <field number='1031' name='CustOrderHandlingInst' type='MULTIPLECHARVALUE'>
     <value enum='W' description='DESK' />
     <value enum='Y' description='OTHER' />
     <value enum='C' description='CLIENT_ELECTRONICALLY' />
     <value enum='G' description='CLIENT_TELEPHONICALLY' />
     <value enum='H' description='FCM_PROVIDED_SCREEN' />
     <value enum='D' description='FCM_API_OR_FIX' />
    </field>
    <field number='1057' name='AggressorIndicator' type='BOOLEAN'>
     <value enum='N' description='NO' />
     <value enum='Y' description='YES' />
    </field>
    <field number='1138' name='DisplayQty' type='QTY' />
    <field number='1301' name='MarketID' type='EXCHANGE' />
    <field number='2446' name='AggressorSide' type='INT'>
     <value enum='0' description='NO_AGGRESSOR' />
     <value enum='1' description='BUY' />
     <value enum='2' description='SELL' />
    </field>

    <!-- Custom Coinbase Tags -->
    <field number='8002' name='FilledValue' type='PRICE' />
    <field number='8007' name='PegWigLevel' type='PRICE' />
    <field number='8998' name='IsBuyExact' type='BOOLEAN'>
     <value enum='N' description='NO' />
     <value enum='Y' description='YES' />
    </field>
    <field number='8999' name='IsRaiseExact' type='BOOLEAN'>
     <value enum='N' description='NO' />
     <value enum='Y' description='YES' />
    </field>
    <field number='9821' name='StpId' type='STRING' />
    <field number='9823' name='InternalStpId' type='STRING' />
   </fields>
  </fix>
  ```
</Accordion>
