A Bitcoin wallet is needed to receive and send Bitcoin.
To receive Bitcoin with the BTCPay server, you have the following options:
- You use an already existing external wallet in which you import the xpubkey.
- You create a new wallet on the BTCPay server, the BTCPay Wallet.
If you already have an external wallet, you need to deposit the corresponding xpubkey with BTCPay Server. For example, the Electrum Wallet is recommended for this purpose. You can learn 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 deposit the XPub key in the BTCPay store is explained in the article “Deposit xPub key at BTCPay“.
If you want to use the BTCPay wallet provided within the BTCPay server, this guide will help you.
Within the BTCPay server, there is a separate 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.
A hot wallet is a wallet that can be accessed via the Internet and is therefore subject to the risk of being cleaned out by a hacker.
However, if you want to make payments in addition to receiving them, it makes sense to use the internal Hot BTCPay Wallet.
Possible applications for a BTCPay Wallet
Using the internal BTCPay wallet is useful for the following requirements:
- If the bitcoin is to be forwarded to a bitcoin exchange to change it into euro
- If you want to make bitcoin payouts, credits or refunds to your customers
- Laziness, because you look at the effort of setting up a cold wallet and the amounts are too small and the effort is not worth it
- To use the Payjoin and Liquid applications
Change Bitcoin to Euro
By selling in an online store, revenue is generated in bitcoin. However, you may not want to keep these Bitcoin at all and prefer to have Euros instead. Be it out of fear of the incalculable price fluctuations or in order to have a clear accounting. In these cases, it may make sense for the Bitcoin to be sent directly to a Bitcoin exchange to be exchanged into Euros.
In these cases, it makes sense to use the BTCPay wallet, which, in combination with BTC Transmuter, enables automated routing to a Bitcoin exchange of one’s choice.
How this is implemented in detail, you will learn in the article “Change Bitcoin at the Bitcoin exchange into Euro”.
Pay out credits and refunds to customers
In online commerce, it happens that customers return the goods, have paid too much or you as a merchant would like to issue a credit note.
The withdrawal of these credits is possible with the help of BTCPay Wallet. For example, a smaller amount can always remain on this hot wallet, which can be used for credits. These credits can be made by employees. Any amount in excess of this can be forwarded to a secure cold wallet
Low turnover does not justify the expense of a cold wallet
If you only have a small amount of Bitcoin sales in your online store, you may be reluctant to make the effort to secure your Bitcoin in the beginning.
Everyone just needs to be aware that a hot wallet is high risk. Therefore, the maximum amount of Bitcoin that should be left there is the amount that one could handle in case 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 transactions on the Hot BTCPay wallet, you proceed as follows:
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 shared with anyone and is represented as a Bitcoin address. The Bitcoin will then be sent to this Bitcoin address.
In order to make payments yourself or to forward your Bitcoin balance, the private key is required. Because only who is in possession of the private key is also in possession of the Bitcoin. That’s why they say “Not your keys, not your Bitcoin“.
But now this private key must be deposited in the BTCPay store. 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. Profile und dort in General Settings. Dort scrollen wir etwas nach unten, bis wir zu Derivation Scheme gelangen.
There we click on Modify
After that we click on the Import from link and a pull-down menu will pop up.
There we select the item “a new/existing seed”.
A new window will open. In the upper part of the window an existing seed can be stored.
However, we would like to create a new seed.
For this we need to determine the Address Type. Segwit is recommended by BTCPay. With this address type all Bitcoin addresses start with bc1. This is from a technical point of view, the most sensible decision, but unfortunately there are still numerous wallets that do not support Segwit and therefore could not pay in our store.
Therefore, we recommend the “Segwit wrapped” setting. All Bitcoin addresses will start with a 3.
The “Hot Wallet” and “Import keys to RPC” checkboxes are also checked.
A seed consisting of 12 words is created. These words are displayed at the top of the green bar.
Be sure to write down these 12 words and keep them safe. Anyone who knows these words has access to bitcoin. With these words, you can transfer your balance at any time.
If at some point you can no longer access the BTCPay server, you will still have full control over your Bitcoin.
Especially if you don’t run your own BTCPay server, but use a BTCPay store at a third-party hoster or try the demo BTCPay store from Coincharge, you should use a cold wallet.
However, if you decide to use a hot wallet, writing down these words in this order is extremely important.
After you have safely written down the words, don’t forget to click Save at the bottom of the page.
Now you have successfully deposited a hot wallet with your store and can receive Bitcoin payments.
In order to use the Bitcoin you receive, you need to switch to the Wallet section. You can find it at the top of the navigation bar. There your wallets will be listed and click on Manage for our hot wallet.
All transactions are listed in the Transactions section.
If you click on the button in the Labels column, you will get the respective detailed information about this transaction. By clicking on the Transaction ID, this transaction is displayed on the blockchain.
In the Sendsection, you can send Bitcoin to another Bitcoin address. To do this, enter the destination address. This is the Bitcoin address to which the transaction should be sent.
The corresponding amount in Bitcoin and the corresponding USD amount will be calculated automatically. Then the recommended fee for the transaction.
Each outgoing transaction must be signed or approved. This is done via “Sign with
Several options are offered here. Since we have saved our seed as a hot wallet in NBXplorer, we need to select “the seed saved in NBXplorer” to release the payment.
As mentioned earlier, the 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 funds to a more secure cold wallet. You can do this either manually, or automated via BTC Transmuter.
With BTC Transmuter, for example, you can specify from which amount the Bitcoin should be forwarded to which Bitcoin address. You can either forward the Bitcoin to your account at a Bitcoin exchange so that the Bitcoin can be exchanged for Euros or to a secure Bitcoin address.
Using the Hot BTCPay Wallet is especially good if you want to make automated sales of your Bitcoin or pay out credits to your customers.
With the BTCPay Wallet and BTC Transmuter you can automatically forward your Bitcoin to an exchange and change it into Euro. How this works, you will learn in the article “Change Bitcoin automatically into Euro”.