Quantum Audit Logo

Is NVIDIA Corp Safe?

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

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

NVIDIA Corp NVDAB
0x02fc…7436
BNB Chain Not verifiedLast checked 3d ago 1 audit on record
How is this score calculated? → Critical Risk
Executive SummaryAI Copilot

The SecuritiesToken contract serves as an upgradeable ERC-20 token implementation, incorporating access control, compliance, pausing, and a scaled UI amount mechanism. It leverages OpenZeppelin's upgradeable contracts and follows standard patterns for proxy implementations. The contract exhibits a high degree of centralization, with the DEFAULT_ADMIN_ROLE possessing extensive control over critical parameters and operations. External dependencies for compliance and pausing introduce additional risk vectors.

1 High2 Medium1 Low1 Informational
Volume 24h
$6.86M
Liquidity
$1.67M
Price
$229.6900
Token Age
13d
Top 10 Holders
76.2%

Security Findings

High

Centralized Control and Single Point of Failure

H-01The `DEFAULT_ADMIN_ROLE` possesses extensive control over critical contract parameters and operations. This role can grant/revoke any role (including itself and `ISSUER_ROLE`), change token metadata (name, symbol, identifier), enable/disable minting/burning, set compliance and pause manager contracts, and authorize UI multiplier updates. If this role's private key is compromised, the entire system is at risk of malicious manipulation or shutdown (7.3, 7.5).
IssueThe `DEFAULT_ADMIN_ROLE` possesses extensive control over critical contract parameters and operations. This role can grant/revoke any role (including itself and `ISSUER_ROLE`), change token metadata (name, symbol, identifier), enable/disable minting/burning, set compliance and pause manager contracts, and authorize UI multiplier updates. If this role's private key is compromised, the entire system is at risk of malicious manipulation or shutdown (7.3, 7.5).
FixImplement a robust multi-signature wallet or a decentralized autonomous organization (DAO) for the `DEFAULT_ADMIN_ROLE`. This distributes control and requires multiple approvals for critical operations, significantly reducing the risk associated with a single point of failure.
StatusUnresolved
Medium

Critical External Dependencies

M-01The contract relies on external `compliance_` and `pauseManager_` contracts, which are set by the `DEFAULT_ADMIN_ROLE`. The security and correct functioning of these external contracts are paramount. A malicious or buggy external contract could lead to a denial of service for token transfers, incorrect compliance checks, or other unintended behavior, impacting the entire token ecosystem (7.6).
IssueThe contract relies on external `compliance_` and `pauseManager_` contracts, which are set by the `DEFAULT_ADMIN_ROLE`. The security and correct functioning of these external contracts are paramount. A malicious or buggy external contract could lead to a denial of service for token transfers, incorrect compliance checks, or other unintended behavior, impacting the entire token ecosystem (7.6).
FixThoroughly audit the `ComplianceClientUpgradeable` and `PauseManagerClientUpgradeable` contracts to ensure their security and intended behavior. Consider implementing circuit breakers or emergency mechanisms to disconnect from a compromised external dependency if possible, or ensure these external contracts are immutable after deployment.
StatusUnresolved
Medium

Lack of Zero Address Check for Admin in Initialization

M-02The `initialize` function grants the `DEFAULT_ADMIN_ROLE` to the `admin_` address without checking if `admin_` is `address(0)`. If `admin_` is accidentally set to `address(0)` during deployment, the `DEFAULT_ADMIN_ROLE` would be unassignable, potentially rendering the contract unmanageable and locking critical administrative functions (7.3, 7.8).
IssueThe `initialize` function grants the `DEFAULT_ADMIN_ROLE` to the `admin_` address without checking if `admin_` is `address(0)`. If `admin_` is accidentally set to `address(0)` during deployment, the `DEFAULT_ADMIN_ROLE` would be unassignable, potentially rendering the contract unmanageable and locking critical administrative functions (7.3, 7.8).
FixAdd a `require(admin_ != address(0), "Zero address for admin")` check in the `initialize` function before granting the `DEFAULT_ADMIN_ROLE` to prevent critical misconfiguration.
StatusUnresolved
Low

Broad Multiplier Range and Potential for Misinterpretation

