Quantum Audit Logo

Is Virtuals Protocol Safe?

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

Is this your token? Publish your own audit on this page →

Virtuals Protocol VIRTUAL
0x44ff…bf73
Ethereum Not verifiedLast checked 3d ago 1 audit on record
Executive SummaryAI Copilot

The VirtualToken contract is an ERC-20 token implementation that heavily leverages OpenZeppelin's secure and battle-tested libraries. However, it introduces severe access control restrictions by applying the `onlyOwner` modifier to nearly all core ERC-20 functions, including transfers, minting, burning, and allowance management. This design choice results in an extremely centralized token where only the contract owner can initiate or facilitate any token movement, fundamentally deviating from the expected behavior of a standard ERC-20 token and introducing critical single points of failure.

1 Critical1 High1 Medium1 Low
Volume 24h
$10.9K
Liquidity
$293.6K
Price
$0.6976
Token Age
1y
Top 10 Holders
90.6%

Security Findings

Critical

Extreme Centralization of Token Operations

C-01The `VirtualToken` contract overrides several core ERC-20 functions (`_update`, `_mint`, `_burn`, `_approve`, `_spendAllowance`, `_increaseAllowance`, `_decreaseAllowance`, `_permit`) with the `onlyOwner` modifier. This design choice means that only the contract owner can initiate or facilitate any token transfer, minting, burning, or allowance management. Consequently, regular users cannot transfer their own tokens, approve spending for others, or utilize permit functionality, rendering the token non-transferable and completely controlled by a single address.
IssueThe `VirtualToken` contract overrides several core ERC-20 functions (`_update`, `_mint`, `_burn`, `_approve`, `_spendAllowance`, `_increaseAllowance`, `_decreaseAllowance`, `_permit`) with the `onlyOwner` modifier. This design choice means that only the contract owner can initiate or facilitate any token transfer, minting, burning, or allowance management. Consequently, regular users cannot transfer their own tokens, approve spending for others, or utilize permit functionality, rendering the token non-transferable and completely controlled by a single address.
FixUnless this extreme centralization is an explicit and fully understood design requirement, remove the `onlyOwner` modifier from functions that are intended for general user interaction, particularly `_update`, `_approve`, and `_permit`. If centralization is intended, clearly document this behavior and consider implementing a robust multi-signature wallet or a time-locked contract for ownership to distribute control and enhance security.
StatusUnresolved
High

Single Point of Failure and Key Compromise Risk

H-01Due to the extreme centralization (C-01), the contract owner's private key represents a critical single point of failure. If this key is compromised, an attacker would gain absolute control over all token operations, including the ability to arbitrarily mint new tokens, burn existing ones, and transfer any token balance, leading to a complete loss of funds and trust in the protocol.
IssueDue to the extreme centralization (C-01), the contract owner's private key represents a critical single point of failure. If this key is compromised, an attacker would gain absolute control over all token operations, including the ability to arbitrarily mint new tokens, burn existing ones, and transfer any token balance, leading to a complete loss of funds and trust in the protocol.
FixImplement a robust access control mechanism such as a multi-signature wallet (e.g., Gnosis Safe) for the contract owner address. This would require multiple approvals for critical operations, significantly reducing the risk associated with a single key compromise. Additionally, consider implementing a timelock for sensitive owner-only operations to provide a window for intervention.
StatusUnresolved
Medium

Misleading ERC-20 Standard Compliance

M-01While the `VirtualToken` contract inherits from OpenZeppelin's `ERC20` and `ERC20Permit` standards, its extensive use of `onlyOwner` modifiers on core functionalities fundamentally deviates from the expected behavior and utility of a standard ERC-20 token. Users and integrating protocols might expect free transferability and decentralized allowance management, which this token does not provide. This discrepancy can lead to confusion, integration issues, and a lack of trust.
IssueWhile the `VirtualToken` contract inherits from OpenZeppelin's `ERC20` and `ERC20Permit` standards, its extensive use of `onlyOwner` modifiers on core functionalities fundamentally deviates from the expected behavior and utility of a standard ERC-20 token. Users and integrating protocols might expect free transferability and decentralized allowance management, which this token does not provide. This discrepancy can lead to confusion, integration issues, and a lack of trust.
FixClearly and prominently communicate the highly centralized nature and restricted functionality of this token to all potential users, investors, and integrating platforms. If the intent is to be a standard ERC-20, the access control restrictions should be removed. If it's a specialized token, consider renaming it or adding specific documentation to avoid misrepresentation.
StatusUnresolved
Low

