Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,9 @@ To view transactions with ignored assets, enable `Show entries with ignored asse

For more information on un-ignoring and optionally whitelisting assets, see [My asset is not showing in rotki](/faq.html#my-asset-is-not-showing-in-rotki) above.

### Transactions for an EVM chain are missing
### Events are missing

If you notice that some transactions are missing for an EVM chain, you can re-pull transactions for a specific time range. See [Re-Pulling transactions missed in the past](/usage-guides/historical-events.md#re-pulling-transactions-missed-in-the-past) for detailed instructions.
If you notice that some events are missing for a chain or from exchanges, you can re-pull events for a specific time range. See [Re-pulling events missed in the past](/usage-guides/historical-events.md#re-pulling-events-missed-in-the-past) for detailed instructions.

### My balances are not showing after importing my history/creating history events

Expand Down
Binary file added public/images/edit_accounting_rule.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/gnosis_pay_siwe.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed public/images/gnosispay_add_key.png
Binary file not shown.
Binary file added public/images/monerium_get_access_token.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/monerium_oauth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/images/repull_transactions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/images/repull_transactions2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/sc_accounting_add_rule.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/images/sc_accounting_custom_rule.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/sc_accounting_rules_special.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/select_multiple_events.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/selection_mode.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions usage-guides/accounts-and-balances.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ For now, the following chains are supported in rotki (and the list will be growi
| | | |
| **Substrate Chains** | Polkadot | dot |
| | Kusama | ksm |
| | | |
| **Solana Chains** | Solana | solana |

### Steps to Add an Account:

Expand Down
2 changes: 1 addition & 1 deletion usage-guides/address-book.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ rotki provides an address book for blockchains. This replaces addresses with nam

## Import multiple address books (CSV)

You can add multiple address book entries at once with CSV import. You can find the menu in the three-dots menu here.
You can add multiple address book entries at once with CSV import. You can find the menu in the three dots `⋮` menu here.

![Import Address Book Entries](/images/import_addressbook_entries.png)

Expand Down
57 changes: 38 additions & 19 deletions usage-guides/api-keys.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,42 +149,61 @@ After following these steps, your balances in the dashboard will be updated incl

### Monerium

You can integrate Monerium with rotki to import your transaction data. This feature is only available for premium users.

As long as you provide Monerium credentials, all Monerium transactions on Mainnet, Polygon, and Gnosis chain will be decorated with bank data (or chain bridging data), which you can also see in the Monerium app.

1. For bank transfers from/to your address, you will be able to see the destination/source IBAN along with the memo of the transfer.
2. For automatic EURe bridging between EVM chains, you will see amounts, from/to EVM chains along with from/to address.

![Monerium decorated transactions](/images/monerium_transactions.png)

> **Note**: Monerium API can only use basic authentication at the moment. We are in contact with their team and they will add API keys eventually. But for now, they only have basic authentication, which means your username and password are stored in rotki (encrypted). Take necessary security precautions and don't use unless you understand the potential risks.
#### Adding Monerium OAuth Token

![Monerium get access token](/images/monerium_get_access_token.png)
![Monerium OAuth](/images/monerium_oauth.png)

To connect your Monerium account:

1. **Get Access Token:**
- In rotki, navigate to `API Keys → External Services → Monerium`.
- Click the **Get access token** button.

2. **Complete OAuth Flow:**
- You will be redirected to rotki.com to connect via Monerium OAuth.
- Follow the authentication flow on the Monerium OAuth page.

3. **Return to rotki:**
- **Standard mode**: You will be automatically redirected back to the app after completing the OAuth flow.
- **Docker mode**: You will need to manually copy the access token and refresh token from the OAuth page and input them into rotki.

4. **Redecode Transactions:**
- After successfully adding your Monerium credentials, you need to redecode the Monerium transactions in the history events section to see the updated bank data. See [Redecoding blockchain transactions](/usage-guides/historical-events#redecoding-blockchain-transactions) for more information on how to redecode transactions.

> **Note**: The Monerium credentials only provide read-only access to your Monerium data. When you authenticate, Monerium's OAuth consent screen may show that rotki is requesting broad permissions. This is because Monerium's API doesn't currently support granular permission scopes, so all OAuth tokens appear to request full access. However, rotki only performs read-only operations and cannot modify your account, initiate transfers, or make changes to your Monerium data. The OAuth authentication flow described above is mandated by Monerium's API requirements, not a design choice by rotki. rotki simply integrates with their authentication system as required.

### Gnosis Pay

You can integrate Gnosis Pay with rotki to import your transaction data. This feature is only available for premium users.
![Gnosis Pay SIWE](/images/gnosis_pay_siwe.png)

#### Adding Gnosis Pay Session Token
You can integrate Gnosis Pay with rotki to import your transaction data. This feature is only available for premium users.

To add your Gnosis Pay session token:
#### Adding Gnosis Pay Access Token

1. **Login to Gnosis Pay:**
- Go to [Gnosis Pay](https://old.gnosispay.com/dashboard) and log in to your account.
To connect your Gnosis Pay account:

2. **Retrieve the Session Token:**
- Open your browser's developer tools (right-click on the page and select `Inspect` or press `F12` / `Ctrl+Shift+I`/`Cmd+Option+I`).
- Go to the **Application** tab in the developer tools.
- In the **Storage** section on the left sidebar, click on **Cookies** and select `https://old.gnosispay.com` (marked as **1** in the image).
- Look for the cookie named `__Secure-authjs.session-token` in the list (marked as **2** in the image).
- Copy the value of the cookie from the **Cookie Value** section at the bottom (marked as **3** in the image).
1. **Connect Wallet:**
- In rotki, navigate to `API Keys → External Services → Gnosis Pay`.
- Click the **Sign in with Ethereum** button.
- Connect the wallet that controls the Safe wallet of your Gnosis Pay account.

