This app will merge any matching crypto deposits and withdrawals into a transfers between SoftLedger wallets. To limit the recognition of undesired gain/loss calculations when moving an asset between two wallets in the same SoftLedger Location, this integration will replace the deposit and withdrawal transactions with one transfer transaction. This action will retain the cost basis from one wallet to the other.


Each day the integration will be triggered and query for a list of transactions meeting this criteria:
  • type is deposit
  • transaction has is not null
For each deposit found, the integration will look for a matching withdrawal. A match is found and merged if the deposit finds a corresponding withdrawal that matches on the below criteria:

  • timestamp
  • transaction hash
  • sent coin matches the received coin
  • sent quantity exactly matches received quantity
  • rate currency 
  • sent wallet is different than the received wallet, and within the same SoftLedger Location

If a match is found, then the MERGE function will be executed, more detail can be found here.


If there two SoftLedger Wallets created in the same SoftLedger Location:

  1. ETH Treasury
  2. ETH Trading

In this example, each wallet has a different source of transactional data, such as an integration for one, and an upload for the other. Below we will walk through how the movement of one Ethereum from the ETH Treasury wallet to the ETH Trading wallet would take place through this integration.

See a deposit in ETH Trading and a withdrawal in ETH Treasury below that converts into a single transfer because of the previously mentioned matching criteria.



Since the above transactions meet the criteria described, these two transactions would be merged into a transfer from this integration, resulting in the transfer transaction: