This post is also available in: German
A Bitcoin Wallet is required to receive and send Bitcoin.
To receive Bitcoin with the BTCPay server you have the following options:
- You use an already existing external wallet by importing the xpubkey.
- You create a new wallet on the BTCPay server, the BTCPay Wallet.
If you already own an external wallet, you have to store the corresponding xpubkey at BTCPay Server. We recommend the Electrum Wallet, for example. You can find out how to set up an Electrum Wallet on your computer in the article “Creating Xpub Key, using the Electrum Wallet as an example“. How to store the XPub Key in the BTCPay Shop is explained in the post “insert xPub Key at BTCPay“.
If you want to use the BTCPay Wallet provided within the BTCPay server, this manual will help you.
Within the BTCPay Server, there is an own integrated BTCPay Wallet. With this BTCPay wallet, Bitcoin sales can be credited directly, payments can be forwarded immediately or credits and refunds can be paid out to customers.
To make these payments, it is necessary that the private key is on the wallet. Thus, the integrated BTCPay Wallet is a so-called hot wallet.
Hot Wallet is a wallet that can be accessed via the Internet and is therefore at risk of being cleared by a hacker.
However, if you want to carry out payments in addition to receiving payments, the use of the internal Hot BTCPay Wallet makes sense.
Applications for a BTCPay Wallet
The use of the internal BTCPay wallet is useful for the following requirements:
- If the Bitcoin is to be forwarded to a Bitcoin exchange to exchange in Euros
- If you want to make Bitcoin withdrawals, credits or refunds to your customers
- Laziness because you look at the effort to set up a cold wallet and the amounts are too small and the effort is not worth it
- To use the Payjoin and Liquid applications
Switching Bitcoin to Euro
Selling in an online store generates revenue in Bitcoin. However, it may be that you don’t want to keep this Bitcoin at all and prefer to have Euros instead. Be it for fear of incalculable price fluctuations or to have a clear accounting. In these cases, it may be useful if the Bitcoin is forwarded directly to a Bitcoin exchange in order to be exchanged in euros.
In these cases, the use of the BTCPay Wallet makes sense, which in combination with BTC Transmuter allows an automated forwarding to a Bitcoin exchange of your own choice.
You can find out how this is implemented in detail in the article “Change Bitcoin on the Bitcoin Exchange in Euros”
Pay out credits and refunds to customers
In online retail, customers have returned the goods, paid too much or want to give a credit as a retailer.
The payment of these credits is possible with the help of the BTCPay Wallet. For example, a smaller amount may always remain on this hot wallet, which can be used for credits. These credits can be made by employees. An inaddition amount can be forwarded to a secure cold wallet
Low sales do not justify the cost of a Cold Wallet
Those who have low Bitcoin sales in their online shop may initially shy away from the effort to make a highly secure hedge of their Bitcoin.
Everyone just needs to be aware that a hot wallet is a high risk. Therefore, a maximum of as much Bitcoin should be left there that one could cope with in the event of a loss.
How much cash do you have in your wallet right now? You should never have more money in a hot wallet.
If you have decided to accept your Bitcoin sales on the Hot BTCPay Wallet, you will do the following:
How to create a BTCPay Wallet
To process a Bitcoin payment, you always need a private and a public key. The public key can be communicated to anyone and is represented as a Bitcoin address. The Bitcoin is then sent to this Bitcoin address.
In order to make payments yourself or to forward his Bitcoin balance, the Private Key is required. Because only those who own the private key are also in possession of Bitcoin. That’s why they say “Not your keys, not your Bitcoin“.
Now, however, this private key must be stored in the BTCPay Shop. For this purpose, we create a private key in the first step.
To do this, we go to the Store Settings on the BTCPay server. Then in Manage Store. profiles and there in General Settings. There we scroll down a bit until we get to Derivation Scheme.
There we click on Modify
After that we click on the link Import from and a pull-down menu will be opened.
There we select the item “a new/existing seed”.
A new window opens. An existing seed can be stored in the upper part of the window.
But we want to create a new seed.
To do this, we need to determine the address type. BTCPay recommends Segwit. With this address type, all Bitcoin addresses start with bc1. This is the most sensible decision from a technical point of view, but unfortunately there are still many wallets that do not support Segwit and therefore could not pay in our shop.
Therefore, we recommend the setting “Segwit wrapped”. All Bitcoin addresses will start with a 3.
The check marks are also set at “Hot Wallet” and “Import keys to RPC”.
A seed consisting of 12 words is created. These words appear at the top of the green bar.
Write down these 12 words and keep them safe. Those who know these words have access to Bitcoin. With these words, you can transfer your credit at any time.
If you are unable to access the BTCPay server at some point, you will still have full control over your Bitcoin.
Especially if you do not operate your own BTCPay server, but use a BTCPay shop at a third-party Hoster or try out the demo BTCPay Shop from Coincharge, you should use a Cold Wallet.
But if you choose a hot wallet, writing down these words in this order is extremely important.
After you have safely noted the words, don’t forget to click Save at the bottom of the page.
Now you have successfully deposited a hot wallet with your shop and can receive Bitcoin payments.
In order to use the Bitcoin you received, you need to switch to the Wallet section. You can find it at the top of the navigation bar. There your wallets are listed and click on Manage on our Hot Wallet.
The Transactions pane lists all transactions.
If you click on the button in the Labels column, you will get the detailed information about this transaction. Clicking on the Transaction ID will display this transaction on the Blockchain.
In the Send section you can send Bitcoin to another Bitcoin address. For this purpose, you enter the destination address. This is the Bitcoin address to which the transaction is to be sent.
The corresponding amount in Bitcoin and the corresponding USD amount will be calculated automatically. Then the recommended fee for the transaction.
Each outbound transaction must be signed or released. This is done by “Sign with”
Several options are offered here. Since we have saved our seed as a hot wallet in the NBXplorer, we have to select “the seed saved in NBXplorer” to release the payment.
As mentioned earlier, hot wallet functionality poses a high risk of funds being stolen if the server or account is compromised. To mitigate this risk, you should enable two-factor or U2F authentication.
Then you should never have too much money on the BTCPay wallet. Regularly transfer your balance to a safer Cold Wallet. You can do this either manually, or automated via BTC Transmuter.
With BTC Transmuter, for example, you can specify the amount from which Bitcoin should be forwarded to which Bitcoin address. You can either forward the Bitcoin to your account on a Bitcoin exchange so that the Bitcoin can be exchanged for Euros or to a secure Bitcoin address.
The use of the Hot BTCPay Wallet is particularly suitable if you want to make the automated sale of your Bitcoin or withdraw credits to your customers.
With the BTCPay Wallet and BTC Transmuter you can automatically transfer your Bitcoin to an exchange and switch to Euros. You can find out how this works in the article “Change Bitcoin automatically to Euros”
This post is also available in: German