Skip to main content
Logon(A) must be the first message sent by the client to initiate a session. If authentication succeeds, the exchange should echo the message back to the client. If authentication fails, the exchange will respond with a LogOut(5) message with an appropriate reason.

Arguments

TagNameTypeRequiredComments
108HeartBtIntintYesUsed to declare the timeout interval in seconds for generating heartbeats
95RawDataLengthLengthNoNumber of bytes in raw data field. Not required, as the normal RawData is base64 text here
96RawDatadataYesThe timestamp and a Base64 encoded nonce (see below)
553UsernameStringYesAPI Client ID. This can be obtained from the API tab on your account settings
554PasswordStringYesSee below
9002UseWordsafeTagsBooleanNoIf present and set to Y, all of the tag numbers for our custom tags start at 5000 instead of 100000. For example, Volume24h(100087) would become 5078. This tag can be used due to the fact, that legacy software which implements FIX protocol, doesn’t support the extended range for tags, which was defined in later protocol’s revisions. This setting stays applied for the remainder of the connection
9001CancelOnDisconnectBooleanNoBoolean, to enable or disable session-level cancel on disconnect. Default - false(N)
9004DeribitAppIdStringNoRegistered application Client ID. It is necessary for registered applications only
9005DeribitAppSigStringNoRegistered application Signature. It is necessary for registered applications only. It is calculated in a similar way to the Password(554) but with Application Secret instead of Client Secret: base64(sha256(RawData ++ application_secret)), see below
9007DeribitSequentialBooleanNoCustom tag to adapt Deribit internal messaging to sequential FIX messaging. If the tag is present and set to Y, all messages, including order changes and notifications, are sent through a single queue. This eliminates the distinction between “request/response” and “notifications” queues, which typically handle messages separately. As a result, messages are sent in a sequential order without direct responses. This configuration may cause slower call-return information delivery compared to configurations that use two separate queues
9009UnsubscribeExecutionReportsBooleanNoCustom tag. Default - false (N). If the tag is present and set to ‘Y’ this connection is unsubscribed from notificational Execution Reports about order changes. Only responses to order operation requests in this connection will be sent as Execution Reports, but no notifications such as orders from other connection or trades initiated by counterparty
9010ConnectionOnlyExecutionReportsBooleanNoCustom tag. Default - false (N). If the tag is present and set to ‘Y’ this connection will receive notificational Execution Reports only for order created in this connection, it won’t receive notification for orders created in other connections even within the same subaccount. This tag can be used to split Execution Reports between several connections to the same subaccount
9015ReportFillsAsExecReportsBooleanNoCustom tag, default is false (N). If the tag is present and set to ‘Y’, then FillsGrp is not included into Execution Report, and reported as Execution Reports with ExecType = F(TRADE)
9018DisplayIncrementStepsBooleanNoCustom tag, default is false (N). If the tag is present and set to ‘Y’, then symbol entries will include the Price Increment steps of the Symbol (if applicable). See NoTickRules(1205) below
The RawData(96) tag contains a timestamp and a nonce, separated by an ASCII period (.). The timestamp needs to be a strictly increasing integer. We recommend using a timestamp in milliseconds. The nonce is composed of base64-encoded randomly chosen bytes. For safety reasons, it is important that the nonce is sufficiently long and sourced from a cryptographically secure random number generator. We recommend at least 32 bytes, but the nonce can be up to 512 bytes. The Password(554) tag contains a base64 encoded SHA256 hash of the concatenation of the RawData(96) content and the cleint secret: base64(sha256(RawData ++ access_secret)), here ++ denotes operation of the concatenation. Optional custom tag DeribitAppSig(9005) contains a base64 encoded SHA256 hash of the concatenation of the RawData(96) content and the Application secret: base64(sha256(RawData ++ application_secret)), here ++ denotes operation of the concatenation. This tag is used for registered applications only. CancelOnDisconnect(9001) controls “Close on Disconnect”. If this tag is not provided, the default setting from the account is used.

Response

When the login is successful, the server will echo back the request. If the login was not successful, the server will respond with a Logout(5) message, and close the connection.