How We Identified and Resolved the Payout Issue at SHKeeper

article illustration
#case_studies

Challenge:

  1. Difficulty in payouts processing strategy with the SHKeeper version since the beginning of 2023.
  2. Duration generation of cryptocurrency balances amount for clients with a large number of one-time accounts.

How We Identified the Issue:

As the demand for SHKeeper began to grow, we received clients from various niches. We gained initial experience working with large clients on SHKeeper. One such client had many users making payments to them, and due to the nature of their business, they needed to regularly make payouts to various users. This involved managing over 10,000 one-time accounts for payouts.

Let’s remember what is the process of receiving crypto using SHKeeper:

When a user makes a cryptocurrency payment through SHKeeper to our client, a unique one-time address is generated for that specific transaction. The crypto is received and stored across multiple unique one-time accounts/wallets.

The payout process was as follows:

Since the funds were stored across multiple accounts (each with a different balance), payouts required transferring funds from several different one-time accounts in a manner that equated to the required amount.

The process became significantly more complex when we needed to assist a client in making such payouts in large quantities, to various addresses, and on a regular basis. We had to generate a report to check the balance, which for such a large number of addresses, could take several hours. Afterward, we had to devise a payout strategy for each crypto payout and reconcile balances to ensure everything was sent correctly.

For small to medium projects, this was not a problem but a task. However, when we encountered it on a large project, it became a problem.

We challenged the automation and improvement of the payout process for SHKeeper and all of its users.

How We Resolved the Payout Issue:

We made an analysis.

A network fee is incurred for each transaction made from each wallet to process a payout. Thus, if we add an additional wallet for crypto storage, the number of transactions will increase by one, and that’s insignificant if think about the commission. While this is a little loss in terms of network fees, it significantly simplifies and makes payouts more reliable and quick.

Therefore, now the equation is N+1, where N is the number of payout transactions (with network fes) from one-time wallets to execute its transfer. We increased it to +1 by adding a Main Wallet for balance storage. 

The process of receiving crypto remained the same. For each payment, a unique wallet is generated, where funds are received, and information about it is stored in SHKeeper. However, now the funds from one-time wallets for receiving payments are automatically forwarded to the Main Wallet for storage.

Conclusion

This solution eliminates the need to generate a balance report, as everything can be checked in one place on one Main Wallet. Now payouts can be made not from multiple wallets, trying to match the amount and devise strategies. Everything is simplified to making payouts from one main wallet, which holds the entire shared crypto balance.