Quantum Audit Logo
Launch App

On-chain security analysis — is it a scam or legit?

Is Curve DAO Safe?

CRVEthereum
Not verified This record has not gone through deep verification and is not being monitored. The score is a dated snapshot — the token’s risk can change at any time.Own this token? Put it under verification →
Last checked Sep 4, 2026 · 1 audit on record
SummaryAI Copilot

This audit covers the Curve DAO Token (CRV) contract, an ERC-20 token with a custom piecewise-linear mining supply mechanism implemented in Vyper.

Read the full analysis
What raised the score
  • Ownership status UNKNOWN
  • Mintable supply — no cap found, dilution unbounded
  • Top-10 concentration > 30%
  • Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
  • LP top1 unlocked holder = 65.7%
  • LP top3 unlocked holders = 99.2%
  • 1 High finding(s) from audit
  • 1 Medium finding(s) from audit
Exact factors
  • Ownership status UNKNOWN (owner could not be resolved)
  • Mintable supply — no cap found, dilution unbounded
  • Top-10 concentration > 30% (56.6% total → 35.5% effective; 21.4% in EOAs, 35.2% in contracts — moderate)
  • Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
  • LP top1 unlocked holder = 65.7% (independent LP — depth risk, pool = 29% of DEX liquidity)
  • LP top3 unlocked holders = 99.2% (independent LP — depth risk, pool = 29% of DEX liquidity)
  • 1 High finding(s) from audit
  • 1 Medium finding(s) from audit

Each factor is an on-chain fact recorded at the time of this analysis. The score is computed from them by a deterministic function, so the same contract returns the same score for anyone who runs the audit. How scores are computed

Security Checklist

as of audit · Sep 42 of 5 checks passed
Contract verifiedVerified
OwnershipUnknown
MintMintable
Liquidity lockNot locked
UpgradeabilityFixed code

Holders

as of audit · Sep 4, 2026
35.2%Contracts21.4%Wallets43.4%Everyone else
35.2%Contracts21.4%Wallets43.4%Everyone else
ContractsWalletsEveryone elseBubble area = share of supply
56.6%of supply sits with the top 10 holders
  • Contractstreasury, vesting, bridge, staking35.2%
  • Walletsanonymous holders, free to sell21.4%
  • Everyone elsethe rest of the supply43.4%
Effective concentrationwhat the score reads35.5%
How holder types affect the score

Share held by contracts — treasury, vesting, bridge or staking — is discounted against share held by wallets when the score is computed: a contract cannot decide to sell the way an anonymous holder can, though it can still be drained or voted to sell. Effective concentration is the figure the risk score is actually calculated from.

Holder balances as recorded by the audit of Sep 4, 2026

Liquidity

as of audit · Sep 4$6.46M across 24 pairs
LP tokensNot locked

The LP tokens of the analysed pool are not locked or burned, so whoever holds them can withdraw that liquidity.

Analysed pool$1.90MShare of depth29.4%
Top-1 Unlocked Holder65.7%
Top-3 Unlocked99.2%
Unlocked LP held by
0x6df1…ac720xf4df…ffe20xc20e…c12b0xaabc…d1120x359e…16b20x9b61…28080xb1eb…1a600xe584…39c70xac42…9ffc0xc5bb…45cd

No privileged address appears among these holders: the unlocked liquidity sits with independent providers, not with the deployer.

Security Findings

1 High1 Medium3 Info
High

Truncated Source Code for transferFrom Function

The provided source code for the transferFrom function is incomplete (self.ba...). This prevents a full and accurate security assessment of this critical ERC-20 functionality, which is essential for token transfers initiated by approved third parties. Without the complete code, potential vulnerabilities such as incorrect allowance checks, reentrancy, or arithmetic errors cannot be ruled out.H-01

Issue

The provided source code for the transferFrom function is incomplete (self.ba...). This prevents a full and accurate security assessment of this critical ERC-20 functionality, which is essential for token transfers initiated by approved third parties. Without the complete code, potential vulnerabilities such as incorrect allowance checks, reentrancy, or arithmetic errors cannot be ruled out.

Fix

Provide the complete and verified source code for all functions within the contract to enable a thorough security audit. Ensure that the transferFrom implementation correctly handles allowances, balances, and prevents reentrancy or integer issues.

Status

Unresolved

Medium

Centralized Control by Admin and Minter Roles

The admin role has significant power, including the ability to set the minter address (once) and transfer the admin role itself via set_admin. The minter role, once set, controls the actual issuance of new tokens based on the contract's inflation schedule. This centralization of control introduces a single point of failure and potential for malicious or compromised actors to manipulate token supply or administrative privileges (7.3 Access Control).M-01

Issue

The admin role has significant power, including the ability to set the minter address (once) and transfer the admin role itself via set_admin. The minter role, once set, controls the actual issuance of new tokens based on the contract's inflation schedule. This centralization of control introduces a single point of failure and potential for malicious or compromised actors to manipulate token supply or administrative privileges (7.3 Access Control).

Fix

Consider implementing multi-signature wallets for the admin and minter roles to distribute control and require multiple approvals for critical operations. Alternatively, implement time-locks for sensitive administrative actions to provide a window for community review and intervention.

Status

Unresolved

Info

Precision Loss in Rate Calculation Due to Integer Division

The _update_mining_parameters and mintable_in_timeframe functions perform rate calculations using integer division (_rate = _rate * RATE_DENOMINATOR / RATE_REDUCTION_COEFFICIENT). While Vyper's integer division truncates, the contract's comment double-division with rounding made rate a bit less => good indicates this is an intentional design choice to bias the rate downwards, which is generally safer than upwards. However, it's important to acknowledge that this introduces minor precision loss over many epochs (7.4 Economic).I-01

