Methodology
CoinGecko 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.
Trust Score
-
Trading Pairs
For 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!
Note that Trust Score calculated on each trading pair is not final and changes in real-time depending on market conditions. The detailed methodology of Trust Score is illustrated on CoinGecko’s Blog Post here. -
Crypto Exchanges (Spot)
Trust Score for spot crypto exchanges is displayed on a scale of 1 - 10 on the exchange overview page.
Trust Score for Exchanges is evaluated based on a combination of the following:
- Liquidity
- Regulation
- Cybersecurity
- Past Incidents
- Proof of Reserves
You can find the breakdown of an exchange’s Trust Score on the respective pages (eg. Coinbase).
Each evaluation category is calculated based on several other indicators as shown by the breakdown above.
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 ( Jul 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.
- Trust Score Basilisk Update ( May 2026) - rebuilds Trust Score by replacing web traffic with direct volume and order book depth evaluation, introducing Regulation Score, and grading exchanges on a curve relative to peers.
-
Crypto Exchanges (Derivatives)
Trust Score is currently unavailable for Derivative Exchanges. Derivative exchanges are ranked based on their respective Open Interest and Trading Volume figures as reported.
Market Data
-
Market Price of Coins
CoinGecko collects all available price, volume, and liquidity data across all tickers on all exchanges integrated to CoinGecko. By aggregating data across multiple tickers through a comprehensive algorithm, we calculate the market price of each coin. CoinGecko’s overall price aggregation methodology is divided into two distinct parts - a. Calculating the Bitcoin Price Index (BPI), and b. Aggregating the market price for all coins. You can find the complete methodology, as well as example calculations, in this document. Due to the importance of this Price Aggregation Methodology to CoinGecko, any changes or modifications to the methodology is governed by a multi-departmental Governance Forum. No changes can be made to the methodology without prior discussion and approval at the forum.
-
Calculating the Bitcoin Price Index (BPI)
All ticker data on CoinGecko are stored in BTC base. To convert all ticker data to BTC, we utilize the BPI as the internal reference Bitcoin conversion rate to all fiat currencies.
- BPI Calculation
We begin with calculating the BPIUSD, the reference BTC-USD conversion rate. This is calculated as the volume-weighted average price (VWAP) of selected BTC/USD, BTC/USDT, BTC/USDC, or BTC/EUR tickers across a selection of reputable exchanges. Prior to performing VWAP, USDT and USDC-paired BPI tickers are first converted to USD using a USD_ONRAMP_INDEX, while EUR BPI tickers are converted to USD using Open Exchange Rates. Once we obtain the BPIUSD, we apply the corresponding /USD exchange rate from Open Exchange Rates to obtain the BPI for all other fiat currencies supported on CoinGecko. - Ticker Data Processing
Once the BPI is calculated, we can process the tickers for all coins listed on CoinGecko. Tickers with BTC base are stored as-is in our database. Fiat currency tickers of all other coins are converted to a BTC base by applying the BPI. For crypto-to-crypto tickers, we apply an internal pathfinding algorithm to arrive at the BTC price. Once the price and volume of all tickers are denominated in BTC, they can be converted back to USD or any other fiat currency.
- BPI Calculation
-
Aggregating the market price for all coins
- Initial Ticker Set Construction
In addition to displaying data from individual tickers, CoinGecko also displays one aggregated market price for coins. For the purpose of price aggregation, an initial ticker set is constructed based on the top 600 tickers by volume of a particular coin. We then filter out tickers if it is detected to be anomalous or do not meet selected criteria. - Price Outlier Detection and Exclusion
- Initial Ticker Set Construction
-
Calculating the Bitcoin Price Index (BPI)