MethodologyCoinGecko provides a wide variety of data on many different cryptoassets. All data that we receive/query from various sources are put through CoinGecko’s various algorithms that verifies the integrity of the data. Read on for a summary of how we calculate and evaluate the various metrics available on CoinGecko.
1. Trading PairsFor each trading pair on CoinGecko, the Trust Score is calculated by considering the:
- Web traffic stats of an exchange (by SimilarWeb)
- Orderbook spread & ±2% depth
- Overall trading volume
- Trade frequency
- Outlier checks
Trust Score is displayed in Green/Yellow/Red or None on under the “Trust Score” column. A set of screenshots taken below illustrates the difference between different Trust Score colors. You may also navigate directly to coin pages (eg. Bitcoin, Litecoin) to see it in action!
2. Crypto Exchanges (Spot)Trust Score for spot crypto exchanges is displayed on a scale of 1 - 10 on the exchange overview page.
- Overall Liquidity
- Scale of Operations
- API Coverage
- Team Presence
- Past Incidents
- Proof of Assets
- Proof of Liabilities (est. H1 2023)
The detailed methodology can be found on CoinGecko’s blog in a summarized format here, or as separate releases:
- Trust Score 1 (May 2019) - ranks trading pairs based on web traffic, liquidity & trading activity related metrics.
- Trust Score 2 (Sep 2019) - ranks exchanges based on web traffic, liquidity, scale & API coverage.
- Trust Score Cybersecurity update (July 2020) - improves on Trust Score 2 through inclusion of Cybersecurity evaluation.
- Trust Score Team Presence & Incidents update (Nov 2020) - inclusion of evaluation of operational factors such as Team Presence & Past Incidents.
- Trust Score 3 Proof of Reserves (Jan 2023) - incorporation of Reserves data into Trust Score to be used as part of the algorithm for ranking purposes.
3. Crypto Exchanges (Derivatives)Trust Score is currently unavailable for Derivative trading pairs or Derivative Exchanges. Derivative trading pairs and Derivative exchanges are ranked based on their respective Open Interest and Tradng Volume figures as reported.
1. Price (Cryptoasset)The price of a cryptoasset is calculated based on the pairings available and collected by CoinGecko from the various exchanges for a particular cryptoasset. The price shown on CoinGecko for a particular cryptoasset is calculated using a global volume-weighted average price formula.
Example 1 (Different fiat pairings)Using Bitcoin (BTC) as an example, and assuming we only track two exchanges, A and B which trades in USD and JPY:
Exchange A: BTC/USD = USD 1,000 / BTC @ 15,000 BTC Trading Volume (rolling 24 hours)
Exchange B: BTC/JPY = JPY 109,000 / BTC @ 10,000 BTC Trading Volume (rolling 24 hours)
CoinGecko will first convert JPY to USD using FX rates provided by OpenExchangeRates. Assuming USD 1 = JPY 110, this will mean:
Exchange B: BTC/JPY = JPY 109,000 / BTC ≈ USD 990 / BTC
CoinGecko will then calculate the global volume-weighted average price. In this case, it will be:
CoinGecko BTC Price (USD)
= [Volume % * USD Price] + [Volume % * Converted USD Price]
= [ 15,000 / (15,000 + 10,000) ] * USD 1,000 + [ 10,000 / (15,000 + 10,000) ] * USD 990
= 0.6 * USD 1,000 + 0.4 * USD 990
= USD 996
Example 2 (Fiat & other crypto pairings)Using Ethereum (ETH) as an example, and assuming we only track two exchanges, A and B which trades in USD and BTC:
Exchange A: ETH/USD = USD 200 / ETH @ 30,000 ETH Trading Volume (rolling 24 hours)
Exchange B: ETH/BTC = ₿ 0.20000000 / ETH @ 20,000 ETH Trading Volume (rolling 24 hours)
CoinGecko will first convert the ETH/BTC price to a USD price using the CoinGecko BTC Price derived above. Assuming 1 BTC = USD 996, this will mean:
Exchange B: ETH/BTC = ₿ 0.20000000 / ETH ≈ USD 199.2 / ETH
CoinGecko will then calculate the global volume-weighted average price. In this case, it will be:
CoinGecko ETH Price (USD)
= [ 30,000 / (30,000 + 20,000) ] * USD 200 + [ 20,000 / (30,000 + 20,000) ] * USD 199.2
= 0.6 * USD 200 + 0.4 * USD 199.2
= USD 199.68
From Example 1 and 2, the prices obtained in USD are then converted into other local currencies such as GBP, CNY, JPY, EUR and so on using OpenExchangeRates and then displayed on CoinGecko.
Note: CoinGecko’s global volume-weighted average price calculation excludes data points that are detected as outliers as explained in Part 3 below.
2. Trading Volume (Cryptoasset)The trading volume for a cryptoasset on CoinGecko is the aggregate trading volume of all trading pairs of the cryptoasset. Let’s assume Litecoin (LTC) is only traded on Exchange A and has BTC, ETH and USD trading pairs with the following rolling 24 hours trading volume:
Rolling 24 hours trading volume for LTC in Exchange A:
LTC/BTC = 5,000 LTC
LTC/ETH = 1,000 LTC
LTC/USD = 2,000 LTC
Assuming 1 LTC = USD 100, the 24 hours trading volume for Litecoin will be 5,000 + 1,000 + 2,000 = 8,000 LTC or USD 800,000.
Note: CoinGecko’s cryptoasset trading volume calculation excludes data points that are detected as outliers as explained in Part 3 below.
3. Outlier DetectionCoinGecko uses several methods to detect outliers as part of the algorithm to ensure that only the most up-to-date and most accurate information are aggregated and displayed on the website. The results of our outlier detection mechanism is shown on a coin’s Exchanges page, where some of the rows are greyed out. There are two shades of gray which are explained further below:
(a) and (b) are values detected as outliers and excluded by our calculation algorithm.
(a) A lightly grayed-out row indicates that the exchange data is an outlier. There are several scenarios where this may occur:
- - Exchange API returning null values for trading volume.
- - For coins with 3 trading pairs or more, any trading pair where the price is out of the Median Absolute Deviation is considered an outlier.
- - For coins with 1 or 2 trading pairs, any price change that is greater than 100x from the previous price will cause the new price to be classified as an outlier.
(b) A fully grayed-out row indicates that the information is stale. This happens when no new tickers have been received from the exchange in the past 3 hours. This may be due to an error in the exchange’s API. The exchange information will be removed from the coin page if no new updates are received in the next 7 days.
4. Trading Volume (Exchange)The trading volume of an exchange is the sum of the volume of all Trading Pairs available on a particular exchange. For example, assume exchange A has 2 different coins (ETH and LTC) and both have USD and BTC pairings:
Taking ETH = USD $200 and LTC = USD $100 from CoinGecko’s global volume-weighted average price and with the following trading volume (rolling 24 hours) of each pair:
ETH/BTC = 400 ETH
ETH/USD = 100 ETH
LTC/BTC = 3,000 LTC
LTC/USD = 2,000 LTC
Exchange A’s trading volume is then:
400 ETH + 100 ETH + 3,000 LTC + 2,000 LTC = USD 600,000
Note that CoinGecko’s calculation algorithm for an exchange volume excludes trading pairs that have been blacklisted for inconsistent data and have not been updated for over 3 hours. This is to ensure that the aggregated volume will reflect the market conditions as accurately as possible.
5. Trading Volume (Global)The Global 24-hour Volume (top of the website, below the menu bar) is the sum of the trading volume of all exchanges as tracked by CoinGecko.
6. Circulating SupplyThe Circulating Supply information displayed on CoinGecko is obtained from the various token teams and is verified by the CoinGecko team. If CoinGecko cannot verify the accuracy of such information, the Circulating Supply will be marked with a “-” symbol.
The Circulating Supply information is displayed on CoinGecko and the source of this calculation is shown by clicking on the symbol besides the Circulating Supply text. The Circulating Supply information is used to calculate the Market Capitalization of cryptoassets.
For Proof-of-Work coins, an API endpoint from the coin’s block explorer is used by CoinGecko to query the amount of coins available. CoinGecko includes pre-mine coins in the Circulating Supply calculation as these coins can be sold by whoever that has control of these coins.
For tokens issued on smart contract platforms (eg. ERC-20 tokens on Ethereum), we calculate the Circulating Supply by deducting locked tokens from Total Supply. Locked tokens may include Foundation’s Fund, investors’ locked tokens, team’s locked tokens etc. The addresses of these locked tokens are obtained from the token teams.
The token balance of locked addresses is obtained automatically from the block explorer whenever an API is available. For 0x’s case, as it is an ERC-20 token, the token balances of the 0x addresses are obtained automatically from Etherscan and deducted from the total 0x supply.
7. Market Capitalization (Cryptoasset)The Market Capitalization of a cryptoasset is calculated using the following formula:
A = Current cryptoasset price in USD
B = Circulating supply of an asset
Market Capitalization = A * B
For example, the market capitalization of 0x is calculated by multiplying the Circulating Supply of ZRX with its price. Assuming the Circulating Supply of ZRX is 583,209,787 and the price of ZRX is USD 0.25, the market capitalization is then calculated as 583,209,787 * USD $0.25 = USD 145,802,446.75.
8. Market Capitalization (Global)The Global Market Capitalization (top of the website, below the menu bar) is the sum of the Market Capitalization of all projects tracked by CoinGecko.
9. All-Time High (ATH)CoinGecko calculates the ATH using following data:
(i) ATH Price
(ii) ATH Date
(iii) Current Price
(iv) Current Date
% Drop since ATH= (ATH Price – Current Price) / (ATH Price) * 100%
Date since ATH = Current Date – ATH Date
10. Developer and Community StatsHere at CoinGecko, our aim is to build the most complete and comprehensive database related to cryptoprojects that you can use to have a 360-degree overview on your favorite projects. For that, we cover various metrics that we feel are necessary to include for a full 360-view of an asset.
CoinGecko tracks the development activity of the cryptoassets via public source code repositories on Github, Gitlab, and Bitbucket. We look at development activity because some coins are no longer maintained by the developer thus those coins would appear very unlikely to progress over time.
By looking at how much interest and effort goes around the development community, there is a chance that the coin will continue to innovate according to how the cryptoasset market sees fit. For more information on developer metrics, read our blog post.
CoinGecko tracks the community activity of cryptoassets by looking at metrics from social media channels such as Facebook, Twitter, Reddit, and Telegram. Cryptoassets tend to experience tremendous growth when there is a strong community backing it. A strong, vibrant community contributes new ideas and features to be incorporated into the cryptoasset and signifies growth.
Project ListingsGetting your token or exchange listed on CoinGecko is free and no CoinGecko representative will ever ask you for any form of listing fees.
While we would gladly accept any donations (addresses are available at the CoinGecko website footer), please note that it does not guarantee a listing or expedite any part of the process. Listed below are some of the criteria that need to be fulfilled for a listing consideration on CoinGecko. However, do note that fulfilling these criteria does not automatically guarantee a listing as CoinGecko also evaluates many other factors prior to listing any project on our site.
CoinGecko reserves the rights to publish or unpublish any listed cryptoasset, ICO, or exchange on our site without prior notice if we feel that any of the presented information is inaccurate in any way. CoinGecko will not provide an update if a cryptoasset/ICO/exchange fails any part of the review process.
Listing Criteria:(1) Cryptoassets
- Working, functional website that has sufficient information on cryptoasset that is being listed. Websites with no information on purpose, team or social media profiles will be considered as invalid.
- Website must be owned by the project/maintaining team. Websites hosted on website builders (i.e Wix) will not be accepted.
- Working block explorer
- Listed on at least one (1) active exchanges where CoinGecko is integrated with.
- Projects traded only on self-serviceable centralized/decentralized exchanges may be rejected due to security concerns.
- For market capitalization calculation, circulating supply must be communicated clearly (e.g. any company/foundation/team/developers/vesting/locked tokens).
- A working exchange website with actual trading volume that matches information in API.
- Fulfills CoinGecko’s Crypto Exchange API Standards.
- A working REST API documentation.
- Have a representative with whom the team can easily communicate for any issues.
- Coin Info page with identification of each traded coin on the exchange Basic info required: Name, Ticker, Logo, Coin Website, Block Explorer Example of an acceptable Coin Info Page: DeversiFi Token Info.
Do’s and Don’ts for Listing Submission:There are certain things that you can help us with to ensure that the listing process is as smooth as possible.
- Fill in as much accurate information in the CoinGecko Request Form.
- Ensure that there are no dead links/bad references.
- Submit a ticket at support.coingecko.com if you have further enquiries.
- Submit multiple requests.
- Repeatedly ask for status updates.
- Offer financial gain to anyone for a listing.
- Accept any offer from others who claim that they can expedite or guarantee your listing.
Remember, CoinGecko representatives will never ask you for any form of listing fees.
Listing process flow:Cryptoassets
- Fill out CoinGecko Request Form. (Refer to the guide here)
- CoinGecko reviews requests.
- If it passes review, CoinGecko lists the cryptoasset.
- Submitters can check the listing status here.
- Submit the CoinGecko Request Form.
- CoinGecko reviews requests.
- If the exchange fulfills all criteria, a CoinGecko representative will be in touch via email to proceed with exchange listing agreement (applicable on CEX listing).
- A CoinGecko developer will work on the exchange integration.
- CoinGecko team will check the code again and if it passes all checks, the exchange API will be merged to CoinGecko’s internal Exchange library. Exchanges are required to follow CoinGecko’s Crypto Exchange API Standards to facilitate the exchange listing.
- CoinGecko team will check every single trading pair and match it against an existing cryptoasset listed on CoinGecko.
- Exchange information will be populated (images, description, fees etc).
- Exchange integration is completed and the exchange is listed on CoinGecko.