Irreversible Loss of Functionality via Renounce Ownership

L-01The `Ownable` contract includes a `renounceOwnership()` function. If the current owner calls this function, the contract will be left without an owner. Given that almost all critical token operations are restricted by `onlyOwner`, renouncing ownership would permanently disable all token management functionalities, including transfers, minting, and burning, effectively bricking the token and making all existing tokens untransferable.
IssueThe `Ownable` contract includes a `renounceOwnership()` function. If the current owner calls this function, the contract will be left without an owner. Given that almost all critical token operations are restricted by `onlyOwner`, renouncing ownership would permanently disable all token management functionalities, including transfers, minting, and burning, effectively bricking the token and making all existing tokens untransferable.
FixConsider removing the `renounceOwnership` function if there is no clear use case for it, or implement a mechanism that allows for a new owner to be set before ownership can be renounced, or a recovery mechanism. If `renounceOwnership` is kept, ensure its implications are fully understood and documented, and consider adding a time-lock or multi-signature requirement for this specific action.
StatusUnresolved

Category Ratings

TechnicalMedium5/10

The contract utilizes well-audited OpenZeppelin libraries for its ERC-20, Ownable, and ERC20Permit implementations, which is a significant strength (7.2 Code Security). This provides robust protection against common vulnerabilities like reentrancy and integer overflows. However, the custom overrides introduce severe access control flaws (7.3 Access Control) by restricting almost all token operations, including transfers, minting, and burning, to the contract owner. This design choice fundamentally alters the expected behavior of an ERC-20 token, making it non-transferable by regular users.

GovernanceMedium4/10

The economic model of the VirtualToken is critically centralized (7.4 Economic). The contract owner holds absolute control over all token operations, including minting, burning, and all transfers, effectively making the token non-transferable by users. This creates a single point of failure (7.5 Governance) where the compromise of the owner's private key would lead to complete loss of control over the entire token supply and its functionality. The lack of user autonomy significantly diminishes the token's utility and trust.

UpgradesLow7/10

The VirtualToken contract is not implemented as an upgradeable proxy (7.7 Upgrades). This design choice inherently avoids the specific risks associated with upgrade mechanisms, such as proxy initialization issues or logic errors during upgrades. However, it also means that the contract's logic cannot be modified or extended after deployment, requiring a complete redeployment for any future changes or bug fixes.

Security Checklist

Contract VerifiedPass
Ownership RenouncedPass
No Mint FunctionFail
Liquidity LockedFail
Not a ProxyPass

Holder Composition

6.8% in wallets83.8% in contracts
Effective Concentration40.3%

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.

Liquidity Depth

The risk score reads depth across every pair. The volume figure and the volume-to-liquidity ratio elsewhere on this page describe only the pair this audit analysed, so the two are not directly comparable.

LP Distribution

Top-1 Unlocked Holder95.3%
Top-3 Unlocked97.6%

Key Addresses

Deployer
0x97cf…90a3
Unlocked LP Held By
0xf1c4…71c80x8054…0a820x497c…eab20x5a1f…b1c40xd884…5cd00x6e67…b6390x752d…4bdf0xf2aa…b67e0xc94f…058e0x806e…b6f9

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

What Raised This Score

  • Mintable supply, but capped at 0.0%/year
  • Top-10 concentration > 30% (90.6% total → 40.3% effective; 6.8% in EOAs, 83.8% in contracts — moderate)
  • Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
  • LP top1 unlocked holder = 95.3% (independent LP — depth risk, pool = 52% of DEX liquidity)
  • LP top3 unlocked holders = 97.6% (independent LP — depth risk, pool = 52% of DEX liquidity)
  • 1 Critical finding(s) from audit
  • 1 High finding(s) from audit
  • 1 Medium finding(s) from audit
  • 1 Low 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

Related Audits

Derive (DRV)High RiskLido DAO (LDO)High RiskEthena (ENA)High RiskUniswap (UNI)High RiskEigenCloud (prev. EigenLayer) (EIGEN)High RiskRelicsHigh Risk

Would You Like a More Detailed Audit of Virtuals Protocol?

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

Get Detailed Audit