Quantum Audit Logo
Launch App

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

Is Curve.Fi USD Stablecoin Safe?

CRVUSDEthereum
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

The crvUSD Stablecoin contract is a Vyper-based ERC-20 token implementation, including EIP-2612 permit functionality and a centralized minter role.

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 = 96.6%
  • LP top3 unlocked holders = 100.0%
  • 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% (76.5% total → 30.6% effective; 0.0% in EOAs, 76.5% in contracts — moderate)
  • Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
  • LP top1 unlocked holder = 96.6% (independent LP — depth risk, pool = 42% of DEX liquidity)
  • LP top3 unlocked holders = 100.0% (independent LP — depth risk, pool = 42% of DEX liquidity)
  • 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
76.5%Contracts23.5%Everyone else
76.5%Contracts23.5%Everyone else
ContractsEveryone elseBubble area = share of supply
76.5%of supply sits with the top 10 holders
  • Contractstreasury, vesting, bridge, staking76.5%
  • Everyone elsethe rest of the supply23.5%
Effective concentrationwhat the score reads30.6%
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$126.71M across 13 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$53.04MShare of depth41.9%
Top-1 Unlocked Holder96.6%
Top-3 Unlocked100.0%
Unlocked LP held by
0x5c0e…cf9a0x7009…5c02

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

Security Findings

1 Medium2 Info
Medium

Centralized Minter Role

The minter address holds exclusive control over the mint function, allowing it to create an arbitrary amount of new tokens. Additionally, the minter can transfer this privilege to any other address via set_minter. While this is a common design for centralized stablecoins, it introduces a significant single point of failure. A compromise of the minter's private key would allow an attacker to inflate the token supply, leading to a loss of peg and severe economic consequences for the protocol and its users.M-01

Issue

The minter address holds exclusive control over the mint function, allowing it to create an arbitrary amount of new tokens. Additionally, the minter can transfer this privilege to any other address via set_minter. While this is a common design for centralized stablecoins, it introduces a significant single point of failure. A compromise of the minter's private key would allow an attacker to inflate the token supply, leading to a loss of peg and severe economic consequences for the protocol and its users.

Fix

Implement robust security measures for the minter address, such as a multi-signature wallet with a high threshold for transactions, or a time-locked governance mechanism. Establish clear operational procedures for managing the minter key and any changes to the minter address. Consider a mechanism for emergency pausing or rate-limiting minting if feasible within the protocol's design.

Status

Unresolved

Info

Standard ERC-20 approve Race Condition

The approve function, as per the ERC-20 standard, is susceptible to a known front-running or race condition attack. If a user increases an allowance from X to Y and a malicious spender observes this transaction, they can front-run it by spending the original X allowance, then allowing the user's approve(Y) transaction to confirm, and finally spending Y tokens. This results in the spender taking X + Y tokens instead of just Y (or X if the user intended to decrease). The contract's docstring for approve acknowledges this and recommends increaseAllowance and decreaseAllowance as safer alternatives.I-01

Issue

The approve function, as per the ERC-20 standard, is susceptible to a known front-running or race condition attack. If a user increases an allowance from X to Y and a malicious spender observes this transaction, they can front-run it by spending the original X allowance, then allowing the user's approve(Y) transaction to confirm, and finally spending Y tokens. This results in the spender taking X + Y tokens instead of just Y (or X if the user intended to decrease). The contract's docstring for approve acknowledges this and recommends increaseAllowance and decreaseAllowance as safer alternatives.

Fix

Educate users to primarily use increaseAllowance and decreaseAllowance instead of directly calling approve when changing an existing allowance. If approve must be used to change an allowance, it is best practice to first set the allowance to zero before setting it to a new non-zero value.

Status

Unresolved

Info

Immutability of EIP-712 salt from block.prevhash

The EIP-712 domain separator salt is initialized in the constructor using block.prevhash and then made immutable. While block.prevhash provides a unique value for the deployment, ensuring domain separation, it is not a cryptographically strong source of randomness. For the specific purpose of an EIP-712 salt, which primarily needs to be unique per deployment and consistent, this approach is generally acceptable and does not pose a direct security vulnerability. The contract also correctly recalculates the domain separator if chain.id changes, enhancing fork safety.I-02

Issue

The EIP-712 domain separator salt is initialized in the constructor using block.prevhash and then made immutable. While block.prevhash provides a unique value for the deployment, ensuring domain separation, it is not a cryptographically strong source of randomness. For the specific purpose of an EIP-712 salt, which primarily needs to be unique per deployment and consistent, this approach is generally acceptable and does not pose a direct security vulnerability. The contract also correctly recalculates the domain separator if chain.id changes, enhancing fork safety.

Fix

No direct action is required as the current implementation is acceptable for its intended purpose. For future contracts requiring stronger randomness or unpredictability for initialization parameters, consider using a Verifiable Random Function (VRF) or a more robust source of entropy if available and appropriate for the use case.

Status

Unresolved

Analysis

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

The crvUSD Stablecoin contract is a Vyper-based ERC-20 token implementation, including EIP-2612 permit functionality and a centralized minter role. The code demonstrates high quality, robust handling of integer arithmetic, and adherence to ERC standards. Key security features like replay protection for EIP-2612 and explicit overflow/underflow checks are correctly implemented. The primary risk identified is the centralized control over token minting, which is a design decision inherent to many stablecoins but represents a single point of failure.

Technical8/10Low risk

The contract exhibits strong technical security (7.2 Code Security). It correctly implements ERC-20 and EIP-2612 standards, including robust replay protection for permits and ERC-1271 support for contract accounts. All arithmetic operations are safeguarded against overflow and underflow, either by Vyper's default checks or explicit bounds checking in increaseAllowance and decreaseAllowance. The architecture (7.1 Architecture) is straightforward for a token contract, with internal functions for core logic and external wrappers. No reentrancy or other common EVM vulnerabilities were identified.

Governance2/10High risk

The economic model (7.4 Economic) centers around a stablecoin with a centralized minter role. This minter has the sole authority to mint new tokens and transfer the minter privilege (7.5 Governance). While this is a common design for certain stablecoins, it introduces a significant centralization risk. A compromise of the minter address would allow an attacker to mint an unlimited supply of tokens, severely impacting the stablecoin's peg and the protocol's integrity. There are no external dependencies (7.6 External) that introduce governance or economic risk.

Upgrades3/10High risk

This contract is not designed with an upgrade mechanism (7.7 Upgrades). It is deployed as a standalone, immutable contract. Therefore, there are no upgrade-related risks to assess. Any future changes would require a new deployment and migration.

Final RecommendationWhat to do about this score

Ensure the private key controlling the minter address is secured with the highest possible standards, ideally using a multi-signature wallet or a hardware security module.

Implement robust operational procedures (7.8 Operations) for managing this key and any set_minter operations. While the contract is technically sound, continuous monitoring of the minter address for unusual activity is recommended. Consider transparent reporting on minting activities to enhance trust and accountability.

Contract & Record

1 audit on record
TypeToken
NetworkEthereum
Token age3y
Contract0xf939…1b4e
Deployer0xbabe…9f67
Badge for your website
Curve.Fi USD Stablecoin 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. Sep 4, 202642Medium
  2. Aug 11, 202641Medium

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

Would You Like a More Detailed Audit of Curve.Fi USD Stablecoin?

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