Quantum Audit Logo

Is FOX Safe?

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

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

FOX FOX
0xc770…e52d
Ethereum Not verifiedLast checked 3d ago 1 audit on record
Executive SummaryAI Copilot

The FOX token contract implements an ERC20 standard with mintable and capped features, utilizing SafeMath for arithmetic safety and a MinterRole for access control. However, a critical design flaw renders the minting functionality permanently ineffective as the entire token supply is minted to the deployer during construction, immediately reaching the cap. This leads to extreme centralization of the token supply and makes the MinterRole redundant for its primary purpose. Additionally, the contract uses an outdated Solidity compiler version.

2 High1 Medium1 Low
Volume 24h
$10.8K
Liquidity
$1.33M
Price
$0.005092
Token Age
6y
Top 10 Holders
75.8%

Security Findings

High

Ineffective Minter Role and Cap Enforcement

H-01The `FOX` token's constructor mints the entire `_cap` (1,000,001,337 * 10^18) to the deployer (`msg.sender`). As a result, the `_totalSupply` immediately reaches the `_cap`. The `_mint` function in `ERC20Capped` includes a `require(totalSupply().add(value) <= _cap);` check. Since `_totalSupply` is already equal to `_cap`, any subsequent calls to the `mint` function (even by an authorized minter) will always fail, rendering the `MinterRole` and the `mint` functionality permanently ineffective for increasing token supply. This is a significant design flaw where a core feature is nullified by the initialization logic.
IssueThe `FOX` token's constructor mints the entire `_cap` (1,000,001,337 * 10^18) to the deployer (`msg.sender`). As a result, the `_totalSupply` immediately reaches the `_cap`. The `_mint` function in `ERC20Capped` includes a `require(totalSupply().add(value) <= _cap);` check. Since `_totalSupply` is already equal to `_cap`, any subsequent calls to the `mint` function (even by an authorized minter) will always fail, rendering the `MinterRole` and the `mint` functionality permanently ineffective for increasing token supply. This is a significant design flaw where a core feature is nullified by the initialization logic.
FixClarify the intended tokenomics. If the token is meant to have a fixed supply from the start, remove the `MinterRole` and `mint` functions entirely to avoid misleading functionality. If the token is intended to be mintable up to a cap, the initial mint in the constructor should be less than the `_cap`, allowing minters to mint additional tokens later.
StatusUnresolved
High

Centralized Token Supply

H-02The `FOX` token's constructor mints 100% of the total capped supply to the contract deployer (`msg.sender`). This results in extreme centralization of the token supply, as a single address controls the entire initial token distribution. This poses significant risks, including potential for market manipulation, lack of decentralization, and a single point of failure if the deployer's private key is compromised.
IssueThe `FOX` token's constructor mints 100% of the total capped supply to the contract deployer (`msg.sender`). This results in extreme centralization of the token supply, as a single address controls the entire initial token distribution. This poses significant risks, including potential for market manipulation, lack of decentralization, and a single point of failure if the deployer's private key is compromised.
FixImplement a more decentralized distribution strategy. Consider distributing tokens to multiple addresses, vesting contracts, or a community-controlled treasury rather than a single deployer address. This would reduce the risk associated with centralized control and promote a healthier token ecosystem.
StatusUnresolved
Medium

Outdated Solidity Compiler Version

M-01The contract uses `pragma solidity 0.5.4`. This compiler version is significantly outdated. While `SafeMath` is used to mitigate integer overflow/underflow, newer compiler versions (e.g., 0.8.x) offer built-in overflow/underflow checks, improved optimizations, and address various known compiler bugs and security enhancements that were not present in older versions.
IssueThe contract uses `pragma solidity 0.5.4`. This compiler version is significantly outdated. While `SafeMath` is used to mitigate integer overflow/underflow, newer compiler versions (e.g., 0.8.x) offer built-in overflow/underflow checks, improved optimizations, and address various known compiler bugs and security enhancements that were not present in older versions.
FixConsider upgrading the Solidity compiler version to a more recent and actively maintained release (e.g., 0.8.x). This would leverage modern compiler features, security improvements, and potentially more efficient bytecode. Ensure thorough testing if upgrading, as syntax and behavior might differ slightly.
StatusUnresolved
Low

