Skip to main content

Internal Transfers & Balance Adjustments

Overview

There may be times when your use case requires you to move assets between different wallets in your environment, independent of banking or digital asset payments.

These are called internal transfers, and are available through the internal-transfer endpoint.

A few examples where you may want to use internal transfers include:

  • Peer-to-peer (P2P) transfers between customers.
  • Funding a customer’s wallet with $10 as part of a promotion.
  • Moving a $5 monthly service fee from a user’s wallet to an admin revenue wallet.

Guides Internal Transfers

Internal transfers are designed to move USD between wallets, and require both the sending and receiving asset to be within the Connect system. The sending wallet will naturally need to have enough USD to fund the internal transfer.

info

You do not need to perform separate balance adjustments when receiving deposits or making withdrawals. In these cases, the system automatically makes the necessary adjustments to the ledger when the payment has been completed.

Balance Adjustments

Sometimes, you may want to move assets between different balances (or states) within a customer wallet.

For example, you may want to reserve (hold) BTC in a customer’s wallet while a transaction is being initiated. Then, at a future time, you may want to release that BTC so that it can be moved as part of an internal transfer.

To do this, you will use the internal-transfer endpoint, but instead of nominating different wallet IDs as the sending / receiving wallets, you will use the same wallet ID as both the receiving and receiving wallet.

Example code??

Asset Balances

Assets can have different balances depending on the business use case and transaction status.

A brief description of each asset type:

  • Available: Assets that are able to be freely interacted with by the user
  • Pending: Typically relates to a transaction that has been initiated but not yet processed
  • Reserved: Assets that have not left the wallet, but are not available to the user.