Start of Day Reports

Bakkt's Start of Day (SOD) reporting suite equips clients with detailed summaries and insights into trades, positions, and account activities. These comprehensive reports offer granular insight into the operational aspects of your platform and customers, ensuring you stay informed about everything that is happening and reconcile all transactions. Delve deeper into each report for guides and examples:

Note: SOD reports will be different depending on the client's settlement type. For example, Cash Activity and Cash Balance reports are only for clients that are using Bakkt's Fiat Onramp service.


Buying Power

In order to effectively manage customer buying power on the Bakkt Crypto platform, clients must use start of day files to get the starting point of customer buying power and then adjust that value based on trading information for the timeframe from the last SOD file run until now. The below steps will get your system the correct customer buying power in real-time.

  1. The starting point of buying power is the customer’s Fiat balance/position. Bakkt has a Cash Balance SOD file that has a Settled Amount of USD column. This balance is as of 16:40 CT.
    1. Once you have this balance, then you need to reduce the buying power for a couple of reasons.
  2. Bakkt has an Aged TPJ SOD file that has all of the failed cash transactions that were still unsettled as of 16:40 CT. For each row in this file, you should reduce the customer buying power by the notional amount that has not settled.
    1. Note that there should not be many failed fiat deposits from sell trades, but it can happen due to account restrictions. Theoretically, your system should credit buying power for these, but many clients ignore this to remain conservative regarding the customer buying power.
  3. The client system must keep track of trades that execute in the market and thus need to settle between 16:40 CT and the current time. For each trade execution, the client will need to debit or credit the buying power to maintain the live buying power.
  4. The client system must keep track of orders that have been sent to the market. For each buy order, buying power need to be reserved/reduced while it sits in the market.
    1. If the order executes, then it becomes a trade execution and falls into step 3 above. In this case, the reservation becomes permanent.
    2. If the order gets canceled without a trade execution, your system can safely return the reserved buying power.
    3. Note that sell orders do NOT receive a buying power credit until they actually execute in the market and become part of 3 above.

Some clients choose to update buying power each morning with this process and others will keep a live buying power and then only confirm the value each morning using the above logic.