Net Settlement

The Net Settlement report apply exclusively to clients who are using their own fiat onramp solutions independently. For these clients, Bakkt provides a daily net settlement report to facilitate accurate reconciliation and settlement of transactions.


Daily Net Settlement Report

Each day, Bakkt generates a critical file for the period from 9 AM CT of the previous day to 9 AM CT of the current day. The file indicates the beginning and ending times for the transactions included in the net settlement, along with the net money that needs to be settled between Bakkt and the client who is using Bakkt execution services for daily settlements.

  • Net Settlement Report: This file contains detailed transaction data for all crypto executions within the settlement window. A summary of the Net Settlement will appear at the top of the file. Below that data will confirm that all listed coin executions have been cleared, with the assets now reflecting in the customer's holdings. This document is vital for cross-verifying transaction reconciliation between your system and Bakkt

Each day, your team will net settle funds using a wire transfer. The net settlement summary file will be emailed to your finance team and the Bakkt Operations team to facilitate the daily net settlement process. We request you to provide an appropriate email distribution list to ensure the right team members are looped into these communications. Any discrepancies identified will be collaboratively resolved by our teams before finalizing the settlement.


Start-of-Day Settlement Report Data Layout

The net settlement file will be uploaded to the eod_settlement directory in your S3 bucket.

The file name convention is as follows: 

  • DD_MM_YYYY_NET_SETTLEMENT_<Correspondent code>
Settlement Detail FieldsDefinitions
FromBeginning time stamp of the settlement window.
ToEnd time stamp of the settlement window.
Net SettlementUSD value of what is owed after the 9 AM cutoff. Positive values mean the client owes Bakkr. Negative values mean Bakkt owes the client.
Account IDClient’s  unique Account ID for the customer’s account.
Client Order IDOrder ID sent with crypto order.
Execution IDUnique identifier sent in execution report. Execution IDs are often numbers, but can also be alpha-numeric.
Trade DateDate part of the Execution Timestamp.
Execution TimeUTC time of execution/fill.
SideText string with Buy or Sell for trades and DEPOSIT and WITHDRAWAL  for manual adjustments.
SymbolCrypto symbol for trade (i.e. BTC).
Last QuantityQuantity filled for corresponding Execution ID.
Last PricePrice where execution was filled.
NotionalNotional Value of the fill (i.e. Last Price * Last Quantity).
FeesTrade fee in USD, where applicable.
TotalTotal cost of the execution (Notional + Fees).
Transaction TypeThis is the category of the transaction type. They include the following:
CLIENT_PURCHASE, CLIENT_SALE, CLIENT_ALLOCATION_SALE, CLIENT_ALLOCATION_PURCHASE, and MANUAL_ADJUSTMENT
CLIENT_PURCHASESingle Buy trade execution.
CLIENT_SALESingle Sell trade execution.
CLIENT_ALLOCATION_SALEA Sell allocation for an account.
CLIENT_ALLOCATION_PURCHASEA Buy allocation for an account.
MANUAL_ADJUSTMENT- A coin adjustment transaction for the customer’s account. In this case you will see a blank for “Notional” & Payment and there will not be a TPJ transaction associated with them.
- A cash adjustment transaction for the customer’s account. These will have TPJ transactions associated with them. In this case you will see a blank “Last Quantity” and “Last Price”. The “Symbol” will be “USD”.
Transaction IDInternal transaction ID.
Client Transaction IDThe ID that the client used to create the allocation request. This will be blank for all single trade executions.
Batch Transaction IDThe ID that the client used to create the batch of allocations that included this allocation. This will be blank for all single trade executions.

Reconciliation of Crypto Trade executions

Like an equity trade reconciliation, you can use the settlement detail file to reconcile all the customer trade executions you have in your system vs. the executions that Bakkt knows have happened.


Net Settlement Example Report


Period Covered: December 12, 2022, 14:00 UTC to December 13, 2022, 14:00 UTC

From: 2022-12-12T14:00:00Z

To: 2022-12-13T14:00:00Z

Net Settlement Amount: $19.00

Account IDTransaction TypeTransaction IDClient Order IDExecution IDClient Transaction IDBatch Transaction IDTrade DateExecution TimeSideSymbolLast QuantityLast PriceNotionalFeesTotal
xyz123jlpCLIENT_PURCHASE5587ce8d-8105-49a8-8d323821ad5a-2bf6-406b-aba4-a1d3c79dfd46e5a318e0627845df88465f7097aeab7a8e266503-7b46-459d-9677-c2d23bfeb9ffeb09fd2d-cc22-4c77-9495-8879330c915112/12/20222022-12-12T21:33:17ZBUYDOGE43.975078880.09096061404
xyz224jlpCLIENT_PURCHASE01afa9a7-f731-4c05-9ab76107b579-d613-4b55-97ec-e2b9321a69bf2022346-APEX-1-573-110751a3426f3-5ab0-44cf-bc07-cc40da9e04b9eb09fd2d-cc22-4c77-9495-8879330c915112/12/20222022-12-12T21:32:44ZBUYBTC0.0002879717362.66666667505
xyz444klmCLIENT_PURCHASE55d61ada-5824-4691-9547fce6b985-85d3-4ab6-8cdd-d762f840185bpeak6-wmtord-LJAHACDBNCGLABMEAGAAMBAA-LAe84c604d-fd04-4dae-89b6-7b14e643b404b6a5c9e2-0261-4682-a166-eed8a365df8c12/12/20222022-12-12T21:29:50ZBUYATOM0.514822669.71208222505
xyz444klmCLIENT_PURCHASE5857d8f1-c58f-483b-9087f498b1de-c7a8-4c50-9b9a-63658ce49bff2022346-APEX-1-573-110357b3207f0-45c8-40ee-9f6d-dbf3e43daa57b6a5c9e2-0261-4682-a166-eed8a365df8c12/12/20222022-12-12T21:29:08ZBUYBTC0.0002879317365.404040450

Note: A positive net settlement figure indicates an outstanding balance owed to Bakkt by the client.