We want to add support for as many exchanges as we can to CryptFolio, with priority on exchanges that are in the highest demand, or that trade assets not supported by other exchanges.
In order to integrate an exchange into CryptFolio, the requirements are:
- The exchange must have an API to fetch the last trade for an exchange pair, and its 24 hour trading volume.
- The exchange should have an API to list all of the supported currencies and exchange pairs.
- The exchange should have a single API to list ALL supported exchange pairs and their last trades and 24
Most currencies, whether cryptocurrency or fiat, have unique codes (e.g. "BTC", "LTC") across all wallets and exchanges.
We enforce this uniqueness in CryptFolio; we do not permit any of our tracked currencies to share a single currency code reference.
For exchanges that use differing internal codes (e.g. Kraken uses XXBT for Bitcoin BTC), CryptFolio maintains an internal code-to-currency mapping.
We also enforce that all codes must be lowercase. Special characters and/or UTF-8 codes (e.g. emoji) are fine.
In the case of a conflicting or different currency code, our policies are:
- An existing ISO4217 fiat code has priority over any cryptocurrency
As at 3 February 2018, you can use the following cryptocurrencies to pay for your CryptFolio account, thanks to Coinpayments.net:
- BTC Bitcoin
- LTC Litecoin
- BCH Bitcoin Cash
- BLK BlackCoin
- DASH Dash
- DCR Decred
- DGB DigiByte
- DOGE Dogecoin
- ETC Ethereum Classic
- ETH Ethereum
- EXP Expanse
- GAME GameCredits
- LSK Lisk
- POT PotCoin
- SYS SysCoin 2.1
- VTC Vertcoin
- WAVES Waves
- XVG Verge
Alternatively, you can use your credit card to pay for your CryptFolio account, thanks to Stripe. We support:
- American Express
When you load up your portfolio for the first time, you may see some of your charts display as "Calculating...":
This message is displayed when the chart needs to calculate some data asynchronously on the server. You can safely wait and the chart will display the results once the calculation has completed.
Why does CryptFolio process reports asynchronously?
To satisfy the rate limit requirements of the external services we use to pull data, and to prevent sudden spikes in demand crashing the frontend servers, CryptFolio does not download balances and process reports on request.
Rather, these jobs are submitted to
Other than the plan limits imposed by your current subscription level, all accounts in CryptFolio have the following limits:
- Minimum account, address or offset balance stored (balance, transaction or history): 1e-9 per currency, up to 9 decimal places
- Maximum account, address or offset balance stored (balance, transaction or history): 1e+9 per currency, up to 9 decimal places
- Minimum portfolio summary stored (balance, transaction or history): 1e-9 per currency, up to 9 decimal places
- Maximum portfolio summary stored (balance, transaction or history): 1e+9 per currency, up to 9 decimal places
(This can mean that, in some cases, you may not get
The main CryptFolio platform is not designed to support trading within the app; this is a strategic decision.
If we were to support any form of automated trading, we would need to comply with many more international laws and regulations:
- Under New Zealand law we would have to register as a Financial Service Provider;
- We would need to register under similar acts and regulations within each international market; and
- As a user, you would need to submit AML/KYC documentation for every CryptFolio account.
We would also need to stop following our read-only API policy, which could expose your portfolio to
Not through CryptFolio.
Because the only data that you provide to CryptFolio are public addresses, and read-only APIs, it should not be possible for anyone to perform any trade or transaction with any of your currencies - as long as your account providers maintain their security as well.
For more information, check out our Security Policies.
On CryptFolio, we only support addresses, account and APIs that permit read-only functionality.
Read-only means that with all of the data that you provide to CryptFolio, it should not be possible for anyone to perform any trade, transaction, or withdrawal with any of your currencies - as long as your account providers maintain their security as well.
This also means that in the unlikely case of somebody gaining access to your account, they won't be able to use the information you provide in CryptFolio to make any trade, transaction, or withdrawal.
When you decide to add an API key to
We want to add support for as many wallet services (e.g. exchange wallets, mining pools, and other online wallets) as we can to CryptFolio, with priority on account types that are in the highest demand. In order to integrate a wallet type into CryptFolio, the requirements are: The wallet service must have an API to list the current balances for a given user. The API must be read-only, either by design or allowing a user to create an API key that is read-only; it must not be possible for an API key to perform an exchange, trade or withdrawal. The
CryptFolio is not a platform to buy, sell or trade Bitcoin or other cryptocurrencies – once you have some cryptocurrency, though, you can use CryptFolio to keep track of it!
However here are some great sites and services where you can buy cryptocurrencies:
- Easy Crypto
Hi. I have been desperately looking for a non-phone app Cryptocurrency portfolio tracker that allows the import of previous trades from major exchanges. I don't see where CSV files from those exchanges can be uploaded, so I created the necessary API keys in hopes they would work. My Bittrex API is still "loading" after 15 hours, but since I'm just trying to test on a free account this may be normal. I have noticed that when I view the transactions that are already uploaded from Binance and Coinbase, the screen seems to be limited to only the most recent 50
An address is a unique identifier, generally between 24-64 characters, that represents a possible destination for a cryptocurrency transaction. It is similar to a bank account number, in that you can have many bank accounts – each with their own balances and transactions.
Addresses can be generated for free with your wallet software, and there is no practical limit to the number of addresses that you can control.
Often different currencies will differentiate their addresses with a different leading character, for example:
You can add an Address to your portfolio by clicking on the Address button when configuring it.
An exchange is a service, usually a website, where users can trade their assets. Sometimes these trades are completed by matching open "buy" orders to open "sell" orders, and sometimes this is done by a service for a predetermined price.
For example, you can use an exchange to trade your Bitcoin (BTC) for Litecoin (LTC), or vice versa. On some exchanges, you can exchange cryptocurrency for fiat currencies; for example, trading your US dollars (USD) for Bitcoin (BTC).
Often you will be restricted to opening a single account on each exchange. Most exchanges will provide you with at least one
A mining pool is a service where many users "pool" their resources together to "mine" for cryptocurrencies.
Most cryptocurrencies are so difficult to solve ("mining", which is essentially solving the equations necessary to secure the blockchain and include its transactions) that for smaller participants, it's more realistic to share their resources together, and then for the mining pool to split the rewards out based on the effort each participant executed.
Many mining pools will also provide cryptocurrency wallets for their users, to allow you to accumulate your earnings out over many different blocks and send the rewards in a single
In the context of CryptFolio, a fixed amount is a single set of currencies, each with their own balances.
For example, you might wish to create a fixed amount for savings that you are holding on a device that you don't wish to disclose, by creating the following record in your portfolio:
You can also used fixed amounts to add any account or exchange to your portfolio, even if the exchange is not directly supported by CryptFolio.
By default, a fixed amount will have no transactions. You can import transactions for the account through CSV, or by editing the transactions
An external API is a third-party service which provides balances and/or transaction data, that can be used in other applications. API stands for "Application Programming Interface".
Using external APIs, you can develop your own web services to expose your financial data, without needing to provide CryptFolio with any of your own credentials.
For example, you could specify an external API "https://example.com/my_btc_balance", which returns the number "1.0" - signifying that you want to add 1.0 BTC to your portfolio.
The technical specifications for the range of supported External API formats is now available.
You can add an External API to your
Our market average rates are calculated for each pair of currencies that has five or more active exchanges trading that pair. The average is selected as a simple mean; we do not perform any trade volume weighting.
If an exchange pair is from a deprecated exchange, then we will only use the rates from that exchange up to its defined deprecation date.
CryptFolio currently supports these technical indicators on the charts in your portfolio:
- Simple Moving Average (SMA)
- Exponential Moving Average (EMA)
- Relative Strength Index (RSI)
- Bollinger Bands
To add a technical indicator to a chart in your portfolio, Edit the chart, and select Advanced Options to view the available indicators.
When CryptFolio updates one of your accounts or addresses automatically, through an API key or public address, we update existing transactions, and leave other transactions alone.
If two transactions have the same reference, value, currency, and date, then we consider them to be the same - and we will update the transaction with any additional information available (e.g. fee).
Since different public explorers for addresses often have different times for a transaction (often differing by only a couple of seconds, based on when the explorer received and processed the transaction), we consider two address transaction dates to be the same