![Retrieve Gnosis Pay Session Token](/images/gnosispay_add_key.png)
2. **Sign Message:**
- Sign the message to authenticate and get the access token.

3. **Add Session Token to rotki:**
- In rotki, navigate to `API Keys → External Services`.
- Scroll to the **Gnosis Pay** section.
- Paste the session token into the **Session Token** field.
- Click **Save**.
3. **Redecode Transactions:**
- After successfully connecting your Gnosis Pay account, you need to redecode the Gnosis Pay transactions in the history events section to enrich the transaction details. See [Redecoding blockchain transactions](/usage-guides/historical-events#redecoding-blockchain-transactions) for more information on how to redecode transactions.

> **Note**: The session token only provides read-only access to your Gnosis Pay data
> **Note**: The access token only provides read-only access to your Gnosis Pay data. The "Sign in with Ethereum" authentication process described above is mandated by Gnosis Pay's API requirements, not a design choice by rotki. rotki simply integrates with their authentication system as required.

### The Graph

Expand Down
19 changes: 16 additions & 3 deletions usage-guides/customization.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ There are two options to reset the assets database:

![Customizing the accounting rules](/images/sc_accounting_custom_rule.png)

By choosing the "Accounting" settings button, you can customize application settings related to accounting calculations.
In the accounting menu, you can customize application settings related to accounting calculations. These settings will affect the PnL report calculations.

> [!IMPORTANT]
> Before changing any settings:
Expand All @@ -169,9 +169,22 @@ By choosing the "Accounting" settings button, you can customize application sett

You can change these settings to match your country's tax requirements.

### Custom Accounting Rules
### Add/Edit Accounting Rules

Customize accounting rules based on `Event type`, `Event sub type`, and `Counterparty`.
![Add new accounting rules](/images/sc_accounting_add_rule.png)

You can add or edit accounting rules based on `Event type`, `Event subtype`, and `Counterparty`.

### Special Accounting Rules For Specific Events

![Special Accounting Rules](/images/sc_accounting_rules_special.png)

You can set custom accounting rules for individual events or groups of events directly from the History Events page. This allows you to override the default accounting behavior for specific events.

There are two ways to apply special rules:

- Use the [Edit accounting rule](/usage-guides/historical-events.html#edit-accounting-rule) menu for individual events
- Use [Select multiple events](/usage-guides/historical-events.html#select-multiple-events) to apply rules to multiple events at once

### Trade Settings

Expand Down
79 changes: 53 additions & 26 deletions usage-guides/historical-events.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Currently, these events are detected automatically by rotki:

- Transactions from registered **EVM accounts** (except Avalanche).
- Transactions from registered **Bitcoin** and **Bitcoin Cash** accounts.
- Transactions from registered **Solana** accounts.
- Events from registered exchanges.
- ETH withdrawal events
- ETH block events
Expand All @@ -19,9 +20,10 @@ 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:
History events can be filtered with these advanced filters.
The filters will persist, meaning if you go to another page or log out, the last filter will still be applied when you open the history events page.

- Account (a tracked blockchain address)
- Accounts (tracked blockchain / exchange accounts)
- Time range
- Asset involved in the transaction
- Protocol that interacted in the transaction
Expand All @@ -30,24 +32,12 @@ History events can be filtered if you have a premium subscription activated. You
- Event subtype (fee, spend, etc.)
- Entry type (EVM event, ETH block event, etc.)
- Counterparty address
- Tx hash of a particular transaction that you want to check
- Tx hash/signature of a particular transaction that you want to check
- Index of an eth2 validator that you want to see events for
- Show only customized events
- Show entries with ignored assets
- Should match exact filter (whether to only show the events that match the filter, excluding the other events in the same group)

![History events query status](/images/events_filter.png)

## 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)

## 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`.

## Refreshing Events

You can choose to refresh all events by clicking the main `Refresh` button, or you can open the menu and choose to refresh only certain types of events or accounts.
Expand All @@ -62,7 +52,7 @@ To see the status, you can click the button here:

![See query status](/images/see_query_status.png)

Basically, what happens when you refresh the transactions/events are:
Basically, what happens when you refresh the transactions/events is:

1. It will query the transactions from the "last queried time" to the current time.
2. For EVM events, after rotki queries these new transactions, it will try to decode them.
Expand All @@ -88,13 +78,13 @@ Refreshes events from specific protocols such as Monerium and Gnosis Pay, pullin

![Refreshing protocols events](/images/refreshing_protocols_events.png)

## Redecoding EVM transactions
## Redecoding blockchain 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.
It is possible that you need to redecode events for blockchain transactions (EVM and Solana). To do that you have two options. The first of them is to click on the three-dots `⋮` menu to display the options for an 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.

![Redecode events for an EVM transaction](/images/redecode_events.png)
![Redecode events for an transaction](/images/redecode_events.png)

The second option is to redecode all EVM transactions that have been queried. To do so you need to click on `Redecode EVM Events` at the top of the page.
The second option is to redecode all transactions that have been queried. To do so you need to click on `Redecode All Transactions` at the top of the page.

![Menu to redecode all queried EVM transactions events](/images/redecode_all_events.png)

Expand All @@ -108,7 +98,15 @@ 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.

## Delete event
![History events query status](/images/events_filter.png)

## 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)

## Delete transactions & events

![Menu to delete EVM transactions events](/images/delete_transaction_events.png)

Expand All @@ -118,37 +116,66 @@ EVM Transactions and the events can be deleted, but to restore them you will hav

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.

## Re-Pulling transactions missed in the past
## Re-Pulling events missed in the past

It is possible that due to network issues, RPC errors, or other problems, some transactions may have been missed during the initial sync. This can happen when:
It is possible that due to network issues, RPC errors, or other problems, some events may have been missed during the initial sync. This can happen when:

- An RPC node provided broken information.
- Etherscan or other indexers had wrong data.
- Sources used were not fully synced.
- Other kind of bugs.

You can re-pull EVM transactions for a specific account or all accounts within a selected time range by clicking on the 3 dots menu on the top right and selecting "Repull transactions".
You can find the menu by clicking the three-dots `⋮` menu in the top right and selecting `Re-pulling Events`.
You can pull blockchain transaction events and events that come from exchanges.

![Repull transactions](/images/repull_transactions.png)

If any missed transactions are found, you'll see a notification indicating how many new transactions were discovered.

![Repulled transactions result](/images/repull_transactions2.png)

After the transactions are pulled, they need to be decoded. You can either:
After the transactions are pulled, blockchain transactions need to be decoded, while events from exchanges will appear directly. For blockchain transactions, you can either:

- Wait a few moments for automatic decoding
- Click the refresh button to trigger decoding manually
- Check the transaction decoding status to monitor progress

Once decoded, the transactions will appear in the history view with all their associated events.
Once decoded, the blockchain transactions will appear in the history view with all their associated events.

## 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)

## Edit accounting rule

![Edit accounting rule](/images/edit_accounting_rule.png)

You can customize how events are processed in accounting by editing their accounting rules. When editing an accounting rule, you have two options:

1. **Apply to all matching events** - Updates all existing events that share the same combination of event type, subtype, and counterparty. This creates a general rule that affects all similar events.

2. **Apply to this specific event only** - Creates a special accounting rule that targets only the selected event, without affecting other similar events.

## 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 `⋮` menu to display the options for the group of events, and click `Ignore events in accounting`/`Unignore events in accounting`.

## Select multiple events

You can go to selection mode and select multiple events by clicking this menu in the top left:

![Selection mode](/images/selection_mode.png)

You can perform two actions:

1. Delete the selected events
2. Set regular accounting rules for specific events
- Note: Multiple selected events must have the same entry type/subtype combination to apply custom accounting rules.

![Select multiple events](/images/select_multiple_events.png)

## Add / edit events

There are 6 types of events in rotki:
Expand Down
Binary file added usage-guides/img.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading