Automatically merge crypto deposits and withdrawals into transfers

Created by Travis Lander, Modified on Wed, 12 Jun at 10:58 PM by Travis Lander

Description

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.

Detail

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.


Example

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.


Deposit


Withdrawal



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:










Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article