Xtrendence Cryptofolio Versions Save

Track your cryptocurrency holdings/portfolio with an open-source web, mobile, and desktop application, along with a self-hosted RESTful API.

V.2.2

2 years ago

Once again, thank you for over 50,000+ downloads. It's an insane number I never expected to see, but I'm very thankful. V.2.2 will unfortunately be the last update for a while as I'll be busy finishing my final year of university. However, the good news is that I've chosen to continue working on a new and better version of Cryptofolio for my final year project / dissertation. I'll have to keep the repository private until next summer due to university regulations, but when I get my grade, I'll make it publicly available for download. It'll have a lot of exciting features that I can't wait to share.


No-API Demo Version: https://xtrendence.github.io/Cryptofolio/website/


This release's API isn't compatible with the old one, so you'll have to update it to use the new features.

Docker: docker pull xtrendence/cryptofolio:V.2.2.0

Report any bugs by opening an issue, and if I have time, I'll fix them, but please keep in mind that I won't be accepting new feature suggestions at this time.

New Features:

  • Added support for multiple accounts. The admin account can now create new accounts. Their default password will be the same as their username, so the new user would have to login and change their password. Keep in mind that holdings and transactions are stored on the admin's server, so they can see other users' data. In the version of Cryptofolio that I'll be making for my final year university project, I'll encrypt user data so this won't be an issue. For now, make sure you trust your admin.

  • Added a No-API mode so users can use Cryptofolio without hosting an API at all. Keep in mind, the data is stored in localStorage on the website and AsyncStorage on the mobile app, so this isn't intended for long-term use. Browsers usually have a limit of 5MB of localStorage per site as well. For the safety of your data, it's recommended to regularly export it, as there are few protections in place to protect it when in No-API mode. This does mean though that you can effectively use Cryptofolio by just opening the "index.html" file, or literally just go here and use it on GitHub Pages. If you're going to use the one hosted on GitHub Pages, please fork the project to ensure new commits don't break it, and then only pull the new commits when I publish a new release.

  • Added support for additional fiat currencies (CHF, AUD, JPY, and CAD).

  • When highlighting the price change of assets in red or green, the user can now choose to only highlight the text instead of the whole row.

  • Added a date picker when recording transactions.

  • ETH wallet token balance can now be imported using a valid ETH address. All tokens (as long as they're listed on CoinGecko) and their amounts would get imported as holdings.

  • Users can now view the performance of their holdings individually, and see how much profit they've made since they bought the coin, and how it's performed during several timeframes.

  • Added a watchlist feature, where users can add coins to their watchlist, and track their market data on the "Dashboard" page. This has to be enabled in settings.

  • Lists on the "Dashboard" can now be sorted in ascending or descending order by coin, price, market cap, price change, amount, or value. This can be changed in settings on the mobile app, or by clicking the column header on the desktop app or website.

  • Added additional columns to the "Dashboard" lists. This can be enabled in settings.

Fixes & General Improvements:

  • Improved gradients on the mobile app.

  • Fixed the holdings value on the "Dashboard" page.

  • Fixed an issue where a "sell" transaction would deduct coins from a future "buy" transaction.

  • P/L now includes the change in both percentage and value.

  • Fixed an issue with the vertical scrolling on the website and desktop app.

  • Fixed an issue with parsing holdings.

  • Logging out now clears all user data from the DOM.

V.2.1

2 years ago

Just wanted to say thank you for over 15,000+ downloads/pulls across GitHub and DockerHub. Also a huge thank you to the people who have been opening issues and suggesting improvements, it's great practice for my future career, and I've learned a lot about managing an open-source project from this whole thing. I absolutely love what I do and would be doing it even without any downloads, users, or donations, but obviously the fact that I have all three on this project is nothing short of amazing, and I can't express my gratitude enough.


This release's API isn't compatible with the old one, so you'll have to update it to use the new features.

Docker: docker pull xtrendence/cryptofolio:V.2.1.0

To keep up-to-date with new upcoming features, please check the project board from time to time. If you make any feature requests (within reason of course) or report any bugs by opening an issue, then I'll get to it all when I have time.

New Features:

  • Holdings can now be based on transactions. There are 3 settings for this:

    • Disabled, which causes transactions not to affect holdings in any way. This is perfect if you're too lazy to record your transactions and just want to keep track of your holdings.
    • Mixed, where you can edit your holdings, but transactions also affect them and are added/subtracted based on the transaction type (buy/sell).
    • Override, which causes your holdings to be entirely based on transactions, and not be manually editable.
  • If the setting for "transactions affect holdings" is set to "Override", the user can now view a chart of their portfolio's performance over the past year (or since the first transaction they recorded). Their profit/loss is also shown with 6 timeframes (1D, 1W, 1M, 3M, 6M, 1Y) and the amount of money they've gained or lost since each point in time can be seen in green or red. The closing price of each day is used to determine this performance, and this data comes from CoinGecko's API. If the user has a lot of holdings, then loading the chart will take a while, as CoinGecko has rate limits, which means their data cannot be accessed too frequently. Since fetching the historical price data of each coin requires a separate request, an artificial delay/interval must be introduced between each one so that there aren't too many requests at the same time. However, Cryptofolio does cache this data for 24 hours, so you only have to wait for it to load once a day. There might be further effort in the future to improve upon this by having a background task that does it or something like that.

  • The market page now has charts and information on the different cryptocurrencies listed. A yearly price chart for each coin can be viewed, along with the user's transaction data which causes vertical green or red lines to be shown on the chart where they bought or sold the cryptocurrency they're viewing a chart of, though this is optional. All the information is provided by CoinGecko, so some coins may not have a description, and any erroneous data would be due to inaccurate data from CoinGecko's API.

  • Added donation cryptocurrency wallet addresses.

Fixes & General Improvements:

  • Added better animations to the website and desktop app.

  • Fixed mobile app navigation bar animation.

  • Fixed an issue where the activity page would cause the mobile app to crash if some fields of a recorded transaction were left empty.

  • The list of coin IDs are now fetched when interacted with, rather than only upon login.

  • Improved UI for the website, desktop app, and mobile app.

  • Session tokens are now invalidated when the user changes their password, effectively logging them out on every device for added security.

  • Fixed an issue where the QR scanner camera would stay open.

  • Fixed an issue where editing holdings and transactions would require the user to pick the coin ID again.

V.2.0

3 years ago

This release's API isn't compatible with the old one, so you'll have to update it to use the new features.

To keep up-to-date with new upcoming features, please check the project board from time to time. May might also be a slower month in terms of further updates as I have a lot of university coursework to do, but if you make any feature requests (within reason of course) or report any bugs by opening an issue, then I'll get to it all when I have more time.

  • Added a new "Activity" page where transactions can be recorded.

  • Added an import/export feature which lets you import and export holdings and transactions (CSV files are used).

  • Added a QR code login system, where you enter your password on the website or desktop app, and are shown a QR code that you can scan with the mobile app to automatically fill out the API URL input field and instantly login.

  • Added the ability to add holdings and such without using the coin ID and simply using the coin's symbol/ticker.

  • Table rows on the website and desktop app can now optionally be highlighted in green or red depending on the price action.

  • Added protection against duplicate requests, so spamming a button for example or there being a delay with the API won't cause it to process the same request multiple times.

  • Fixed a bunch of bugs and made general improvements to the UI.

V.1.2

3 years ago

Added the ability to change the fiat currency on all platforms. USD, GBP, and EUR are supported.

V.1.1

3 years ago

This release includes the cross-platform desktop application for macOS, Windows, and Linux. It also fixes a CORS issue with the API (the desktop app will not work if you don't update your API with this new version). Some small adjustments and fixes to the mobile app have been made as well.

V.1.0

3 years ago

This version doesn't include the desktop application as that's still being developed.