diff --git a/docs/Wallet.md b/docs/Wallet.md index f0b82a78ab..5d630a06a8 100644 --- a/docs/Wallet.md +++ b/docs/Wallet.md @@ -13,7 +13,7 @@ The wallet contains the following features: 3. Receive 4. Rescan 5. Pull payments -6. Payouts +6. Payouts 7. PSBT 8. Settings @@ -21,7 +21,7 @@ The wallet contains the following features: An overview of the incoming (green), outgoing (red) and unconfirmed (grayed out) **transactions** displayed together with timestamps and balances, sorted by date. You can click on the transaction ID to view the transaction details on the block explorer. -![Individual Wallet](./img/wallet/WalletTransactions.jpg) +![Individual Wallet](./img/wallet/WalletTransactions.png) #### Transaction Labels @@ -42,7 +42,37 @@ You can also create your own [custom transaction labels and comments](./FAQ/Wall The Send function allows **spending of the funds from the BTCPay wallet**. -![Send from the Wallet](./img/wallet/WalletSend.jpg) +![Send from the Wallet](./img/wallet/WalletSend.png) + + +#### Advanced Settings + +Certain wallet features are available for advanced users. Toggle the `Advanced Settings` within the `Send` tab to preview them. + +##### Don't create UTXO change + +This option is available in the `Advanced mode` of the `Send` page. + +It is a privacy enhancing feature which is useful when you're sending funds to another wallet of yours or to an exchange. It makes sure that no change UTXO is created by **rounding up** the amount sent. + +By default this feature is disabled, so if your wallet has a UTXO of `1.1 BTC` and you input an amount equal to `1.0 BTC`, the resulting transaction will have two outputs `0.1 BTC` of change, and `1.0 BTC` to your destination. + +Blockchain analysis will understand that those `0.1 BTC` of change belong to the same entity which controlled `1.1 BTC` before, and can track the future purchase you make under the same pattern. + +By enabling this feature, BTCPay Server wallet will round up the amount sent to `1.1 BTC` such that no change output is sent back to you. + +Warning: Despite the fact, in this example, that you entered `1.0` in the amount field, the amount that will really be sent to your destination will be `1.1 BTC`. + +##### Other features + +###### Camera QR scan + +Scan option in wallet (camera icon in send screen) lets you **use your device’s camera to scan a QR code containing an address or BIP21 payment link**. It auto-populates the sending information so that you don’t have to manually copy-paste an address and amount. + + +###### Paste BIP21 address + +This option **decodes a BIP21 payment link**. It's useful when you're trying to pay a [Payjoin](./Payjoin.md) invoice. #### Signing a transaction (spending) @@ -89,79 +119,54 @@ If you [created a new wallet](./CreateWallet.md) when setting up your store and Using the hot wallet feature comes with security implications; please be sure to read and understand them over at the [Hot Wallet documentation](./CreateWallet.md#security-implications) ::: -#### Advanced Settings - -Certain wallet features are available for advanced users. Toggle the `Advanced Settings` within the `Send` tab to preview them. - -##### Don't create UTXO change - -This option is available in the `Advanced mode` of the `Send` page. - -It is a privacy enhancing feature which is useful when you're sending funds to another wallet of yours or to an exchange. It makes sure that no change UTXO is created by **rounding up** the amount sent. - -By default this feature is disabled, so if your wallet has a UTXO of `1.1 BTC` and you input an amount equal to `1.0 BTC`, the resulting transaction will have two outputs `0.1 BTC` of change, and `1.0 BTC` to your destination. - -Blockchain analysis will understand that those `0.1 BTC` of change belong to the same entity which controlled `1.1 BTC` before, and can track the future purchase you make under the same pattern. -By enabling this feature, BTCPay Server wallet will round up the amount sent to `1.1 BTC` such that no change output is sent back to you. +### Receive -Warning: Despite the fact, in this example, that you entered `1.0` in the amount field, the amount that will really be sent to your destination will be `1.1 BTC`. +The Receive tab **generates an unused address which can be used to receive payments**. The same can be achieved by generating an invoice (Invoices > Create new invoice). -##### RBF (Replace-By-Fee) +![Wallet Receive](./img/wallet/WalletReceive.png) -Replace-By-Fee (RBF) is a Bitcoin protocol feature that allows you to replace a previously broadcast transaction (while unconfirmed). This allows randomizing your wallet's transaction fingerprint, or simply for replacing it with a higher fee rate to move the transaction higher in the queue of confirmation (mining) priority. This will effectively replace the original transaction as the higher fee rate will be prioritized and once confirmed, invalidating the original one (double spend). +![Wallet Receive Two](./img/wallet/WalletReceiveTwo.png) -Press the `Advanced Settings` button to view the RBF options: +### Pull Payments -![RBF Options](./img/wallet/WalletRBF.jpg) +This feature gives you the ability to **create a Pull Payment**, so that an outside individual may request to `pull` funds from your wallet. -- Option 1 (Enabled by Default): Allow the transaction to be replaced automatically for randomization of transaction fingerprint (increased privacy) -- Option 2: Yes, Allow the transaction to be replaced explicitly (not replaced by default) -- Option 3: No, Do not allow the transaction to be replaced (ignore replacement) +For more information, see [Pull Payments](./PullPayments.md). -##### Coin Selection +### Payouts -Coin selection is an advanced **privacy-enhancing feature** that allows you to **specifically select coins** that you would like to spend when crafting a transaction. For example, paying with coins that are fresh from a coinjoin mix. +This section lets you manage Pull Payments and gives you the ability to **accept or decline payouts requested by outside individuals**. -To make the selection easier, coin-selection works natively with the wallet labels feature. This allows you to label any incoming funds for smoother UTXO management and spending. +For more information, see [Payouts](./PullPayments.md#approve-and-pay-a-payout). -![Coin Selection](./img/wallet/CoinSelection.jpg) +### Settings -##### Other features +In the top right corner of your `wallet` you will find the `wallet settings`. +In the wallet settings tab you can adjust certain settings. If you've configured your wallet by [creating a new wallet](./CreateWallet.md) or using an existing wallet via the [hardware wallet integration](./HardwareWalletIntegration.md) these settings will be pre-configured. +Here, you have the options to perform several actions on your wallet, such Rescanning wallet for missing transactions, prunning old transactions, view wallet phrase, remove wallet among features. -###### Camera QR scan -Scan option in wallet (camera icon in send screen) lets you **use your device’s camera to scan a QR code containing an address or BIP21 payment link**. It auto-populates the sending information so that you don’t have to manually copy-paste an address and amount. -![QR Scan](./img/wallet/ScanWallet.jpg) +![Wallet Rescan](./img/wallet/WalletSetting.png) -###### Paste BIP21 address -This option **decodes a BIP21 payment link**. It's useful when you're trying to pay a [Payjoin](./Payjoin.md) invoice. -### Receive - -The Receive tab **generates an unused address which can be used to receive payments**. The same can be achieved by generating an invoice (Invoices > Create new invoice). - -![Wallet Receive](./img/wallet/WalletReceive.jpg) - -### Pull Payments +If you manually added the extended public key from an external wallet, you'd need to adjust `AccountKeyPath` that you can find in your external wallet, for example `m/84'/0'/0'` to be able to spend from the BTCPay Wallet. -This feature gives you the ability to **create a Pull Payment**, so that an outside individual may request to `pull` funds from your wallet. -For more information, see [Pull Payments](./PullPayments.md). +In `wallet settings` you will also find the `speed policy` for the specific store. +There are 2 main settings under `Payment`, [Payment invalid if transaction fails to confirm in ... after invoice creation](./FAQ/Stores.md#payment-invalid-if-transactions-fails-to-confirm--minutes-after-invoice-expiration) and [Consider the invoice confirmed when the payment transaction...](./FAQ/Stores/#consider-the-invoice-confirmed-when-the-payment-transaction). The latter lets you set the number of confirmations required to be recognized as settled. -### Payouts -This section lets you manage Pull Payments and gives you the ability to **accept or decline payouts requested by outside individuals**. +![Wallet settings](./img/wallet/WalletSettingTwo.png) -For more information, see [Payouts](./PullPayments.md#approve-and-pay-a-payout). ### Re-scan The Rescan relies on Bitcoin Core 0.17.0's `scantxoutset` to **scan the current state of the blockchain** (called UTXO Set) for coins belonging to the configured derivation scheme. -![Wallet Rescan](./img/wallet/WalletRescan.jpg) +![Wallet Rescan](./img/wallet/WalletRescan.png) Wallet re-scan solves two critical problems for BTCPay users: @@ -172,7 +177,7 @@ Wallet re-scan solves two critical problems for BTCPay users: **Wallet import**: When users add a derivation scheme of a wallet that had transactions in the past (previously used wallet), BTCPay won't be able to show the balance and transactions from the past. -![Wallet rescan progress](./img/wallet/WalletRescanProgress.jpg) +![Wallet rescan progress](./img/wallet/WalletRescanProgress.png) Re-scan is a feature that solves both of these problems. Once the scan is complete, BTCPay Server will show the correct balance, along with the past transactions of the wallet. @@ -180,14 +185,11 @@ Wallet re-scan requires access to the full node which means that this function i Users who use a third-party host should use a newly generated xpub key and also use an external wallet like Electrum which allows them to increase the gap limit. -### Settings - -In the top right corner of your `wallet` you will find the `wallet settings`. -In the wallet settings tab you can adjust certain settings. If you've configured your wallet by [creating a new wallet](./CreateWallet.md) or using an existing wallet via the [hardware wallet integration](./HardwareWalletIntegration.md) these settings will be pre-configured. +### Labels -If you manually added the extended public key from an external wallet, you'd need to adjust `AccountKeyPath` that you can find in your external wallet, for example `m/84'/0'/0'` to be able to spend from the BTCPay Wallet. +At the bottom of your wallet settings, you can manage your `custom transaction label`. -In `wallet settings` you will also find the `speed policy` for the specific store. -There are 2 main settings under `Payment`, [Payment invalid if transaction fails to confirm in ... after invoice creation](./FAQ/Stores.md#payment-invalid-if-transactions-fails-to-confirm--minutes-after-invoice-expiration) and [Consider the invoice confirmed when the payment transaction...](./FAQ/Stores/#consider-the-invoice-confirmed-when-the-payment-transaction). The latter lets you set the number of confirmations required to be recognized as settled. +Clicking on the link would take you to a page where you can view all custom labels associated to all transaction. You can remove any or all custom labels given the required +permission. -![Wallet settings](./img/wallet/btcpayserverwalletsettings1.jpg) +![Wallet settings](./img/wallet/ManageLabel.png) diff --git a/docs/img/wallet/ManageLabel.png b/docs/img/wallet/ManageLabel.png new file mode 100644 index 0000000000..f8d43e5f9c Binary files /dev/null and b/docs/img/wallet/ManageLabel.png differ diff --git a/docs/img/wallet/ScanWallet.PNG b/docs/img/wallet/ScanWallet.PNG new file mode 100644 index 0000000000..4ea9d98e53 Binary files /dev/null and b/docs/img/wallet/ScanWallet.PNG differ diff --git a/docs/img/wallet/ScanWallet.jpg b/docs/img/wallet/ScanWallet.jpg deleted file mode 100644 index ed797b273d..0000000000 Binary files a/docs/img/wallet/ScanWallet.jpg and /dev/null differ diff --git a/docs/img/wallet/WalletReceive.jpg b/docs/img/wallet/WalletReceive.jpg deleted file mode 100644 index 91d1282bb8..0000000000 Binary files a/docs/img/wallet/WalletReceive.jpg and /dev/null differ diff --git a/docs/img/wallet/WalletReceive.png b/docs/img/wallet/WalletReceive.png new file mode 100644 index 0000000000..993b5862ca Binary files /dev/null and b/docs/img/wallet/WalletReceive.png differ diff --git a/docs/img/wallet/WalletReceiveTwo.png b/docs/img/wallet/WalletReceiveTwo.png new file mode 100644 index 0000000000..f6acc85c17 Binary files /dev/null and b/docs/img/wallet/WalletReceiveTwo.png differ diff --git a/docs/img/wallet/WalletRescan.jpg b/docs/img/wallet/WalletRescan.jpg deleted file mode 100644 index 3ad6c20473..0000000000 Binary files a/docs/img/wallet/WalletRescan.jpg and /dev/null differ diff --git a/docs/img/wallet/WalletRescan.png b/docs/img/wallet/WalletRescan.png new file mode 100644 index 0000000000..77c1e45824 Binary files /dev/null and b/docs/img/wallet/WalletRescan.png differ diff --git a/docs/img/wallet/WalletRescanProgress.jpg b/docs/img/wallet/WalletRescanProgress.jpg deleted file mode 100644 index 5f8fd7c2e1..0000000000 Binary files a/docs/img/wallet/WalletRescanProgress.jpg and /dev/null differ diff --git a/docs/img/wallet/WalletRescanProgress.png b/docs/img/wallet/WalletRescanProgress.png new file mode 100644 index 0000000000..abb862e14d Binary files /dev/null and b/docs/img/wallet/WalletRescanProgress.png differ diff --git a/docs/img/wallet/WalletSend.jpg b/docs/img/wallet/WalletSend.jpg deleted file mode 100644 index 925bf377f6..0000000000 Binary files a/docs/img/wallet/WalletSend.jpg and /dev/null differ diff --git a/docs/img/wallet/WalletSend.png b/docs/img/wallet/WalletSend.png new file mode 100644 index 0000000000..4b2bb14c43 Binary files /dev/null and b/docs/img/wallet/WalletSend.png differ diff --git a/docs/img/wallet/WalletSetting.png b/docs/img/wallet/WalletSetting.png new file mode 100644 index 0000000000..aa4474c64a Binary files /dev/null and b/docs/img/wallet/WalletSetting.png differ diff --git a/docs/img/wallet/WalletSettingTwo.png b/docs/img/wallet/WalletSettingTwo.png new file mode 100644 index 0000000000..ffad8526f7 Binary files /dev/null and b/docs/img/wallet/WalletSettingTwo.png differ diff --git a/docs/img/wallet/WalletTransactions.jpg b/docs/img/wallet/WalletTransactions.jpg deleted file mode 100644 index e67bcc3af6..0000000000 Binary files a/docs/img/wallet/WalletTransactions.jpg and /dev/null differ diff --git a/docs/img/wallet/WalletTransactions.png b/docs/img/wallet/WalletTransactions.png new file mode 100644 index 0000000000..541c5ebcfc Binary files /dev/null and b/docs/img/wallet/WalletTransactions.png differ