dashed-slug.net › Forums › CoinPayments.net Wallet Adapter extension support › Transaction fee › Reply To: Transaction fee
For each coin that you have online, there is a wallet backing it. This is either a full node or a cloud wallet. This wallet has a balance on it, which is how many coins are actually available on the site. The plugin then keeps a record of user balances and uses this master wallet to store the coins, to receive new coins, and to withdraw coins to external addresses. Perhaps all this is more clear with an example:
Say you have a new master wallet with 0 coins.
Then user A deposits 10 coins. There are 10 coins on the master wallet and they all belong to user A.
Now user A transfers 2 coins to user B. Now user A has 8 coins, and user B has 2 coins minus whatever the fees are. Your master wallet still has 10 coins. And the fees are in the master wallet that you control.
Now suppose you go to the cold storage section and withdraw 5 coins to a hardware wallet. Now user A still has 8 coins, user B has a bit less than 2 coins, and the master wallet has a balance of 5 coins. User B can withdraw their entire balance, but user A cannot. This is why you need to keep track of the percentage of user balances that is online. You do not want users to not be able to withdraw their coins, but you do not want to have the entire balance online either, because you don’t want to put all your eggs in one basket, security-wise. It’s a trade-off.
Hope this is more clear?