L-01The `_validateMultiplier` function allows a very wide range for the UI multiplier (1e-9x to 1e9x). While bounds are checked, such a broad range, controllable by `DEFAULT_ADMIN_ROLE` or `ISSUER_ROLE`, could significantly alter the perceived value of the token. This might confuse users or enable manipulative behavior if not managed transparently and communicated clearly (7.4).
IssueThe `_validateMultiplier` function allows a very wide range for the UI multiplier (1e-9x to 1e9x). While bounds are checked, such a broad range, controllable by `DEFAULT_ADMIN_ROLE` or `ISSUER_ROLE`, could significantly alter the perceived value of the token. This might confuse users or enable manipulative behavior if not managed transparently and communicated clearly (7.4).
FixDocument the intended use and implications of the multiplier range. Consider if such a broad range is truly necessary for the project's economic model or if tighter, more specific bounds would be appropriate. Ensure clear and proactive communication to users about any changes to the UI multiplier.
StatusUnresolved
Info

`_checkAdminOrIssuer` Visibility

I-01The `_checkAdminOrIssuer` function is declared as `private view`. While it is correctly used by the `onlyAdminOrIssuer` modifier, making it `internal view` would allow other internal functions within the contract to directly call it if needed, without changing its security implications. This offers slightly more flexibility for future internal logic (7.2).
IssueThe `_checkAdminOrIssuer` function is declared as `private view`. While it is correctly used by the `onlyAdminOrIssuer` modifier, making it `internal view` would allow other internal functions within the contract to directly call it if needed, without changing its security implications. This offers slightly more flexibility for future internal logic (7.2).
FixConsider changing the visibility of `_checkAdminOrIssuer` from `private view` to `internal view` for increased internal reusability, if deemed beneficial for future development.
StatusUnresolved

Category Ratings

TechnicalMedium6/10

The SecuritiesToken contract is built upon OpenZeppelin's upgradeable standards, ensuring robust ERC-20 functionality and upgrade safety (7.2, 7.7). It implements granular access control with DEFAULT_ADMIN_ROLE and ISSUER_ROLE for specific operations like minting and burning (7.3). However, the reliance on external ComplianceClientUpgradeable and PauseManagerClientUpgradeable contracts introduces critical external dependencies, whose security and availability are paramount (7.6). Additionally, a missing zero-address check for the initial admin in the initialize function could lead to unmanageable contract state (7.8).

GovernanceHigh2/10

The contract's governance model is highly centralized, with the DEFAULT_ADMIN_ROLE holding extensive power over token parameters, roles, and external integrations (7.5). This role can modify the token's name, symbol, identifier, enable/disable mint/burn, and set critical external contracts. The ISSUER_ROLE also has significant power to mint and burn tokens, and authorize UI multiplier changes, which directly impacts the token's economic representation (7.4). While this centralization allows for efficient management, it presents a single point of failure if the DEFAULT_ADMIN_ROLE is compromised.

UpgradesHigh1/10

The SecuritiesToken contract is designed as an upgradeable implementation for a BeaconProxy, correctly utilizing OpenZeppelin's initializer pattern and __gap storage to prevent storage collisions during upgrades (7.7). The _disableInitializers() call in the constructor and onlyInitializing modifiers ensure proper initialization flow. The use of a BeaconProxy allows for efficient upgrades across multiple instances of the token. However, the upgrade process itself, managed by the DEFAULT_ADMIN_ROLE, remains a critical centralized control point.

Security Checklist

Contract VerifiedPass
Ownership Renounced?
No Mint FunctionFail
Liquidity LockedFail
Not a ProxyFail

Proxy Upgrade Controls

Proxy TypeBeacon
ImplementationVerified source

Holder Composition

63.3% in wallets12.9% in contracts
Effective Concentration68.5%

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

Show 3 more pairsShow less

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 Holder26.0%
Top-3 Unlocked56.4%

Key Addresses

Deployer
0x64fd…8d53
Unlocked LP Held By
0xf949…02980x4783…e70e0x57dc…53410x97d2…f1820x3723…9fbe0x2339…26200x4af1…ce510x409d…3c5c0x3d16…e5710x4dc9…7d16

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

What Raised This Score

  • Ownership status UNKNOWN (owner could not be resolved)
  • Mintable supply — no cap found, dilution unbounded
  • Proxy contract (upgradeable — admin can replace logic)
  • Complex proxy pattern (BEACON)
  • Top-10 concentration > 50% (76.2% total → 68.5% effective; 63.3% in EOAs, 12.9% in contracts — heavy)
  • Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
  • Token age < 30 days (still settling)
  • 1 High finding(s) from audit
  • 2 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

Giggle Tom (TOM)Critical RiskUnited Stables (U)Critical RiskCATCritical RiskMITOCritical RiskBased Token (BASED)Critical RiskDexeCritical Risk

Would You Like a More Detailed Audit of NVIDIA Corp?

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

Get Detailed Audit