Standard ERC20 `approve` Race Condition

L-01The `approve` function, as implemented in the ERC20 standard, is susceptible to a known race condition. If a user approves an allowance for a spender and then attempts to change that allowance to a new value, a malicious spender could front-run the transaction. The spender could spend the original allowance, and then the new approval would go through, allowing the spender to spend the newly approved amount as well, effectively spending more than intended. While `increaseAllowance` and `decreaseAllowance` functions are provided to mitigate this specific scenario, the `approve` function itself remains vulnerable.
IssueThe `approve` function, as implemented in the ERC20 standard, is susceptible to a known race condition. If a user approves an allowance for a spender and then attempts to change that allowance to a new value, a malicious spender could front-run the transaction. The spender could spend the original allowance, and then the new approval would go through, allowing the spender to spend the newly approved amount as well, effectively spending more than intended. While `increaseAllowance` and `decreaseAllowance` functions are provided to mitigate this specific scenario, the `approve` function itself remains vulnerable.
FixEducate users to use `increaseAllowance` and `decreaseAllowance` instead of directly calling `approve` when modifying an existing allowance. If `approve` must be used, advise users to first set the allowance to zero before setting a new non-zero value, although this still involves two transactions and potential front-running risks.
StatusUnresolved

Category Ratings

TechnicalMedium6/10

The contract utilizes the ERC20 standard, SafeMath for arithmetic safety, and a MinterRole for access control (7.2 Code Security). However, a significant design flaw exists where the entire token cap is minted to the deployer in the constructor, immediately disabling any further minting functionality (7.1 Architecture). This renders the MinterRole and its associated functions ineffective for their intended purpose. The contract also uses an outdated Solidity compiler version (7.2 Code Security). Standard ERC20 `approve` race conditions are present, though `increaseAllowance` and `decreaseAllowance` mitigate some risks (7.2 Code Security).

GovernanceHigh1/10

The economic model of the FOX token presents a high centralization risk (7.4 Economic). The entire token supply is minted to the contract deployer during construction, granting a single entity complete control over the initial distribution and potential market manipulation. While a MinterRole is defined, its functionality for increasing token supply is nullified by the initial minting, making any governance over minting irrelevant (7.5 Governance). There are no other explicit governance mechanisms or economic incentives beyond standard ERC20 transfers.

UpgradesMedium5/10

The FOX token contract is not designed with upgradeability in mind (7.7 Upgrades). It is a standard, non-proxy implementation, meaning its logic cannot be altered after deployment. This eliminates risks associated with upgrade mechanisms but also means any discovered vulnerabilities or desired feature changes would require a new contract deployment and token migration.

Security Checklist

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

Holder Composition

28.9% in wallets46.8% in contracts
Effective Concentration47.7%

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 Holder55.2%
Top-3 Unlocked88.3%

Key Addresses

Deployer
0x7021…bbad
Unlocked LP Held By
0x90a4…51be0xe7e1…27440xdd80…9e720xc54b…42a00xc14e…e5550x212e…932b0x75d7…9faa0x662d…8ac30x24fd…7fa00x7217…d3e5

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, but capped at 0.0%/year
  • Top-10 concentration > 30% (75.8% total → 47.7% effective; 28.9% in EOAs, 46.8% in contracts — moderate)
  • Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
  • LP top1 unlocked holder = 55.2% (independent LP — depth risk)
  • LP top3 unlocked holders = 88.3% (independent LP — depth risk)
  • 2 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

StorjToken (STORJ)High RiskMorphoHigh RiskUniswap (UNI)High RiskBeamHigh RiskSuperVerse (SUPER)High RiskRelicsHigh Risk

Would You Like a More Detailed Audit of FOX?

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

Get Detailed Audit