rotki
Privacy-focused, self-hosted crypto and financial portfolio tracker with accounting and tax reports
Alternative to: cointracker, koinly, coinstats, delta investment tracker
v1.34.0
2024-07-12Description
rotki v1.34.0 is a big feature release containing all the work that the team and several contributors did during the last two months! The biggest features coming in this release are support for eigenlayer, gearbox, hop, curve and the addition of HTX among others.
It contains 306 commits from 14 different contributors 🥇
For more information check the detailed changelog below 👇
Downloads
Upgrade is highly recommended. Download the binary for your OS from below:
- Linux
- OSX
- arm64
- x86_64
- Standalone Backend
- Windows
Optionally, you can also verify the integrity of the aforementioned binaries using the following checksums:
- Linux
- OSX
- arm64
- x86_64
- Standalone Backend
- Windows
Things to note
History events redecoding
If 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 on the top right 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.
AVX in the CPU
We have introduced a new dependency that requieres the cpu to have AVX (Advanced Vector Extensions). If you have issues running the app please provide us logs and the cpu that your are using. If you are using a virtual machine ensure that it exposes the AVX api.
Mulltiple manual balances page
A bug got introduced in this version: https://github.com/rotki/rotki/issues/8263 Essentially no next pages appear for manual balances. If you want to edit/delete them then temporarily increase the table’s entries per page. The bug will be fixed in next release.
Release Highlights
Support for HTX
It was one of the most requested exchanges, and we have finally added it. Note that they have limitations on how far back a user can query using the API, so older trades and movements might not appear in the app.
Eigenlayer
We have added extensive support for Eigenlayer! Balances, including those in the queue for withdrawal, are tracked. Events related to deposits, withdrawals, deploying pods, delegations, and more are all correctly decoded by rotki.
Gearbox
Events and balances will be correctly detected. As with other protocols, for balances to be correctly detected, the events must first be decoded.
Hop
Full support for the HOP protocol has been added. Users will be able to track bridges, staking events and rewards in all EVM chains that we support. Balances will be also detected automatically.
Curve
We have extended the support of curve to all EVM chains. Liquidity events, rewards and swaps should appear correctly in the History Events sections. In addition, balances should be correctly tracked but you will need to decode events first since we use them to query the required pools.
These were the highlights. Check below for the full changelog 👇
New Features
- #8193 Coinbasepro support is removed since the exchanges no longer exist.
- #8071 Airdrops can now be filtered by a new status: missed. Meaning airdrops for which the user was eligible, the cutoff time has expired and no claim event is seen.
- #3971 Show the total collateral ratio in the Liquity Trove section.
- #2323 Add support for Huobi exchange.
- Curve vote escrow locking and withdrawal events will now be properly decoded on ethereum mainnet.
- Curve fee distributor claim events will now be properly decoded on ethereum mainnet.
- #7431 Curve events and balances are now decoded and detected on all supported evm chains.
- Defisaver automation subscription activation and deactivation events will now be properly decoded.
- #7722 Users can now export history events in their selected currency.
- #7544 Gearbox protocol events and balances are now decoded and detected on all supported evm chains.
- HOP governance events will now be properly decoded.
- #7974 Users will now be able to filter manual balances by asset, label and location.
- #5103 rotki will now automatically detect tokens along with their balances if the setting has been turned on. Set to true by default.
- #7675 Users will now be able to export & import accounting rules.
- #8003 1inch v6 events should now be properly decoded for all supported EVM chains.
- #7981 Circle’s CCTP bridge transfers are decoded properly for all supported EVM chains.
- #7202 Hop protocol related events and balances of staked tokens should be now decoded and detected properly.
- rotki decodes transactions and detects balances related to Blur staking.
- #8030 Cowswap in arbitrum is now supported.
- #1633 rotki now supports AAVE staking.
- #7568 Eigenlayer native restaking events are now properly decoded and balances in native restaking eigenpods or the delayed withdrawal system are automatically detected.
- #6115 Now free users can filter history events too.
- #7570 Users can choose whether to automatically force-push when a time discrepancy warning occurs during automatic database sync.
- Degen airdrop 2 season 3 claim event should now be properly decoded in the history events view.
- The eigenlayer airdrop claim event should now be properly decoded in the history events view.
- #8007 All votes in Arbitrum DAO will be decoded properly now.
- Paladin bribe claiming events should now be properly decoded.
- Properly decode all drips v1 transactions in ethereum mainnet and Polygon.
Bug Fixes
- Adding xpubs with derivation paths that include hardened nodes will not give an error anymore.
- Xpub keys without any addresses will now show properly in the accounts bitcoin accounts table.
- Adding a manual price of a newly added asset will now get saved, and will not disappear after restart.
- Coinbase staking reward events should now be shown.
- Governance abstain votes will now be properly decoded.
- Claimed and unclaimed airdrops of the same asset will now show properly.
- Editing the passphrase for OKX exchange will now work properly.
- Deposit events in Aave will now show in the correct order.
- #8088 Fix bug where the day names could be wrong on the calendar page.
- Some votium bribe claims which were not properly decoded before will be now.
- Some 1inchv4 swaps that were not decoded fine will now be properly decoded.
- ENS transaction events involving new owner for a name/subname and address changing should now be decoded properly.
- Users will be able to proceed with conflict resolution in the rare case that a duplicate asset appears in conflicts.
- #8022 When there are NFTs valued in different assets sorting them by fiat price will show the correct price.
- Fix the issue where the popup notification breaks the experience when the notification sidebar is already open.
- Stakedao bribe claims older than January 2023 will now also be properly decoded.
- Compound finance COMP claim cases that were not decoded correctly should now appear fine.
- Fix an issue where some tokens weren’t properly detected in scroll.
- Balances will get updated properly when removing a validator.
- #8137 Uniswap V3 NFTs for positions that have been exited won’t appear in the NFTs balances.
- #8095 PnL will be correctly calculated for validators exiting with a balance above 32 ETH.
- Scroll decoders will now work as expected.
- Events claiming veCRV bribes from Gauge Bribe v2 will now be properly decoded.
- Complicated cowswap trades that were detected as part of another DEX should now be properly decoded.
- Some old gitcoin bulkcheckout and claim matching funds events that were not decoded properly, will now appear correctly.
- ETH withdrawals and mint events will now be properly decoded in Aave.
- rotki will be able to connect with RPC nodes that provide their chain number using hex values.
Newly supported assets
Added support for the following assets:
- Farming of GHO v3 (farmdGHOV3) on ethereum
- Farming of Trade WETH v3 (farmdWETHV3) on ethereum
- Farming of Trade WBTC v3 (farmdWBTCV3) on ethereum
- Farming of USDT v3 (farmdUSDTV3) on ethereum
- Farming of Universal USDT v3 (farmdUSDTV3) on ethereum
- Farming of DAI v3 (farmdDAIV3) on ethereum
- Farming of Trade USDC v3 (farmdUSDCV3) on ethereum
- GHO v3 (dGHOV3) on ethereum
- Trade WETH v3 (dWETHV3) on ethereum
- diesel Wrapped Ether (dWETH) on ethereum
- diesel Wrapped BTC (dWBTC) on ethereum
- Trade WBTC v3 (dWBTCV3) on ethereum
- USDT v3 (dUSDTV3) on ethereum
- Universal USDT v3 (dUSDTV3) on ethereum
- DAI v3 (dDAIV3) on ethereum
- diesel USD Coin (dUSDC) on ethereum
- Trade USDC v3 (dUSDCV3) on ethereum
- Farming of Main USDC.e v3 (farmdUSDCV3) on arbitrum
- Farming of Main WETH v3 (farmdWETHV3) on arbitrum
- Farming of Main USDC.e v3 (farmdUSDCV3) on optimism
- Farming of WETH v3 (farmdWETHV3) on optimism
- Drift Protocol (DRIFT)
- BounceBit (BB)
- Notcoin (NOT)
- Copiosa Coin (COP) on binance
- ACEToken (ACE) on binance
- BFIC Coin (BFIC)
- Mother Iggy (MOTHER)
- Only Possible On Solana (OPOS)
- Peng (PENG)
- Doland Tremp (TREMP)
- Zeus Network (ZEUS)
- Nosana (NOS)
- ACENT (ACE) on ethereum
- Cookie (COOKIE) on binance
- Cookie (COOKIE) on ethereum
- Cookie (COOKIE) on base
- Aethir Token (ATH) on arbitrum
- Aethir Token (ATH) on ethereum
- Unagi Token (UNA) on ethereum
- Unagi Token (UNA) on base
- Unagi Token (UNA) on matic
- Unagi Token (UNA) on binance
- Ultiverse Token (ULTI) on binance
- Taiko Token (TAIKO) on ethereum
- Laika AI (LKI) on binance
- NexGami (NEXG) on matic
- Holograph Utility Token (HLG) on ethereum
- Common Wealth Token (WLTH) on base
- Subsquid (SQD) on ethereum
- Engines of Fury Token (FURY) on binance
- zkRace (ZERC) on ethereum
- zkRace (ZERC) on binance
- zkRace (ZERC) on matic
- NuLink token (NLK) on ethereum
- Cross The Ages (CTA) on ethereum
- Wisdomise (WSDM) on matic
- MAP Protocol (MAPO) on ethereum
- MAP Protocol (MAPO) on binance
- MAP Protocol (MAPO)
- Beercoin (BEER)
- io.net (IO)
- Venom (VENOM)
- MANEKI (MANEKI)
- RabbitX (RBX) on ethereum
- PAAL AI ($PAAL) on ethereum
- Mind (MND) on ethereum
- RealityMetaverse (RMV) on ethereum
- RealityMetaverse (RMV) on matic
- CreoEngine (CREO) on ethereum
- CreoEngine (CREO) on binance
- Altura (ALU) on binance
- Alvara (ALVA) on ethereum
- Trog (TROG) on ethereum
- MLTToken (ML) on ethereum
- iMe Lab (LIME) on binance
- iMe Lab (LIME) on matic
- pepe in a memes world (PEW) on ethereum
- Nakamoto.Games (NAKA) on matic
- American Coin (USA)
- Slerf (SLERF)
- catwifhat (CWIF)
- Areon Network (AREA)
- OmniCat (OMNI) on ethereum
- OmniCat (OMNI) on matic
- OmniCat (OMNI) on arbitrum
- OmniCat (OMNI) on base
- OmniCat (OMNI) on binance
- IntentX (INTX)
- Synthetic USD Coin (sUSDC) on base
- Dai Stablecoin on xDai (DAI) on gnosis
- USDe (USDe) on binance
- USDe (USDe) on optimism
- USDe (USDe) on arbitrum
- USDe (USDe) on scroll
- First Digital USD (FDUSD) on binance
- Staked USDe (sUSDe) on ethereum
- Staked USDe (sUSDe) on binance
- Staked USDe (sUSDe) on optimism
- Staked USDe (sUSDe) on arbitrum
- Binance-Peg Paxos Standard (PAX) on binance
- Curve.Fi USD Stablecoin (crvUSD) on matic
- Curve.Fi USD Stablecoin (crvUSD) on optimism
- Curve.Fi USD Stablecoin (crvUSD) on arbitrum
- Curve.Fi USD Stablecoin (crvUSD) on base
- Curve.Fi USD Stablecoin (crvUSD) on gnosis
- MetaVisa (MESA) on ethereum
- MonoX Token (MONO) on ethereum
- fanC Token (FANC) on ethereum
- Zentry (ZENT) on ethereum
- Orbler (ORBR) on ethereum
- PYR Token (PYR) on ethereum
- Fuse Token (FUSE) on optimism
- Fuse Token (FUSE) on arbitrum
- Fuse Token (FUSE) on matic
- Fuse Token (FUSE) on gnosis
- Mudol2 Token (MUDOL2) on binance
- Big Pump (PUMP) on binance
- INTOVERSE TOKEN (TOX) on binance
- MagicCraft (MCRT) on binance
- MagicCraft (MCRT) on ethereum
- Frutti Dino (FDT) on binance
- Hillstone.Finance (HSF) on binance
- Hillstone.Finance (HSF) on ethereum
- Propy (PRO) on base
- PepeFork (PORK) on ethereum
- Galactic Quadrant (GQ) on binance
- Bitcoin Name Service System (BNSX)
- Newton Project (NEW)
- Pizza (BRC-20) (PIZZA)
- Unique Network (UNQ)
- HYPE (HYPE) on binance
- MAGA (MAGA) on ethereum
- Smart Reward Token (SRT) on ethereum
- Altered State Machine Utility Token (ASTO) on ethereum
- IPVERSE (IPV) on ethereum
- DarkShield (DKS) on binance
- ZKBase (ZKB) on ethereum
- SPELLFIRE Token (SPELLFIRE) on ethereum
- SPELLFIRE Token [via ChainPort.io] (SPELLFIRE) on binance
- InsurAce (INSUR) on ethereum
- InsurAce (INSUR) on matic
- Bsc-Peg INSUR Token (INSUR) on binance
- Param (PARAM) on ethereum
- Fellaz Token (FLZ) on ethereum
- Octopus Network Token (OCT) on ethereum
- meta baby (BABY) on ethereum
- Rainmaker Games (RAIN) on ethereum
- Rainmaker Games (RAIN) on binance
- sign (SIGN) on ethereum
- Ambire Wallet (WALLET) on ethereum
- Ambire Wallet (WALLET) on base
- Ambire Wallet (WALLET) on matic
- Sator (SAO) on ethereum
- Alpha Quark Token (AQT) on ethereum
- Thrupenny (TPY) on ethereum
- MEVerse (MEV) on ethereum
- .com (.com) on ethereum
- MContent (MCONTENT) on binance
- MContent (MCONTENT) on ethereum
- Archloot (AL) on ethereum
- AcuteAngleCoin (AAC) on ethereum
- Ordiswap (ORDS) on ethereum
- Space Crown (SMCW) on binance
- structure.finance token (STF) on ethereum
- Lovely Inu Finance (LOVELY) on binance
- Smiley (SMILEY) on ethereum
- Adappter Token (ADP) on ethereum
- GroveC (GRV) on binance
- GroveC (GRV) on ethereum
- Oceanland (OLAND) on binance
- Rabbit (RAB) on binance
- Rabbit (RAB) on arbitrum
- ZED RUN (ZED) on matic
- Trace Network (TRACE) on ethereum
- Trace Network (TRACE) on matic
- Wrapped PCI (WPCI) on ethereum
- BSSB (BSSB) on ethereum
- BSSB (BSSB) on binance
- Ready to Fight (RTF) on ethereum
- Ready to Fight (RTF) on binance
- History Dao Token (HAO) on ethereum
- MUSK (MUSK) on ethereum
- Bubble (BUBBLE) on ethereum
- Rai.Finance (SOFI) on binance
- Wrapped Evmos (WEVMOS) on ethereum
- dKargo (DKA) on ethereum
- TOP Network (TOP) on ethereum
- Konnect (KCT) on ethereum
- Super Closed Source for Maximum Profit (ClosedAI) on ethereum
- WeWay Token (WWY) on binance
- WeWay Token (WWY) on ethereum
- CyberCrowdCoin (CCC) on ethereum
- Battle World (BWO) on matic
- GMPD (GMPD) on binance
- Coupon Assets Token (CA) on ethereum
- mfercoin ($mfer) on base
- Cobak Token (CBK) on ethereum
- Cobak Token (CBK) on matic
- Sportium Token (SPRT) on binance
- CRUST (CRU) on ethereum
- KingToken (KT) on binance
- MetaGaming Guild (MGG) on ethereum
- MetaGaming Guild [via ChainPort.io] (MGG) on binance
- ZKsync (ZK) on zksync
- Aave interest bearing ENS (aENS) on ethereum
- Aave interest bearing UST (aUST) on ethereum
- Aave interest bearing CVX (aCVX) on ethereum
- Aave interest bearing 1INCH (a1INCH) on ethereum
- Aave interest bearing LUSD (aLUSD) on ethereum
- Aave Matic Market GHST (amGHST) on matic
- Aave Matic Market BAL (amBAL) on matic
- Aave Matic Market DPI (amDPI) on matic
- Aave Matic Market CRV (amCRV) on matic
- Aave Matic Market SUSHI (amSUSHI) on matic
- Aave Matic Market LINK (amLINK) on matic
- Aave Ethereum wstETH (aEthwstETH) on ethereum
- Aave Ethereum DAI (aEthDAI) on ethereum
- Aave Ethereum LINK (aEthLINK) on ethereum
- Aave Ethereum AAVE (aEthAAVE) on ethereum
- Aave Ethereum cbETH (aEthcbETH) on ethereum
- Aave Ethereum rETH (aEthrETH) on ethereum
- Aave Ethereum LUSD (aEthLUSD) on ethereum
- Aave Ethereum CRV (aEthCRV) on ethereum
- Aave Ethereum MKR (aEthMKR) on ethereum
- Aave Ethereum SNX (aEthSNX) on ethereum
- Aave Ethereum BAL (aEthBAL) on ethereum
- Aave Ethereum UNI (aEthUNI) on ethereum
- Aave Ethereum ENS (aEthENS) on ethereum
- Aave Ethereum 1INCH (aEth1INCH) on ethereum
- Aave Ethereum FRAX (aEthFRAX) on ethereum
- Aave Ethereum GHO (aEthGHO) on ethereum
- Aave Ethereum RPL (aEthRPL) on ethereum
- Aave Ethereum sDAI (aEthsDAI) on ethereum
- Aave Ethereum STG (aEthSTG) on ethereum
- Aave Ethereum KNC (aEthKNC) on ethereum
- Aave Ethereum FXS (aEthFXS) on ethereum
- Aave Ethereum crvUSD (aEthcrvUSD) on ethereum
- Aave Ethereum PYUSD (aEthPYUSD) on ethereum
- Aave Ethereum weETH (aEthweETH) on ethereum
- Staked ETH (osETH) on ethereum
- Aave Ethereum osETH (aEthosETH) on ethereum
- Aave Ethereum USDe (aEthUSDe) on ethereum
- ETHx (ETHx) on ethereum
- Aave Ethereum ETHx (aEthETHx) on ethereum
- Aave Polygon WETH (aPolWETH) on matic
- Aave Polygon AAVE (aPolAAVE) on matic
- Aave Polygon SUSHI (aPolSUSHI) on matic
- Aave Polygon GHST (aPolGHST) on matic
- Aave Polygon BAL (aPolBAL) on matic
- Aave Polygon DPI (aPolDPI) on matic
- Aave Polygon EURS (aPolEURS) on matic
- Jarvis Synthetic Euro (jEUR) on matic
- Aave Polygon JEUR (aPolJEUR) on matic
- EURA (previously agEUR) (EURA) on matic
- Aave Polygon AGEUR (aPolAGEUR) on matic
- miMATIC (miMATIC) on matic
- Aave Polygon MIMATIC (aPolMIMATIC) on matic
- Staked MATIC (PoS) (stMATIC) on matic
- Aave Polygon STMATIC (aPolSTMATIC) on matic
- Liquid Staking Matic (PoS) (MaticX) on matic
- Aave Polygon MATICX (aPolMATICX) on matic
- Wrapped liquid staked Ether 2.0 (PoS) (wstETH) on matic
- Aave Polygon wstETH (aPolwstETH) on matic
- Aave Base WETH (aBasWETH) on base
- Aave Base USDbC (aBasUSDbC) on base
- Wrapped eETH (weETH.base) on base
- Aave Base weETH (aBasweETH) on base
- Aave Gnosis WETH (aGnoWETH) on gnosis
- Aave Gnosis wstETH (aGnowstETH) on gnosis
- Aave Gnosis GNO (aGnoGNO) on gnosis
- Aave Gnosis USDC (aGnoUSDC) on gnosis
- Aave Gnosis WXDAI (aGnoWXDAI) on gnosis
- Aave Gnosis EURe (aGnoEURe) on gnosis
- Aave BNB Smart Chain CAKE (aBnbCAKE) on binance
- Wrapped BNB (WBNB) on binance
- Aave BNB Smart Chain WBNB (aBnbWBNB) on binance
- Binance-Peg BTCB Token (BTCB) on binance
- Aave BNB Smart Chain BTCB (aBnbBTCB) on binance
- Aave BNB Smart Chain ETH (aBnbETH) on binance
- Aave BNB Smart Chain USDC (aBnbUSDC) on binance
- Aave BNB Smart Chain USDT (aBnbUSDT) on binance
- Aave BNB Smart Chain FDUSD (aBnbFDUSD) on binance
- Aave Arbitrum WETH (aArbWETH) on arbitrum
- Aave Token (AAVE) on arbitrum
- Aave Arbitrum AAVE (aArbAAVE) on arbitrum
- STASIS EURS Token (EURS) on arbitrum
- Aave Arbitrum EURS (aArbEURS) on arbitrum
- Aave Arbitrum wstETH (aArbwstETH) on arbitrum
- Aave Arbitrum MAI (aArbMAI) on arbitrum
- Aave Arbitrum rETH (aArbrETH) on arbitrum
- Aave Arbitrum LUSD (aArbLUSD) on arbitrum
- Aave Arbitrum FRAX (aArbFRAX) on arbitrum
- Aave Arbitrum ARB (aArbARB) on arbitrum
- Aave Arbitrum weETH (aArbweETH) on arbitrum
- Aave Optimism WETH (aOptWETH) on optimism
- Aave Token (AAVE) on optimism
- Aave Optimism AAVE (aOptAAVE) on optimism
- Aave Optimism OP (aOptOP) on optimism
- Aave Optimism LUSD (aOptLUSD) on optimism
- Aave Optimism MAI (aOptMAI) on optimism
- Aave Optimism rETH (aOptrETH) on optimism
- Aave Scroll WETH (aScrWETH) on scroll
- Aave Scroll wstETH (aScrwstETH) on scroll
- Dai Stablecoin (DAI) on fantom
- ChainLink (LINK) on fantom
- Aave Fantom LINK (aFanLINK) on fantom
- USD Coin (USDC) on fantom
- Bitcoin (BTC) on fantom
- Ethereum (ETH) on fantom
- Aave Fantom WETH (aFanWETH) on fantom
- Frapped USDT (fUSDT) on fantom
- Aave (AAVE) on fantom
- Aave Fantom AAVE (aFanAAVE) on fantom
- Wrapped Fantom (WFTM) on fantom
- Aave Fantom WFTM (aFanWFTM) on fantom
- Curve DAO (CRV) on fantom
- Aave Fantom CRV (aFanCRV) on fantom
- Sushi (SUSHI) on fantom
- Aave Fantom SUSHI (aFanSUSHI) on fantom
- TRON (TRX) on binance
- TRON (TRX) on ethereum
- Aave Base Variable Debt wstETH (variableDebtBaswstETH) on base
- Aave Scroll Variable Debt USDC (variableDebtScrUSDC) on scroll
- Aave Scroll USDC (aScrUSDC) on scroll
- Aave Arbitrum LINK (aArbLINK) on arbitrum
Updated the information of the following assets:
- USDe (USDe) on ethereum
- Pax Dollar (PAX) on ethereum
- Aave interest bearing FEI (aFEI) on ethereum
- Aave Polygon DAI (aPolDAI) on matic
- Aave Polygon LINK (aPolLINK) on matic
- Aave Polygon USDC (aPolUSDC) on matic
- Aave Polygon WBTC (aPolWBTC) on matic
- Aave Polygon USDT (aPolUSDT) on matic
- Aave Polygon WMATIC (aPolWMATIC) on matic
- Aave Polygon CRV (aPolCRV) on matic
- Aave Base cbETH (aBascbETH) on base
- Aave Arbitrum DAI (aArbDAI) on arbitrum
- Aave Arbitrum USDC (aArbUSDC) on arbitrum
- Aave Arbitrum WBTC (aArbWBTC) on arbitrum
- Aave Arbitrum USDT (aArbUSDT) on arbitrum
- Aave Arbitrum USDCn (aArbUSDCn) on arbitrum
- Aave Optimism DAI (aOptDAI) on optimism
- Aave Optimism LINK (aOptLINK) on optimism
- Aave Optimism USDC (aOptUSDC) on optimism
- Aave Optimism WBTC (aOptWBTC) on optimism
- Aave Optimism SUSD (aOptSUSD) on optimism
- Aave Optimism wstETH (aOptwstETH) on optimism
- Tronix (TRX) on ethereum