Tracking accounts & balances
To manage Accounts & Balances (Blockchain Balances, Exchange Balances, and Manual Balances including fiat) you need to visit the Accounts & Balances
section from the left sidebar.
Adding and Removing Blockchain Accounts
rotki allows to track balances of blockchain accounts.
For now, the following chains are supported in rotki (and the list will be growing as we add more chains in the future):
EVM Chains:
- Ethereum
- Optimism
- Polygon PoS
- Arbitrum One
- Base
- Gnosis
- Scroll
- Avalanche
- zkSync Lite
Bitcoin Chains:
- Bitcoin
- Bitcoin Cash
Substrate Chains:
- Polkadot
- Kusama
To add or modify an account navigate to the Blockchain Balances
sub-page and click the "Add Account" button on the top right. Now choose the blockchain on which you want to add an account. Then type or paste the address in the "Account" textbox and press the "Save" Button. Note that you can add multiple accounts if you click the "Add multiple addresses" checkbox and provide a comma separated list of addresses.
You can edit or delete an account using the buttons at the end of the row. For editing, you can modify the label or the tags.
EVM Chains
If the selected chain is an EVM chain you will see Add to all supported EVM chains
checkbox. It is checked by default and it means that rotki will try to add the address for all EVM chains. If the address is a contract in Ethereum mainnet it will only be added to Ethereum. Otherwise for each chain rotki will check whether the address had any activity there and will add only if it has at least one transaction. If you uncheck the checkbox, then the address will only be added to the selected chain.
If an EVM account also contains tracked tokens you can click on the arrow under Actions in order to expand its view and show the balance breakdown for the account over all assets it holds.
Aggregated view filtering
In the EVM Chains section, the chain selection allows you to filter accounts based on specific blockchain networks. This functionality works as a filter, meaning you can click on any chain, like Ethereum, Gnosis, or Polygon, and view only the accounts that are associated with those chains. You can even filter by multiple chains simultaneously.
Additionally, there is an option to toggle between viewing the aggregated assets across all chains or displaying the assets per individual chain. This provides flexibility, allowing you to either get a total balance view from all chains at once or focus on specific chain assets.
Bitcoin chains
For Bitcoin/Bitcoin Cash you can add addresses manually or let rotki discover them using an xpub. Using an xpub rotki can locally generate your addresses and query the Bitcoin/Bitcoin Cash blockchain for each one of them until it finds unused addresses.
There are also different types of xpubs, depending on the capabilities of the wallet used to generate them.
- P2PKH: This is called legacy. Addresses generated by such an xpub have "1" as a prefix.
- P2SH-P2WPKH: This is called segwit. Addresses generated by such an xpub have "3" as a prefix.
- WPKH: This is called native segwit. Addresses generated by such an xpub have "bc1" as a prefix.
- P2TR: This is called taproot. Addresses generated by such an xpub have "bc1p" as a prefix.
You will need to know what type of xpub your bitcoin wallet generates in order to choose the correct type at the dropdown menu. If your wallet generates an xpub prefixed with ypub
or an xpub prefix with zpub
rotki can deduce the type for you automatically. If you are using a ledger hardware wallet you can obtain an xpub by following this guide.
An xpub does not allow spending your coins but provides information about your wallet. In rotki this information is stored safely encrypted in your local database.
Note: Bitcoin Cash(BCH) only supports P2PKH & P2SH_P2WPKH xpubs.
ENS names resolution
rotki automatically resolves ens name and ens avatar for every evm address that has ens name set in ethereum mainnet. If there is a primary ens name specified for an address, this name will be shown instead of a raw blockchain address across the app. You can find the blockchain address by hovering the mouse over the ens name. If an ens avatar is set, it will be shown instead of the address blockie.
Token detection
For EVM accounts, it is possible to trigger the process of detecting tokens before refreshing the balances. There are several ways to do that:
- To re-detect tokens for all EVM accounts in all chains, go to the dashboard and toggle the arrow here. You can change the default behavior of the refresh button to
Re-detect tokens and refresh balances
and then click the refresh button.
To re-detect tokens for all addresses of one EVM chain, click
Re-detect tokens
in the EVM accounts section.To re-detect tokens for only one account, click the refresh button in the corresponding row.
Checking Exchange Balances
You can check all of the asset balances that you have in each connected exchange in the "Exchange Balances" sub-page. Clicking the "Add exchange" button takes you to the API Keys page where you can manage your exchange connections (see Adding an exchange).
Adding Manual Balances
With rotki you can also add balances/accounts for any type of asset and location that may not be supported at the moment. For example real estate, equity holdings or holdings in a not yet supported blockchain or exchange.
To add or modify a manually tracked balance navigate to the Manual Balances
sub-page and click the "Add Manual Balance" button on the top right. There choose the asset from the dropdown menu, input a unique label for the account, decorate it with any number of tags and choose an amount and location.
You can also filter the manual balances by location
, name
or asset
.
Adding/Editing Labels and tags
You can edit any of your blockchain accounts and add a label. The label is unique to the account and will show up in the accounts tables instead of the address. You will still be able to see the address if you hover over the label in the tables.
By pressing the edit button for the account you can also add tags to the blockchain account. If you want to create a new tag or edit an existing one you can open the tag manager and choose the name, description and colors of the tag.
Filtering by tags
You can filter the tables by a combination of tags.
Simply add the tags you wish to filter by in the filter textbox above the tables.
Loopring balances
From the balances section you can quickly get an overview of the accounts having balances in Loopring and what assets these accounts hold.
NFTs
rotki provides an NFT gallery where you can view the NFTs owned by your accounts.
You have an overview of the total value of your NFTs in the application dashboard, on the NFTs table.
An estimation of the value of the NFTs you own is counted into your total net worth. The estimation strategy is currently the maximum of either the floor price of the collection or the last sale of the NFT. If a manual price has been given this is always preferred.
If a price cannot be found for an NFT asset or if you want to change the calculated price estimate you can easily set the price for an NFT asset manually. You can do this by either clicking on the >
button in the NFTs table in the dashboard or by going to Blockchains & Accounts → Non Fungible balances
. And then click on the pen icon for the NFT you are interested in.
For privacy concerns, it is possible to allow all or only a certain list of domains for images rendered, this can be done here by clicking on the icon highlighted below.
More details here Critical Privacy Vulnerability: Getting Exposed by MetaMask
The configuration menu:
Highlight details:
- Link to blog post about image rendering and privacy.
- Option to allow all NFT images to be rendered.
- Option to allow only whitelisted domains.
- If only whitelist, input list of allowed domains.
- Save button.
This will enable image rendering of only whitelisted NFT domains.
ETH2 Staking
There are two ways to track ETH2 Staking. The first is by adding tracking the account of an ETH account that deposited the ETH for the validator. This will auto-detect any associated validators with the ETH1 address and it will start tracking them. The second way is by adding a validator using the Add account button
in the Blockchain Balances → Accounts & Balances
page. It can be added using its public key, its index or both of them for a faster query. Finally it is also possible to customize the proportion of the validator owned for users who share one validator with more people.
After adding a new validator you will see the list of balances for each of these validators.
If you are an ETH2 staker you can see the total value earned both in the current ETH price (2) but also counting the price of the daily payouts of ETH2 staking (3).
You can see the summary of how much ETH was earned each day, on the daily stats section.
Finally this can also be taken into account in the profit/loss report for any given period of time and also exported via CSV to a spreadsheet.
Liquity Staking
If you stake LQTY in the protocol you can see stability pool deposits, staked amount, and the stake events.
On the left side, we display information for your current deposited amount of LUSD
in the stability pool along with the ETH
and LQTY
rewards that you haven't claimed yet. On the right side, we display the staked LQTY
and the ETH
and LUSD
that are available to claim.
The Liquity statistics are calculated using the queried events and you might need to wait for some time until all the events are queried to get the final values. The values in terms of USD can be displayed using prices at the moment of the different events (historical
) or using prices at the present (current
).
- Total Gains Stability Pool: This is the value of Ether and
LQTY
claimed from the stability pool. - Total Deposited Stability Pool: This is the value of
LUSD
deposited in the stability pool. - Total Withdrawn Stability Pool: This is the value of
LUSD
withdrawn from the stability pool. - Stability Pool Gains: A breakdown of the gains already claimed from the pool.
- Estimated PnL: This value represents your returns from the stability pool after losing LUSD in exchange for
ETH
andLQTY
. For more information on how the stability pool works check the Liquity docs. This amount is calculated in rotki as follows:
A = Total Deposited Stability Pool - Total Withdrawn Stability Pool
LG = Claimed Liquity gains in current price.
R = Not claimed rewards in current price.
B = Total Gains Stability Pool + LG + R
C = (A - Current deposited amount) in current price
PnL = B - C
For LQTY
staking we display the claimed rewards.
Kraken Staking
If you stake on Kraken you can see your gains, and events in the various staked assets.
Airdrops
rotki can detect some airdrops for you
The list of currently supported airdrops is:
- Uniswap
- 1INCH
- Tornado
- Cornichon
- Grain
- Furocombo
- Lido
- Curve
- Convex
- Shapeshift
- ENS
- ParaSwap
- Saddle finance
- Cow
- Diva
- Shutter
- Starknet
- Optimism 4
- Degen 2
- Omni
- Eigen token
Snapshots
The application will automatically snapshot the information about balances from all tracked sources to disk upon login every 24 hours by default (this interval is configurable). This information is saved directly to your local database. You can manually initiate a snapshot by clicking the arrow down
near the graph and then selecting Force Save.
Snapshots won't be saved if there is any error querying information for external sources. If you want to force the snapshot to be saved when an external source is reporting an error you can select the option Ignore Errors
.
It is possible to remove balance snapshots from the history or edit them in case the information is not correct or needs to be modified. To do so click on a snapshot's point at the dashboard's net value graph and this will open a menu.
Clicking on delete will remove the saved information for that snapshot. The same menu allows exporting the information of the balance snapshot to an external file. Four files are then generated, two meant to be used if you want to import information about snapshots later and the other 2 have the same information in a human readable format to be used in accounting. balances_snapshot
contains information about the balances at the snapshot time for all the different assets rotki knew you had and location_data_snapshot
has the value per location for the same assets.
If you choose to edit the snapshot you can modify the values per asset and location as shown in the screenshot
Finally information about snapshots can be imported back into the app using the files you exported with the suffix _import
. To import them use the import functionality by clicking on the Arrow down button
near the chart and then click Import
.