Understanding Alterscope Score

Know how alterscope score is calculated.

Alterscope calculates an overall score for a protocol or blockchain by considering various factors that contribute to its performance and viability. These factors include social engagement, community (previously development) activity, tokenomics, governance, liquidity, and security.

For each protocol, Alterscope calculates an overall score based on the available subscores. In the best case, if all subscores listed above are available, the overall score is the weighted average of all components where all components have equal weight.

The overall score, in the best case, can be formalized as follows where all the weights are equal for the following condition:

Soverall=WsocialSsocial+WcommunityScommunity+WtokenStoken+WgovernanceSgovernance+WliquiditySliquidity+WsecuritySsecurityS_{\text{overall}} = W_{\text{social}} \cdot S_{\text{social}} + W_{\text{community}} \cdot S_{\text{community}} + W_{\text{token}} \cdot S_{\text{token}} + W_{\text{governance}} \cdot S_{\text{governance}} + W_{\text{liquidity}} \cdot S_{\text{liquidity}} + W_{\text{security}} \cdot S_{\text{security}}


  • Ssocial,WsocialS_{\text{social}} ,W_{\text{social}} for the social score and social weight,

  • Scommunity,WcommunityS_{\text{community}} ,W_{\text{community}} for the community score and community weight,

  • Stoken,WtokenS_{\text{token}} ,W_{\text{token}} for the tokenomics score and tokenomics weight,

  • Sgovernance,WgovernanceS_{\text{governance}} ,W_{\text{governance}} for the governance score and governance weight,

  • Sliquidity,WliquidityS_{\text{liquidity}} ,W_{\text{liquidity}} for the liquidity score and liquidity weight,

  • Ssecurity,WsecurityS_{\text{security}} ,W_{\text{security}} for the security score and security weight.

where all the weights are equal for following condition:

Wsocial+Wdev+Wtoken+Wgovernance+Wliquidity+Wsecurity=1W_{\text{social}} + W_{\text{dev}} + W_{\text{token}} + W_{\text{governance}} + W_{\text{liquidity}} + W_{\text{security}} = 1

For the cases where the protocol does not have any of the components, e.g: Liquidity sub-score for oracles or tokenomics/governance subscore for the protocols with no token offering, we are proportionally rebalancing the weights so that the sum of the weights are still going to be same, but the missing components will be deleted from the overall score.

How Liquidity Score is Calculated?

The liquidity score is calculated based on the type of decentralized finance products offered by the corresponding protocol. A liquidity type can be one of the following:

Decentralize Exchange Protocols

If the protocol is providing decentralized exchange liquidity. Uniswap and Balancer can be examples of this type. Our liquidity score aims to analyze the likelihood of volume continuation, hence, the interest generation for liquidity providers. We compute our liquidity score for each liquidity pool of the corresponding protocol. Then, we compute our liquidity score for the protocol given all transactions over all of the liquidity pools underneath. We take into account the total number of transactions, the number of unique wallets performing exchanges, and the mean and median transaction volume. Given all swap/exchange transactions executed on a liquidity pool or across all liquidity pools of a protocol in a day:

Score=sigmoid((1MeantransactionsMediantransactionsMediantransactions)(NumusersNumtransactions))Score = sigmoid((1-\frac{Mean_{transactions} - Median_{transactions}}{Median_{transactions}}) * (\frac{Num_{users}}{Num_{transactions}}))

This formula aims to understand how dependent a protocol is on less number of wallets with huge volumes vs independent of them, i.e., the volume is widely spread across many wallets with comparably similar volumes, hence, the volume is likely to be consistent and organic.

Lending Protocols:

If the protocol is providing liquidity by lending and borrowing operations. AAVE and Compound can be examples of this type. Our liquidity score aims to analyze the liquidity health of the corresponding protocol. We take into account all wallets' positions to do so. Given all wallets, we compute the weighted average of their positions' health factors:

HFweighted_avg=i=1nHFiBorrowii=1nBorrowiHF_{weighted\_avg} = \frac{\sum_{i=1}^{n} HF_i * Borrow_i}{\sum_{i=1}^{n} Borrow_i}

where HF means Health Factor and Borrow means the size of the borrowing position of a wallet. Then, we apply a formula f(x) to calculate our liquidity score value of the corresponding protocol:

Score:f(x)=1elog(0.03)(x1)Score: f(x) = 1 - e^{log(0.03) * (x - 1)}

where x is given as the HF weighted average in the previous formula into this equation. Our liquidity score is bounded between 0 and 1, i.e. [0, 1] where 0 means the overall liquidity of the protocol is at high risk and 1 means the overall liquidity of the protocol is at low risk.


  • If the protocol is a stablecoin protocol where users provide collateral of any other token type (generally ETH) in exchange for the native stablecoin issued by the protocol. Frax Stablecoin, MakerDAO, and Reflexer are examples of this type.


  • If the protocol is providing liquidity services via offering perpetual markets where users can execute leveraged operations. (Currently, there is no score for derivatives. It is planned to be added in the future)

How Security Score is Calculated ?

When determining the security score, we consider the following key parameters:

  1. The frequency of protocol breaches

  2. TVL for the said protocol

  3. The scale of the protocol's bounty program

  4. The number of vulnerabilities detected within the protocol's source code

  5. The number of vulnerabilities identified by independent third-party auditors

  6. The programming language and compiler employed in the source code

  7. The level of transparency exhibited by the protocol's development team

