Description
rotki v1.40.0 is a major feature-packed release, bringing together 3 months of hard work from the team and external contributors! This update introduces bitcoin transactions in the history view, google and rotki calendar sync, protocol locations in the balances, support for many new protocols such as beefy alongside a ton of improvements and fixes.
It contains an amazing amount of 365 commits from 16 different contributors!
For more information check the detailed changelog below :point_down:
Downloads
Upgrade is highly recommended. Download the binary for your OS from below:
- Linux
- AppImage
- Tar with executable
- deb package
- Standalone Backend
- OSX
- arm64
- x86_64
- Standalone Backend
- Windows
- Windows executable
- Standalone Backend
Optionally, you can also verify the integrity of the aforementioned binaries using the following checksums:
- Linux
- AppImage checksum
- Tar with executable checksum
- deb package
- Standalone Backend
- OSX
- arm64
- x86_64
- Standalone Backend
- Windows
- Windows executable checksum
- Standalone Backend
Things to note
History events redecoding
As always when you are upgrading from an older release, all your EVM history events will need to be redecoded. This is something that takes a bit of time (depending on the amount of events) but is required in order to apply all changes since last release.
The redecoding will be triggered the first time you go to the history events page after you open the new version. You can monitor progress by pressing the 3 dots menu (1) on the top right and then checking how many events remain in the popup window (2) as seen in the screenshot above. Have patience until redecoding finished.
Finally, keep in mind that any edited events won't be touched, so you don't lose any data.
Solana token migration
We've updated how Solana tokens work in rotki. If you previously added Solana tokens manually, you'll need to migrate them. When you open rotki, you'll get a notification telling you that your Solana tokens need to be migrated. This is a one-time process.
To migrate you will need to:
1. Open the migration screen.
Click on the notification to go to the migration screen. You'll see all your Solana tokens that need updating.
2. Migrate
For each token, click the Migrate button. You'll need to provide:
- Token address: The unique identifier for the token on the Solana blockchain
- Decimals: The number of decimal places the token uses (e.g., 6 means the token can be divided into millionths)
- Token kind: This should always be set to "SPL token" for Solana tokens
3. Finding token information
Get the Token Address from CoinGecko
- Go to coingecko.com
- Search for your token
- Open the token's page
- Copy the Solana contract address
Get the Decimals from Solscan
Tip: CoinGecko token pages have an "Explorers" section with a "Solscan" button that takes you directly to the token's Solscan page.
- Open solscan.io
- Paste the token address in the search
- Find the Decimals field on the token page
- Note the value
4. Complete the Migration
- Enter the token address and decimals
- Click Confirm
- Repeat for all tokens
Release Highlights
Bitcoin transactions
rotki will now automatically pull and show you all your bitcoin/bitcoin cash transactions in the history events view.
Sync with Google Calendar
You can now sync your rotki calendar and all the events created there by processing onchain transactions with your google calendar.
For a step-by-step guide check here: https://docs.rotki.com/latest/usage-guides/calendar.html#sync-with-google-calendar
NOTE: If in Linux rotki will open the authentication popup in a rotki dedicated window and not in the user's browser. This is a known limitation. If you need to use a passkey, or anything else from your default browser copy the URL and paste it to your browser.
Search history by description
You can now search history events by the specific event's description. Select the "notes" filter and type any string there. The relevant events will popup below.
See protocols for balances
A big unlock of this release is that in the dashboard and in the EVM accounts view you can finally see in which protocol any balance you have is located.
You will no longer wonder why you see a balance of a token but don't see it in your wallet. Now you will always know which protocol to check for the balances.
Beefy finance support
All beefy finance history events should be now properly decoded and all balances deposited in Beefy automatically detected.
Experimental crypto.com support
We have added an experimental version of crypto.com API integration. Try it out and give us feedback if it works properly or not.
Local wallet bridge
In the last release we added an onchain wallet integration for the first time. It was always using wallet connect to connect rotki to your wallet. With this release we greatly improve on this by making it automatic through a local bridge that does not go through any 3rd party servers.
These were the highlights. Check below for the full changelog :point_down:
New Features
- Users will now be able to persist privacy mode and scramble settings through an interface-only setting.
- All CSV imports will now show warnings when duplicate entries are found.
- rotki will now decode reward claims via Merkl, including Morpho rewards distributed through Merkl.
- The eth2 daily stats functionality has been removed as it was deprecated for over a year and there was no reliable source of query for them.
- Monerium and Gnosis Pay events will be properly updated when decoding new transactions or redecoding existing events.
- [#2880] rotki will now show bitcoin transactions in history events page.
- [#4455] Users will now be able to see detailed information about which protocols their balances are in.
- [#9016] Users can now sync the rotki calendar with google calendar, meaning rotki events generated by events processing will appear in google calendar.
- [#10168] Support liquity v2 staking. Relevant liquity v2 transactions should now be properly decoded and understood by rotki.
- [#9853] magpie protocol swaps in all supported evm chains will now be properly understood by rotki.
- [#4467] rotki will now correctly decode Beefy Finance transactions in all supported EVM chains.
- [#10169] rotki will now properly decode spark airdrop claim and staking.
- [#9913] History events can now be filtered by description.
- [#7768] Experimental version of crypto.com exchange integration. Test it and give us feedback.
- [#1525] Users will now be able to refresh a single exchange in the exchange balances.
Bug Fixes
- Fix an issue where the selected filter suggestion is sometimes cleared in the combined filter.
- [#10439] Fix an issue where the ETH breakdown on an account isn't filtered, displaying the ETH breakdown from all chains and accounts.
- [#10419] Fiat income events will be properly counted as taxable profit.
- [#10309] Users will now be required to specify the market pairs when adding a Binance API key to avoid rate limiting and getting stuck when querying the historical events.
- [#10347] rotki will prioritize the native token in the asset selector on the on-chain send menu.
- [#10344] Users will now see the net worth on the tray that respects the scramble setting.
- Fix CowSwap swaps not being decoded properly in some cases.
- Optimism L1 gas fees will now be properly counted on all transactions.
- Liquity debts now appear as liabilities in dashboard balances where it was previously missing.
- Fix the issue where the prices for the asset group are not displayed and keep loading.
- Spark balances on proxy addresses will now be properly detected.
- Price queries for tokens should no longer fail when only one token query failed. This sometimes results in zero prices, making tokens look as if they disappeared.
- Fix Spark protocol savings transactions decoding across all supported EVM chains.
- Fix crash when processing certain L2 transactions with missing or invalid fees.
- Fix the Kraken earned asset that is not reflecting in the selected tab.
- Fix the notification error where it can't query alias names for the xpub address.
- Fix the asset name appearing as "undefined" in the on-chain transaction history.
- Fix division by zero error when querying price for LP tokens of empty curve pools.
- [#10149] Users will now be able to update the historical price within the swap event form.
- [#10148] History event should not be marked as a customized event if the user only updates the historical price.
- Swaps that only differ in their timestamps will now be properly imported from Binance CSVs.
- [#10158] PnL reports will now properly handle events with the same timestamp.
- [#10146] Users will now be able to filter assets in the history events filter if a non-EVM location is selected.
- [#10150] The history events page will be refreshed automatically when an asset is ignored or marked as spam.
- [#10199] Independentreserve trades, deposits and withdrawals now use the execution timestamp and not the creation one.
- Re-pulling transactions should now automatically refresh and decode the newly detected transactions.
- [#10377] Fix double conversion for manual balances that are in the user selected currency when they are summed for the total net worth.
Newly supported assets
Added support for the following assets:
- Liquid Staked SOL (LsSOL) on solana
- Nobody Sausage (NOBODY) on solana
- Uranus (URANUS) on solana
- TAC Token (TAC) on binance
- AIO (AIO) on binance
- Destra Network (DSync) on ethereum
- Rhea (RHEA) on binance
- AGENDA 47 (A47) on solana
- MemeCore (M) on binance
- LOBO THE WOLF PUP (LOBO)
- Uranium (XU3O8)
- Ika (IKA)
- BFUSD (BFUSD)
- Sidekick (K) on ethereum
- Token of Games (TOG) on binance
- WORLD3 (WAI) on binance
- Elympics (ELP) on ethereum
- Unite (UNITE) on base
- SatLayer (SLAY) on binance
- SatLayer (SLAY) on ethereum
- Clippy PFP Cult (CLIPPY) on solana
- SP500 xStock (SPYx) on solana
- Tesla xStock (TSLAx) on solana
- Amazon.com xStock (AMZNx) on solana
- Alphabet xStock (GOOGLx) on solana
- McDonalds xStock (MCDx) on solana
- Robinhood xStock (HOODx) on solana
- BankrCoin (BNKR) on base
- Mamo (MAMO) on base
- MicroStrategy xStock (MSTRx) on solana
- Kinto (K) on arbitrum
- Towns (TOWNS) on ethereum
- Towns (TOWNS) on base
- Towns (TOWNS) on binance
- DeepCore AI (DPCORE) on solana
- Nono Coin (NOC) on binance
- ZKWASM Token (ZKWASM) on binance
- HAiO (HAIO) on solana
- Csky Token (CSKY) on binance
- Caldera (ERA) on ethereum
- Caldera (ERA) on binance
- ASPECTA (ASP) on binance
- THINK Token (THINK) on ethereum
- Blum (BLUM)
- MORI COIN (MORI) on solana
- Cross (CROSS) on binance
- Boom (BOOM) on binance
- DashFun Coin (DFUN) on binance
- RCADE (RCADE) on arbitrum
- RCADE (RCADE) on binance
- PrompTale AI (TALE) on binance
- Eclipse (ES) on ethereum
- Chill House (CHILLHOUSE) on solana
- Vision (VSN) on ethereum
- Superp ($SUP) on binance
- Auki Token (AUKI) on base
- Codatta XNY (XNY) on binance
- TANSSI (TANSSI) on ethereum
- Gaia Token (GAIA) on ethereum
- LABUBU (LABUBU) on solana
- Botzilla (BTZ) on binance
- urmom (urmom) on solana
- TheTrenches (TRENCHES) on solana
- Tagger (TAG) on binance
- UPTOP (UPTOP) on binance
- Kobushi (KOBUSHI) on ethereum
- LanLan Cat (LANLAN) on ethereum
- Huma Finance (HUMA) on solana
- BIAO (BIAO) on solana
- Billy (BILLY) on solana
- CSI888 (CSITRON)
- Distribute.ai (DIS) on solana
- Dupe (DUPE) on solana
- CHARLES (KING) on solana
- catwifmask (MASK) on solana
- Monke Phone (MONKEPHONE) on solana
- Build On BNB (BOB) on binance
- gorilla (gorilla) on binance
- Hoppy (HOPPY) on ethereum
- REX (REX) on binance
- SOON (SOON) on solana
- Zeus (ZEUS)
- Pepes Dog (ZEUS) on ethereum
- Huma Finance (HUMA) on binance
- Newton (NEWT) on ethereum
- Newton (NEWT) on binance
- Resolv (RESOLV) on ethereum
- Resolv (RESOLV) on binance
- Sahara AI (SAHARA) on ethereum
- Sahara AI (SAHARA) on binance
- Sophon (SOPH) on ethereum
- Sophon (SOPH) on binance
- Sophon (SOPH) on base
- Sophon (SOPH) on arbitrum
- Sophon (SOPH) on matic
- Spark (SPK) on ethereum
- Lagrange (LA) on ethereum
- Xociety (XO)
- Bombie (BOMB) on binance
- BitBrawl (BRAWL) on solana
- Apple xStock (AAPLx) on arbitrum
- pumpBTC Governance token (PUMP) on binance
- CUDIS (CUDIS) on binance
- Bondex Token (BDXN) on ethereum
- Elderglade (ELDE) on binance
- Fragmetric (FRAG) on solana
- NVIDIA xStock (NVDAx) on arbitrum
- Skate (SKATE) on ethereum
- Skate (SKATE) on binance
- Skate (SKATE) on arbitrum
- Skate (SKATE) on solana
- Circle xStock (CRCLx) on arbitrum
- Coinbase xStock (COINx) on arbitrum
- ao Computer (AO)
- Assisterr AI (ASRR) on solana
- Impossible Cloud Network Token (ICNT) on ethereum
- Impossible Cloud Network Token (ICNT) on base
- aura (AURA) on solana
- Ghiblification (Ghibli) on solana
- DeLorean (DMC)
- Matchain (MAT) on binance
- Sogni AI (SOGNI) on base
- Rujira (RUJI)
- HeyAnon (Anon) on ethereum
- HeyAnon (Anon) on binance
- HeyAnon (Anon) on base
- HeyAnon (Anon) on arbitrum
- HeyAnon (Anon) on solana
- Hivemapper (HONEY) on solana
- Boundless Network (BUN) on binance
- RDO Token (RDO) on ethereum
- RDO Token (RDO) on binance
- LayerEdge (EDGEN) on ethereum
- Project MIRAI (MIRAI) on solana
- Zeus (ZEUS) on ethereum
- SGC (SGC) on binance
- BULLA (BULLA) on binance
- Namada (NAM)
- STON (STON)
- Moolah (Moolah) on binance
- VAIX (VAIX) on ethereum
- WAGMI HUB (INFOFI)
- CESSToken (CESS) on binance
- League of Traders (LOT) on binance
- Echo Protocol (ECHO)
- Unstable Coin (USDUC) on solana
- Bitlayer (BTR)
- Coiin (COIIN) on base
- Fly (FLY)
- Pump.fun (pump) on solana
- Arena-Z (A2Z) on ethereum
- Infinity Ground AI (AIN) on binance
- America Party (AP) on ethereum
- POWERBALL (ball) on solana
- BugsCoin (BGSC) on binance
- BOOP (boop) on solana
- BOOP (BOOP) on binance
- Worthless Coin (worthless) on solana
- Miniature Woolly Mammoth (WOOLLY) on ethereum
- WhiteRock (WHITE) on ethereum
- WhiteRock (white) on solana
- VIRGEN by Virtuals (VIRGEN) on base
- Velvet (VELVET) on binance
- Valentine Grok Companion (valentine) on solana
- TRN (TRN) on arbitrum
- Trencher (trencher) on solana
- Toilet Dust (TOILET)
- Hyperion (RION) on binance
- Richie Rich (RICHIE) on solana
- GET RICH QUICK (rich) on solana
- REDX (REDX)
- Pope (POPE) on solana
- Polka City (POLC)
- Polka City (POLC) on ethereum
- Polka City (POLC) on binance
- Play (PLAY) on base
- Play (PLAY) on binance
- Oscar (OSCAR) on ethereum
- AIGOV (olivia) on solana
- Nura Labs (NURA) on ethereum
- Not in Employment Education or Training (neet) on solana
- moonpig (moonpig) on solana
- MONKE (MONKE) on ethereum
- MOMO.FUN (MM) on binance
- Mikami Coin (MIKAMI) on solana
- just memecoin (memecoin) on solana
- Masha and the Bear (masha) on solana
- Manyu (MANYU) on ethereum
- vitafin (LLJEFFY) on solana
- s BONK (letsbonk) on solana
- Laïka (LAÏKA) on base
- kolscan (kolscan) on solana
- Jerry The Turtle By Matt Furie (JYAI) on ethereum
- JuliaOS (jos) on solana
- Janitor (Janitor) on binance
- Izzy (IZZY) on ethereum
- IBRL (ibrl) on solana
- Hosico Cat (hosico) on solana
- Halviora (Halviora) on base
- Graphite Protocol (gp) on solana
- Gorbagana (gor) on solana
- gooncoin (goonc) on solana
- gib (gib) on solana
- Gasspas (GASS) on ethereum
- Free Speech (𝕏) on ethereum
- EGL1 (EGL1) on binance
- DMCP (DMCP) on solana
- TrumpCoin (djt) on solana
- CryBaby (CryBB) on solana
- Chainbase Token (C) on base
- Chainbase Token (C) on binance
- Creator Buddy (buddy) on solana
- Boopa (boopa) on solana
- Catalyse AI (CAI) on ethereum
- Binance Wrapped BTC (BBTC) on ethereum
- Meta xStock (METAx) on arbitrum
- Meta xStock (METAx) on binance
- Meta xStock (metax) on solana
- Alliance Games (COA) on binance
- Alliance Games (COA) on base
- Treehouse Token (TREE) on binance
- Treehouse Token (TREE) on ethereum
- DeFituna (tuna) on solana
- Succinct (PROVE) on ethereum
- Succinct (PROVE) on binance
- SuperGrok (SUPERGROK) on ethereum
- ao Computer (AO)
- Spark USDC Vault (sUSDC) on ethereum
- Savings USDS (sUSDS) on ethereum
Updated the information of the following assets:
- Savings xDAI (sDAI) on gnosis