Using This Site
XCH Balance is a website for displaying balances, running reports, and exporting CSVs from a single address, multiple addresses, an entire wallet, or multiple wallets on the Chia Blockchain. For entire wallets, observer public keys are used to derive multiple addresses at once to view the balance of the whole wallet. This excludes any coins that may be held on the older non-observer derived keys. For more information on this, see BLS Keys.
To use this site to track entire wallets, you will need to provide either your Master Public Key or Wallet Observer Key. For security reasons, it is recommended to derive a Wallet Observer Key for this purpose (to learn more, see BLS Keys). Deriving a Public Key is simple from the command line using the chia keys derive
command. You may omit -f <fingerprint>
and will be prompted to choose a fingerprint from a list upon execution of the command.
On Linux, you would use the Chia CLI command as you normally would:
chia keys derive -f <fingerprint> child-key -p m/12381/8444 -i 2
On Windows, you need to navigate to your daemon directory. Before 1.6.1 this directory was at C:\Users\<username>\AppData\Local\chia-blockchain\app-<version>\resources\app.asar.unpacked\daemon
. After 1.6.1 the location of the chia-blockchain
folder was changed to C:\Users\<username>\AppData\Local\Programs\
if you installed for only your user. If you chose to install Chia for all users, the chia-blockchain
folder would be in C:\Program Files
. Once in the daemon directory, open a power shell instance and run:
./chia.exe keys derive -f <fingerprint> child-key -p m/12381/8444 -i 2
This command should return your Wallet Public Key:
Observer public key 2: <long hex string>
To make things simpler, a python script will be made available to generate the public key, as well as check for balances on non-observer derived addresses, allowing you to manually add any non-observer addresses to your balance monitor.
Missing/Incomplete Balances
If you compare the balance shown on xchbalance.com to your known wallet balance, and it appears to be off, there are two possible causes:
- Insufficient derivation records. Check your current derivation index with
chia wallet get_derivation_index
. If the index is over 500, then this could be one of the reasons your balance is not complete. - Non-observer derived addresses holding balance. If you’ve been using this wallet since before September, 2021 then you have some non-observer derived addresses that have at least had coins in them at some point. Depending on the number of transactions you’ve made, this could be a couple of addresses, or a hundred addresses. You can use these tools to get a list of non-observer addresses that have been used, and a list of ones that currently hold a balance. Then either add these to your account’s addresses, or contact me to inject them into your pubkey’s address list.
If at any time you feel that your balance is not correct, you can contact me to trigger a resync of your account’s coin records, or for assistance with troubleshooting.
Upgrading your account
At the top of the account page, you will see an upgrade button. Clicking this will reveal the upgrade options: Add additional public keys, increase the derivations for ALL public keys, or add addresses. The prices shown are the base prices and you may multiply the amount by the number of each that you want to add to your account. For example, if you want to add 5 additional public keys, you would multiply the price by 5. If you want to add 10 addresses, you would multiply the price by 10. Increment the number to buy by using the input field. The total price will be shown when clicking on “Buy with Goby” or “Buy with CLI”.
Clicking “Buy with Goby” will bring up the Goby wallet payment window if you have the Goby extension installed. Clicking “Buy with CLI” will update the code block below the upgrade options with the full CLI command. If you would prefer to use the GUI wallet client, you can simply copy the amount, target address, and memo from the CLI command and input them into your wallet’s send transaction window. If an insufficient amount is sent, the amount will be returned to the sending address. If an amount greater than the total price, but less than the next increment price, the remainder is not returned and will be treated as a tip. Please only send amounts in the correct increments.
Once the payment is sent, it may take up to 5 minutes for the payment to be confirmed and the account to be upgraded. If you have any issues, please reach out on keybase. Why keybase? Because even though the balances, addresses, and public keys are technically public information, tying them all together could be considered sensitive information. For this reason, if you want to discuss sensitive information involving your account, it is best to be 100% sure you are talking to me, and not someone pretending to be me. Simply verify the proof of my identity on keybase and you will know for sure that you are talking to me. Find the keybase invite link in your account page.
Running Reports
To run a report, click on the “Add Report” button at the bottom of the account page, then choose the type of report to run from the dropdown menu. Current reports:
- Wallet Balance by Address: Create a CSV file with the current balance of each address by wallet.
- Wallet USD Value by Height: Creates a CSV file of income and expenses in xch and USD ordered by height.
- Wallet USD Value by Height(dust filtered): Same as above, but filters out incoming dust transactions less than 10,000 mojos, but adds them up as a total at the end.
These reports will take all of your listed wallets and addresses into consideration, so inter-wallet transactions will not be reported. If you sent 1xch from wallet 1 to wallet 2 that you are tracking, the report won’t show any income or expense for either wallet. Depending on the number of addresses and coin records in your wallet, the report may take a few minutes to run. Once the report is complete, it will be available for download from the account page.