The resulting score will fall within a range of 0 to 100.

How Governance Score is Calculated?

The governance score is calculated based on the following:

Autocracy score: Autocracy assesses the concentration of power, considering how much of the token supply is held by a few.

Sautocracy=1FiftyPercentHoldings×2NumberOfTokenHoldersS_{\text{autocracy}} = 1- \frac{\text{FiftyPercentHoldings} \times \text{2}}{\text{NumberOfTokenHolders}}

Gini Coefficient: Central to understanding governance is the Gini Coefficient, which measures inequality in token distribution. A lower Gini Coefficient indicates equitable distribution, while a higher value signals disparity in token holdings.

G=12n2xˉi=1nj=1nxixjG = \frac{1}{2n^2\bar{x}} \sum_{i=1}^{n} \sum_{j=1}^{n} |x_i - x_j|

  • GG is the Gini coefficient.

  • nn is the total number of addresses.

  • xix_i and xjx_j are the holdings of tokens for addresses ii and jj, respectively.

  • xˉ\bar{x} is the average holdings per address

Participation score: The strength and effectiveness of a governance system stem from the active participation of its members. This metric quantifies user engagement, taking into account the voting power of each participant.

For each proposal we calculate:

P=votesUsed/OverallVotingPowerP = votesUsed/OverallVotingPower

Then we sum P values for each proposal and divide it by total number of proposals to find Participation Score.

How Development Score is Calculated?

The development score attempts to rate the overall development activity of a protocol's GitHub repositories. The main aspects are:

  • Contribution: How active are developers in contributing new updates, number of issues and pull requests ?

  • Engagement: How active developers are in engaging in active issues and trying to solve them.

  • Documentation: How well the documentation is maintained.

  • Developer Balance: How well the contributions are spread across developers or if the protocol is e.g. 90% dependent on a single developer.

Type: Percentage

Range: [0, 100]

How Tokenomics Score is Calculated ?

The tokenomics score is calculated based on the 6 subscores, all of listed below, below:

1. Tokenomics Price Manipulation Score

Addressing price manipulation, we investigate defenses and attributes that prevent undue price fluctuations in tokens. The parameters are price, maximum lock up period (in months) and the amount held by largest token holder.

S_{\text{PMS}} = \frac{\text{price} \times \text{largest_holder}}{\text{LockupMetrics}}

2. Tokenomics Market Positioning Score

Discover a token's standing in the market and understand its unique value and competitive edge. The parameters are total market cap of the token, fully diluted valuation of the token and volume.

SMPS=market_cap+fdv+volumeS_{\text{MPS}} =\text{market\_cap} + \text{fdv} + \text{volume}

3. Tokenomics Token Circulation Score

A look into how tokens move—distribution, spending, and burning—to assess its economic vitality. The parameters are velocity, volume of the token, top 5 concentration of the token and number of token holders.

STCS=volume×velocitytoken_holders×top5concentrationS_{\text{TCS}} = \frac{\text{volume} \times \text{velocity}}{\text{}\text{token\_holders} \times \text{top5concentration}}

4. Tokenomics Value Stability Score

Unveiling mechanisms that grant tokens stability, ensuring consistent value amidst market changes. The parameters are daily price volatility of the token, daily correlation of the token price compared to Ethereum.

STVS=100×DailyVolatilityDailyCorrelationS_{\text{TVS}} = \frac{\text{100} \times \text{DailyVolatility}}{ \text{DailyCorrelation}}

5. Tokenomics Liquidity Risk Score

Highlighting the importance of liquidity, we'll analyze how easily a token can be traded without drastic price alterations. The parameters are total supply and volume of the token, number of token listings on various exchanges and token depth.

STLS=trading_volume×listingstotal_supply×depthS_{\text{TLS}} = \frac{\text{trading\_volume} \times \text{listings}}{\text{total\_supply} \times \text{depth}}

6. Tokenomics Token Distribution Score

Delving into how tokens are allocated and distributed, from initial offerings to long-term vesting, revealing its fairness and decentralization aspects. For the time being, we are using the ratio of the inital token distributed to community to calculate token distribution score. Higher the emphasis on the community, higher the distribution is.

STDS=TokensAllocatedcommunityS_{\text{TDS}} = TokensAllocated_{community}

How Social Score is Calculated ?

Our Social Score delves into the pulse of the community's interactions and sentiment towards the project. By leveraging advanced machine learning models, we analyze and interpret vast amounts of data scraped from various social platforms. We currently support Discord and Reddit. Our social score is continuously updated to reflect the social dynamics of the community, providing a qualitative measure of engagement, reputation, and overall social health. It's a tool that helps gauge the community's perception and influence, which are critical aspects of the project's success and longevity.

We use two different machine learning models: one for analyzing the sentiment and the other for analyzing the topic given a text. Given all content analyzed for a day, we compute the social score:

Score=(1+i=1nSentimentCoeffiTopicCoeffii=1nTopicCoeffi)/2Score = (1 + \frac{\sum_{i=1}^{n} SentimentCoeff_i * TopicCoeff_i}{\sum_{i=1}^{n} TopicCoeff_i}) / 2

where SentimentCoeff is the sentiment value we assign for labels "Positive, Negative, and Neutral" and TopicCoeff is the weight value we assign for a list of content topics such as "Scams and Security", "Governance and Voting", and "Price and Market Discussions", etc.

Last updated