diff --git a/.vitepress/config.mts b/.vitepress/config.mts index eabdb4c..33d2b76 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -67,6 +67,7 @@ export default defineConfig({ { text: 'API Keys', link: '/usage-guides/api-keys' }, { text: 'Import CSV', link: '/usage-guides/import-csv' }, { text: 'Calendar', link: '/usage-guides/calendar' }, + { text: 'On-Chain Transactions', link: '/usage-guides/onchain' }, { text: 'Taking Notes In-App', link: '/usage-guides/user-notes' }, { text: 'Global Search', link: '/usage-guides/global-search' }, { text: 'Settings', link: '/usage-guides/customization' }, diff --git a/public/images/add_tx_by_hash.png b/public/images/add_tx_by_hash.png index cb03ee1..6ba8af6 100644 Binary files a/public/images/add_tx_by_hash.png and b/public/images/add_tx_by_hash.png differ diff --git a/public/images/delete_transaction_events.png b/public/images/delete_transaction_events.png index b42effd..04c4a8d 100644 Binary files a/public/images/delete_transaction_events.png and b/public/images/delete_transaction_events.png differ diff --git a/public/images/events_asset_movement_form.png b/public/images/events_asset_movement_form.png index 947c7ec..cad76c2 100644 Binary files a/public/images/events_asset_movement_form.png and b/public/images/events_asset_movement_form.png differ diff --git a/public/images/events_csv_export.png b/public/images/events_csv_export.png index 02510c5..1621342 100644 Binary files a/public/images/events_csv_export.png and b/public/images/events_csv_export.png differ diff --git a/public/images/events_query_process.png b/public/images/events_query_process.png index da5b403..f9e8738 100644 Binary files a/public/images/events_query_process.png and b/public/images/events_query_process.png differ diff --git a/public/images/events_swap_event_form.png b/public/images/events_swap_event_form.png new file mode 100644 index 0000000..f231d0e Binary files /dev/null and b/public/images/events_swap_event_form.png differ diff --git a/public/images/onchain_browser_wallet_bridge_1.png b/public/images/onchain_browser_wallet_bridge_1.png new file mode 100644 index 0000000..508aed6 Binary files /dev/null and b/public/images/onchain_browser_wallet_bridge_1.png differ diff --git a/public/images/onchain_browser_wallet_bridge_2.png b/public/images/onchain_browser_wallet_bridge_2.png new file mode 100644 index 0000000..e03e46f Binary files /dev/null and b/public/images/onchain_browser_wallet_bridge_2.png differ diff --git a/public/images/onchain_browser_wallet_bridge_3.png b/public/images/onchain_browser_wallet_bridge_3.png new file mode 100644 index 0000000..ac6f198 Binary files /dev/null and b/public/images/onchain_browser_wallet_bridge_3.png differ diff --git a/public/images/onchain_browser_wallet_bridge_4.png b/public/images/onchain_browser_wallet_bridge_4.png new file mode 100644 index 0000000..768c6c6 Binary files /dev/null and b/public/images/onchain_browser_wallet_bridge_4.png differ diff --git a/public/images/onchain_browser_wallet_bridge_5.png b/public/images/onchain_browser_wallet_bridge_5.png new file mode 100644 index 0000000..59b195b Binary files /dev/null and b/public/images/onchain_browser_wallet_bridge_5.png differ diff --git a/public/images/onchain_browser_wallet_bridge_6.png b/public/images/onchain_browser_wallet_bridge_6.png new file mode 100644 index 0000000..c60c328 Binary files /dev/null and b/public/images/onchain_browser_wallet_bridge_6.png differ diff --git a/public/images/onchain_send.png b/public/images/onchain_send.png new file mode 100644 index 0000000..68cbd17 Binary files /dev/null and b/public/images/onchain_send.png differ diff --git a/public/images/redecode_all_events.png b/public/images/redecode_all_events.png index 220a712..4d18137 100644 Binary files a/public/images/redecode_all_events.png and b/public/images/redecode_all_events.png differ diff --git a/public/images/redecode_events.png b/public/images/redecode_events.png index 7e88ae9..b62875f 100644 Binary files a/public/images/redecode_events.png and b/public/images/redecode_events.png differ diff --git a/public/images/redecode_events_status_button.png b/public/images/redecode_events_status_button.png index 1d93d9d..d75b704 100644 Binary files a/public/images/redecode_events_status_button.png and b/public/images/redecode_events_status_button.png differ diff --git a/public/images/rotki_manage_cex_mapping.png b/public/images/rotki_manage_cex_mapping.png index 45e24c6..5c7030a 100644 Binary files a/public/images/rotki_manage_cex_mapping.png and b/public/images/rotki_manage_cex_mapping.png differ diff --git a/public/images/rotki_manage_counterparty_mapping.png b/public/images/rotki_manage_counterparty_mapping.png new file mode 100644 index 0000000..fbbe6e9 Binary files /dev/null and b/public/images/rotki_manage_counterparty_mapping.png differ diff --git a/public/images/rotki_manage_newly_detected_tokens.png b/public/images/rotki_manage_newly_detected_tokens.png index 8036451..c11f94a 100644 Binary files a/public/images/rotki_manage_newly_detected_tokens.png and b/public/images/rotki_manage_newly_detected_tokens.png differ diff --git a/usage-guides/assets.md b/usage-guides/assets.md index 910e357..afc7268 100644 --- a/usage-guides/assets.md +++ b/usage-guides/assets.md @@ -3,30 +3,10 @@ ## Inspecting list of assets You can now manage the list of supported assets by your local rotki instance. -You can inspect the list of all supported assets, edit them, delete them or add new ones. They're divided into 3 sections; `Assets`, `Custom Assets`, and more sections (consist of `Manage CEX (Centralized Exchange) Mapping` and `Newly Detected Tokens` section). +You can inspect the list of all supported assets, edit them, delete them or add new ones. They're divided into 3 sections; `Assets`, `Custom Assets`, and more sections (consist of `Manage CEX (Centralized Exchange) Mappings`, `Manage Counterparty Mappings`, `Newly Detected Tokens` and `Missing CEX Mappings` section). ![Manage the list of assets](/images/rotki_manage_assets.png) -## Whitelisting of ignored assets - -Spam assets are a plague in EVM chains. rotki has an automatic algorithm trying to match assets as spam to not bother the user with automatically ignoring them. You can see all ignored assets in `Manage Assets → Assets` and filter by ignored. A problem with automatic algorithms marking something as spam is that mistakes can be made and a legit token may be ignored. - -![Filter ignored assets](/images/asset_filter_ignored.png) - -To solve this problem we added a whitelist which you can add assets to as can be seen below. Once an asset is added to the whitelist it will be removed from the ignore list and the automatic algorithm will not mark it as spam in the future. - -![Whitelist asset](/images/asset_whitelist_menu.png) - -## Whitelisting and Re-detecting Missing Tokens - -If a token doesn't appear in your balances, there are several ways to troubleshoot this. First you should check if it's been automatically or manually ignored. And then run a manual token detection. - -### Check Token is not Ignored or Marked as Spam - -Go to the `Manage Assets -> Assets page`. Use the search to find the token by name or address. Verify if the token is ignored. If ignored, unignore it. If you did not ignore it on purpose click to whitelist it so the spam detection algorithm does not falsely flag it as spam. - -![Example of managing assets and whitelisting a token in the Manage Assets page.](/images/manage-assets.png) - ### Token Detection Methods You can check token detection guide [here](/usage-guides/accounts-and-balances#token-detection) @@ -91,6 +71,12 @@ Users can link assets on exchanges to those recognized by rotki. If you encounte ![Manage centralized exchange asset mapping](/images/rotki_manage_cex_mapping.png) +## Manage Counterparty Mappings + +Users can also link assets on any counterparty to those recognized by rotki. + +![Manage counterparty asset mappings](/images/rotki_manage_counterparty_mapping.png) + ## Newly detected tokens All newly detected EVM tokens will appear in the list of newly detected tokens. You should inspect this list often and accept valid tokens and reject spam assets by adding them to the ignored tokens list. @@ -137,3 +123,23 @@ You can also ignore assets by clicking asset icons anywhere on the app, that wil It is also possible to ignore NFTs. To do this navigate to `Balances → NFT Balances` and toggle the ignore NFT switch. Then you can use the filter to view the ignored NFTs. ![Ignoring NFTs](/images/rotki_ignore_nfts.png) + +## Whitelisting of ignored assets + +Spam assets are a plague in EVM chains. rotki has an automatic algorithm trying to match assets as spam to not bother the user with automatically ignoring them. You can see all ignored assets in `Manage Assets → Assets` and filter by ignored. A problem with automatic algorithms marking something as spam is that mistakes can be made and a legit token may be ignored. + +![Filter ignored assets](/images/asset_filter_ignored.png) + +To solve this problem we added a whitelist which you can add assets to as can be seen below. Once an asset is added to the whitelist it will be removed from the ignore list and the automatic algorithm will not mark it as spam in the future. + +![Whitelist asset](/images/asset_whitelist_menu.png) + +## Whitelisting and Re-detecting Missing Tokens + +If a token doesn't appear in your balances, there are several ways to troubleshoot this. First you should check if it's been automatically or manually ignored. And then run a manual token detection. + +### Check Token is not Ignored or Marked as Spam + +Go to the `Manage Assets -> Assets page`. Use the search to find the token by name or address. Verify if the token is ignored. If ignored, unignore it. If you did not ignore it on purpose click to whitelist it so the spam detection algorithm does not falsely flag it as spam. + +![Example of managing assets and whitelisting a token in the Manage Assets page.](/images/manage-assets.png) diff --git a/usage-guides/historical-events.md b/usage-guides/historical-events.md index 5156760..065fc9f 100644 --- a/usage-guides/historical-events.md +++ b/usage-guides/historical-events.md @@ -1,61 +1,8 @@ -# Historical events - -## Exchange Trades - -### Adding manual trades - -rotki will pull all your trade history from the exchanges whenever it needs it. But most of us have probably also done some OTC trades or taxable events at some point. Such events could even just be mining tokens, depending on your jurisdiction, participating in an ICO or getting paid in crypto. - -You can go to this page via `History → Exch. Trades`. -Clicking on the "Add an external trade" button will open a menu like the following. - -![Add an external trade](/images/external_trade.png) - -To add a new trade, fill in all the fields and press the "Save" button. - -In the `amount` field you can register the amount of the base asset bought or sold. The `rate` field represents the rate of quote asset per base asset that was bought or sold. If there was a fee for the trade you should input it in the corresponding box and also enter the currency the fee was paid in. This field is optional so if the Fee was 0 you can leave this field empty. You can optionally provide additional notes or even links to blockchain explorers for each trade. - -In the Trades page you can see a table of all your external trades. You can edit or delete a trade by clicking on the appropriate icon at the rightmost part of each trade under the "Actions" column. - -Currently rotki tracks your balance by querying the different supported protocols, exchanges and blockchains. If you manually add information about a trade your balances will not be updated since trades are not consulted when updating the accounts' balances. If you want to manually update your balance for an asset please refer to the [manual balances section](/usage-guides/accounts-and-balances.html#manual-balances). - -### Filtering trades - -rotki supports filtering your trades with a combination of filters. All of the filters are applied at the same time -limiting the trades to the ones that satisfy all the applied filters. - -![Filtering trades](/images/sc_history_trades_filter.png) - -You can filter using the following keys: - -- **base:** the base asset of the trades. -- **quote:** the quote asset of the trades. -- **action:** it can be buy or sell. -- **start:** will only filter any trades from that date onwards. -- **end:** will only filter any trades that happened before the selected date. -- **location:** the location of the trade, e.g. kraken, uniswap etc. - -![Trade filter suggestions](/images/sc_history_trades_filter_suggestions.png) - -When selecting a filter, by clicking or typing the filter you will get some suggestions based on the available data. - -When a suggestion appears you can navigate to the next available suggestion using the tab button or you can also change -the select suggestion using the up/down arrows in your keyboard. You can submit the selected filter by pressing enter. - -![Multiple trade filters applied](/images/sc_history_trades_filter_multi.png) - -After adding your filters you can press enter to close the menu. - -By default, all trades will be processed in accounting, but you can ignore unwanted trades, so they won't be processed. -You can select the checkbox on the left part of each entry and click `Ignore`/`Unignore`. - -![Ignore trades](/images/sc_history_trades_ignore.png) - -## History Events +# History events rotki is capable of pulling and decoding a bunch of different events, ranging from EVM chain transactions to exchanges events and more. When you visit the `History Events` section the process to obtain all the information will start. You will be able to check the status in an informative breakdown per blockchain address. Free users are limited to a number of latest events. ---- +## Supported events Currently, these events are detected automatically by rotki: @@ -65,10 +12,11 @@ Currently, these events are detected automatically by rotki: - ETH block events - ETH deposit events - Asset movement events (deposits and withdrawals). +- Swap events (trades). Additionally, you can add your custom events. ---- +## Events filtering History events can be filtered if you have a premium subscription activated. You can filter by: @@ -86,19 +34,19 @@ History events can be filtered if you have a premium subscription activated. You - Only show customized events - ... more -![History events query status breakdown](/images/events_query_process.png) +![History events query status](/images/events_query_process.png) -### Ignore events in accounting - -By default, all events will be processed in accounting, but you can ignore unwanted events, so they won't be processed. You can click on the three dots to display the options for the group of events, and click `Ignore events in accounting`/`Unignore events in accounting`. - -### Export History Events as CSV +## Export history events as CSV Events can be exported as CSV, click on `Export CSV` button and accept prompt to download exported events. ![Button to download events as csv](/images/events_csv_export.png) -### Redecoding EVM transactions +## Ignore events in accounting + +By default, all events will be processed in accounting, but you can ignore unwanted events, so they won't be processed. You can click on the three dots to display the options for the group of events, and click `Ignore events in accounting`/`Unignore events in accounting`. + +## Redecoding EVM transactions It is possible that you need to redecode events for an EVM transaction. To do that you have two options. The first of them is to click on the three dots to display the options for an EVM transaction and click on `Redecode events`. This will start the process to read the transaction's events again and try to understand what happened in them. If there are any custom events in the transaction, there will be one more confirmation, asking whether to also reset these custom events or not. @@ -118,18 +66,28 @@ You will see the status of the EVM events redecoding. EVM Transactions and the events can be deleted, but to restore them you will have to either purge all transactions or add by the transaction hash. -### Add transaction by hash +## Delete event + +![Menu to delete EVM transactions events](/images/delete_transaction_events.png) + +## Add transaction by hash ![Add transaction by hash](/images/add_tx_by_hash.png) If you want to add a transaction that was either deleted or for some reason missed, or was not found by rotki, you can add it by transaction hash by clicking the menu as seen in the picture. -![Menu to delete EVM transactions events](/images/delete_transaction_events.png) +## Re-Pulling Transactions + +You can re-pull EVM transactions for a specific account within a selected time range, in case any past issues prevented events from being retrieved properly. + +## Missing accounting rule If you see this warning button, it means the event won't be processed correctly in accounting. It could be due to improper decoding or a missing accounting rule for that event. You can fix it by editing the event or adding the missing accounting rule. You can also edit the events if they have special meaning to you, such as OTC trades or transfers between accounts. ![The button indicates that the event won't be processed correctly.](/images/event_not_processed.png) +## Add / edit events + There are 6 types of events in rotki: :::tabs @@ -180,6 +138,8 @@ Here the non obvious fields are: == Asset Movement Event ![Asset movement event form](/images/events_asset_movement_form.png) +== Swap Event +![Swap event form](/images/events_swap_event_form.png) ::: For history event, and EVM history event, if any event was not decoded the way you expected it to be, you can always customize events using the settings described above or file a bug report on our github repository / in our discord server. The customizations that you make also affect how events are processed in accounting. diff --git a/usage-guides/onchain.md b/usage-guides/onchain.md new file mode 100644 index 0000000..8954cd7 --- /dev/null +++ b/usage-guides/onchain.md @@ -0,0 +1,35 @@ +# Onchain Transactions + +rotki allows you to perform onchain transactions by connecting your wallet (either through a browser wallet or WalletConnect). +At the moment rotki only supports sending native tokens and ERC-20 tokens on all supported EVM chains. + +![Onchain send tokens](/images/onchain_send.png) + +::: info +You can only send tokens from an address that is registered as an EVM account in rotki. Otherwise, rotki won't be able to retrieve the list of tokens. +::: + +## Connect to a Browser Wallet from the Electron App + +If you're using rotki via the Electron app, you won't be able to connect directly to your browser wallet. Instead, rotki provides a bridge for this purpose. Follow these steps: + +1. Click the "Open Browser Wallet Bridge" button. This will open a page in your browser. + ![Open browser wallet bridge](/images/onchain_browser_wallet_bridge_1.png) + +2. On the bridge page, the first step is to connect it to your browser wallet. + ![Connect wallet in browser wallet bridge](/images/onchain_browser_wallet_bridge_2.png) + +3. Once connected, the page should display your wallet status. + ![Wallet connect bridge connected](/images/onchain_browser_wallet_bridge_3.png) + +4. Now you’ll need the `WalletConnect Pair URI`. Go back to the Electron app, click `Connect Wallet`, and choose `WalletConnect`. + ![Wallet Connect](/images/onchain_browser_wallet_bridge_4.png) + +5. Wait for the QR code to appear, then click `Copy Link`. The Pair URI will be copied to your clipboard. It will look something like this: + `wc:0579c1fee69aad512b6ef19a977a08f6c60b19415661cfa2882039da038a24fb@2?relay-protocol=irn&symKey=55d16a7cfc2198dfc1058254a7862c98aad401814bb86219041687d5b6de4020&expiryTimestamp=1744297123` + ![Copy Wallet Connect pairing URI](/images/onchain_browser_wallet_bridge_5.png) + +6. Return to the bridge page in your browser, paste the Pair URI, and click `Start Pairing`. + ![Wallet Connect bridge start pairing](/images/onchain_browser_wallet_bridge_6.png) + +You're now connected and can perform transactions from the Electron app.