Issue

The _update_mining_parameters and mintable_in_timeframe functions perform rate calculations using integer division (_rate = _rate * RATE_DENOMINATOR / RATE_REDUCTION_COEFFICIENT). While Vyper's integer division truncates, the contract's comment double-division with rounding made rate a bit less => good indicates this is an intentional design choice to bias the rate downwards, which is generally safer than upwards. However, it's important to acknowledge that this introduces minor precision loss over many epochs (7.4 Economic).

Fix

No direct action is required as this appears to be an intentional design choice. Document this behavior clearly in external specifications and ensure its implications are understood by stakeholders. If higher precision is ever required, consider using fixed-point arithmetic libraries or alternative calculation methods.

Status

Unresolved

Info

Hardcoded Loop Limit in mintable_in_timeframe

The mintable_in_timeframe function uses a hardcoded loop limit of for i in range(999) to calculate future mintable supply. Given that RATE_REDUCTION_TIME is one year, this limits the calculation to approximately 999 years. While this is practically sufficient for the expected lifespan of the protocol, it is a fixed constraint that could theoretically be reached under extreme, long-term scenarios (7.1 Architecture).I-02

Issue

The mintable_in_timeframe function uses a hardcoded loop limit of for i in range(999) to calculate future mintable supply. Given that RATE_REDUCTION_TIME is one year, this limits the calculation to approximately 999 years. While this is practically sufficient for the expected lifespan of the protocol, it is a fixed constraint that could theoretically be reached under extreme, long-term scenarios (7.1 Architecture).

Fix

No immediate action is required given the practical implications. For future designs, if an indefinite or extremely long-term calculation is needed, consider an iterative approach that can be called multiple times or a more gas-efficient mathematical series calculation if possible.

Status

Unresolved

Info

Slight Supply Increase from Late update_mining_parameters Calls

The update_mining_parameters function can be called by anyone, but if it's called late in an epoch (i.e., after the epoch boundary but before the next call), the _available_supply calculation will result in a slightly higher start_epoch_supply for the subsequent epoch. The contract comment Total supply becomes slightly larger if this function is called late acknowledges this design trade-off, which prioritizes decentralization of calls over perfect precision at epoch boundaries (7.4 Economic).I-03

Issue

The update_mining_parameters function can be called by anyone, but if it's called late in an epoch (i.e., after the epoch boundary but before the next call), the _available_supply calculation will result in a slightly higher start_epoch_supply for the subsequent epoch. The contract comment Total supply becomes slightly larger if this function is called late acknowledges this design trade-off, which prioritizes decentralization of calls over perfect precision at epoch boundaries (7.4 Economic).

Fix

No direct action is required as this is a known and accepted design trade-off. Ensure this behavior is clearly communicated to users and stakeholders. The impact is likely negligible given the scale of the token supply and the frequency of calls.

Status

Unresolved

Analysis

AI Copilotas of audit · Sep 4
Executive SummaryWhat the contract is and what the review found

This audit covers the Curve DAO Token (CRV) contract, an ERC-20 token with a custom piecewise-linear mining supply mechanism implemented in Vyper. The contract manages token transfers, approvals, and a defined inflation schedule. Due to the provided source code being truncated, a full verification of the transferFrom function was not possible, which introduces a significant limitation to the technical assessment.

Technical7/10Low risk

The contract demonstrates strong technical foundations, leveraging Vyper's safety features for secure arithmetic operations and preventing common Solidity pitfalls (7.2 Code Security). Core ERC-20 functions like transfer are implemented correctly, including checks for zero address transfers. A significant limitation is the truncated transferFrom function in the provided source, which prevents a full audit of this critical token transfer mechanism (7.2 Code Security). The inflation logic, while complex, is clearly defined and uses constants for parameters, reducing runtime errors (7.1 Architecture).

Governance1/10High risk

The contract's economic model is based on a transparent, piecewise-linear inflation schedule, designed to distribute tokens over time (7.4 Economic). The admin role has centralized control over setting the minter and transferring administrative privileges, which introduces a single point of control for critical token management functions (7.3 Access Control). While the minter can only be set once, its power over token supply is substantial. The mechanism for updating mining parameters is decentralized, allowing any user to trigger epoch updates, which slightly increases total supply if called late, a known design trade-off (7.4 Economic).

Upgrades3/10High risk

The contract is not designed with upgradeability in mind, as it is a standard implementation without a proxy pattern (7.7 Upgrades). This eliminates risks associated with upgrade mechanisms, such as proxy misconfigurations or malicious upgrade paths. Any changes to the core logic would require a new deployment and migration of assets, which is a significant undertaking.

Final RecommendationWhat to do about this score

Ensure that the full, verified source code for all deployed contracts is available for comprehensive security audits.

For contracts with centralized roles like admin and minter, implement robust multi-signature controls or time-locks to mitigate risks associated with a single point of failure. Regularly review the economic parameters and their long-term implications, especially for inflation models. While Vyper provides strong inherent security, continuous vigilance and adherence to best practices are crucial for maintaining contract integrity.

Contract & Record

1 audit on record
TypeToken
NetworkEthereum
Token age3y
Contract0xd533…cd52
Deployer0xc4ad…7be4
Badge for your website
Curve DAO security record badge

Free for any token on the record. It links to this page and always shows the current score and the date it was checked.

Audit History
  1. Aug 11, 202649Medium

Score changes are recorded as dated snapshots — history is append-only and cannot be edited.

Would You Like a More Detailed Audit of Curve DAO?

Our AI-powered scanner gives you a deeper, real-time smart contract analysis — free, with every scoring factor shown.

Get Detailed Audit Is this your token? Publish your own audit on this page