Quantum Audit Logo
Launch App

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

Is FunFair Safe?

FUNEthereum
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 Oct 30, 2026 · 1 audit on record
SummaryAI Copilot

The protocol utilizes a modular architecture separating the Token interface, Controller logic, and Ledger state.

Read the full analysis
What raised the score
  • Owner can change any holder's balance
  • Liquidity not locked
  • Top-10 concentration > 70%
Exact factors
  • Owner can change any holder's balance (seize or credit tokens)
  • Liquidity NOT locked (100% of the pool; this pool is 56% of DEX liquidity) — held by independent providers — market-depth risk
  • Top-10 concentration > 70% (82.5% total → 82.5% effective; 82.5% in EOAs, 0.0% in contracts)

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 · Oct 305 of 7 checks passed
Contract verifiedVerified
OwnershipRetained
MintNo mint
Liquidity lockNot locked
UpgradeabilityFixed code
HoneypotNone found
Buy / sell tax0% / 0%

Holders

as of audit · Oct 30, 202673,228 holders
82.5%Wallets17.5%Everyone else
82.5%Wallets17.5%Everyone else
WalletsEveryone elseBubble area = share of supply
82.5%of supply sits with the top 10 holders
  • Walletsanonymous holders, free to sell82.5%
  • Everyone else73,218 holders17.5%
Effective concentrationwhat the score reads82.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 Oct 30, 2026

Liquidity

as of audit · Oct 30$267.8K across 14 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$151.1KShare of depth56.4%
Top-1 Unlocked Holder46.4%
Top-3 Unlocked82.2%
Unlocked LP held by
0x78c9…c9490x2ad1…8bc90x6301…dbc20x43f9…40810xb4ee…a1dd0xe4e7…c2e40xf385…5f850xf137…29870x9cab…88830xb1b6…dfc8

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

Security Findings

1 High7 Medium4 Info
High

What the token's controller can do

The contract lets its controller — a contract — change any holder's balance (seize or credit tokens). Nothing independent vouches for whoever holds them, so each is a live risk to holders.QA-POWERS

Issue

The contract lets its controller — a contract — change any holder's balance (seize or credit tokens). Nothing independent vouches for whoever holds them, so each is a live risk to holders.

Fix

Check who holds these powers and whether a timelock or multisig stands between them and holders.

Status

Acknowledged

Medium

Missing Input Validation

Not confirmed by static analysis (the model's own reading of the source). Several functions do not validate that addresses are non-zero, which could lead to tokens being sent to the null address.M-01

Issue

Not confirmed by static analysis (the model's own reading of the source). Several functions do not validate that addresses are non-zero, which could lead to tokens being sent to the null address.

Fix

Add 'require(_to != address(0))' checks.

Status

Unresolved

Medium

Insecure Ownership Transfer

Not confirmed by static analysis (the model's own reading of the source). The ownership transfer process is a two-step process but lacks a 'cancel' function if the wrong address is set.M-02

Issue

Not confirmed by static analysis (the model's own reading of the source). The ownership transfer process is a two-step process but lacks a 'cancel' function if the wrong address is set.

Fix

Add a function to reset the 'newOwner' variable.

Status

Unresolved

Medium

Use of Deprecated 'throw' Keyword

Not confirmed by static analysis (the model's own reading of the source). The contract uses the 'throw' keyword, which is deprecated and consumes all remaining gas in a transaction, making it inefficient and potentially problematic for gas estimation.M-03

Issue

Not confirmed by static analysis (the model's own reading of the source). The contract uses the 'throw' keyword, which is deprecated and consumes all remaining gas in a transaction, making it inefficient and potentially problematic for gas estimation.

Fix

Replace all instances of 'throw' with 'revert()' or 'require()'.

Status

Unresolved

Medium

Centralized Administrative Control

Not confirmed by static analysis (the model's own reading of the source). The 'owner' has absolute power to change the controller, stop minting, and lock transfers, creating a significant trust risk for token holders.M-04

Issue

Not confirmed by static analysis (the model's own reading of the source). The 'owner' has absolute power to change the controller, stop minting, and lock transfers, creating a significant trust risk for token holders.

Fix

Implement a DAO or multi-sig governance structure for all administrative functions.

Status

Unresolved

Medium

Lack of Reentrancy Protection

Not confirmed by static analysis (the model's own reading of the source). The transfer functions do not implement reentrancy guards, which could be exploited if the controller logic interacts with external contracts.M-05

Issue

Not confirmed by static analysis (the model's own reading of the source). The transfer functions do not implement reentrancy guards, which could be exploited if the controller logic interacts with external contracts.

Fix

Implement OpenZeppelin's ReentrancyGuard on all state-changing functions.

Status

Unresolved

Medium

Unsafe Arithmetic in Ledger

Not confirmed by static analysis (the model's own reading of the source). The 'mint' function uses standard addition instead of the custom 'safeAdd' function, potentially leading to integer overflows.M-06

Issue

Not confirmed by static analysis (the model's own reading of the source). The 'mint' function uses standard addition instead of the custom 'safeAdd' function, potentially leading to integer overflows.

Fix

Use 'safeAdd' for all balance and supply updates.

Status

Unresolved

Medium

Liquidity not locked

0.0% of the pool's LP is burned or time-locked. 100.0% is held, unlocked, by 9 address(es) other than the owner/deployer. No single one holds a majority: their exits thin the market rather than hand anyone the pool. Some pools are concentrated-liquidity (V3/V4) positions; shares above are by position as GoPlus reports them. This assessment covers the main pool, which holds 56% of the token's DEX liquidity; the other pools were not assessed.QA-LIQUIDITY

Issue

0.0% of the pool's LP is burned or time-locked. 100.0% is held, unlocked, by 9 address(es) other than the owner/deployer. No single one holds a majority: their exits thin the market rather than hand anyone the pool. Some pools are concentrated-liquidity (V3/V4) positions; shares above are by position as GoPlus reports them. This assessment covers the main pool, which holds 56% of the token's DEX liquidity; the other pools were not assessed.

Fix

Check the lock's end date and beneficiary on the locker's own page before relying on it.

Status

Acknowledged

Info

Who holds the supply

The ten largest holders own 82.5% of supply. What remains: 82.5% in wallets, 0.0% in other contracts. 73,228 holders in total.QA-HOLDERS

Issue

The ten largest holders own 82.5% of supply. What remains: 82.5% in wallets, 0.0% in other contracts. 73,228 holders in total.

Fix

Watch the largest wallets that are not exchanges, pools or locks — those are the ones that can move the price.

Status

Acknowledged

Info

Identity verified by independent sources

Listed on CoinGecko as FUNToken (FUN), market cap $47M, rank #450. Traded on Binance. 73,228 holders. Verified by: CoinGecko, exchange listings.QA-IDENTITY

Issue

Listed on CoinGecko as FUNToken (FUN), market cap $47M, rank #450. Traded on Binance. 73,228 holders. Verified by: CoinGecko, exchange listings.

Fix

Match the contract address against the project's official channels before trading.

Status

Acknowledged

Info

The market for this token

Liquidity $268K (DexScreener, all pools). 24h trading volume $1.5M (CoinGecko, all markets, daily snapshot). 24h trading volume $3.1M (DexScreener, all pools). CoinGecko's record for this coin: all-time high $0.191 on 2018-01-07; the price is now 97.794% below it.QA-MARKET

Issue

Liquidity $268K (DexScreener, all pools). 24h trading volume $1.5M (CoinGecko, all markets, daily snapshot). 24h trading volume $3.1M (DexScreener, all pools). CoinGecko's record for this coin: all-time high $0.191 on 2018-01-07; the price is now 97.794% below it.

Fix

Size any position to the liquidity and daily volume shown — they set how much you can sell and at what price.

Status

Acknowledged

Info

Asset class: Project token

A token issued by a project for use, governance or fundraising. Scored on its contract and market facts. The class itself adds no points; the contract and market facts decide the score. Basis: no class-specific evidence. Tokenomics — Supply: fixed — the contract has no mint function. Control: a contract. Code: not upgradeable (no proxy). Fees: no buy or sell tax. Market: $268K of DEX liquidity across 14 pools. Launch: 2354 days of market history.QA-PROFILE

Issue

A token issued by a project for use, governance or fundraising. Scored on its contract and market facts. The class itself adds no points; the contract and market facts decide the score. Basis: no class-specific evidence. Tokenomics — Supply: fixed — the contract has no mint function. Control: a contract. Code: not upgradeable (no proxy). Fees: no buy or sell tax. Market: $268K of DEX liquidity across 14 pools. Launch: 2354 days of market history.

Fix

Check the project's own documentation for what the token is used for; this report covers what the contract allows.

Status

Acknowledged

Analysis

AI Copilotas of audit · Oct 30
Executive SummaryWhat the contract is and what the review found

The protocol utilizes a modular architecture separating the Token interface, Controller logic, and Ledger state. While the separation of concerns is clear, the reliance on outdated Solidity versions and manual 'throw' statements poses significant risks. The system is highly centralized, granting the owner extensive control over token state and minting capabilities.

Technical8/10Low risk

The architecture follows a clean separation of concerns (7.1 Architecture). However, the use of 'throw' instead of 'revert' or 'require' is deprecated and can lead to gas exhaustion (7.2 Code Security). Access control is strictly enforced via modifiers (7.3 Access Control), but the lack of modern safety checks in arithmetic operations (despite a custom SafeMath) is concerning.

Governance1/10High risk

The protocol exhibits extreme centralization (7.5 Governance). The owner can stop minting, change controllers, and lock multisig transfers (7.4 Economic). There are no time-locks or multi-signature requirements for administrative actions, creating a single point of failure.

Upgrades7/10Low risk

The system is modular, allowing for controller and ledger updates (7.7 Upgrades). However, these upgrades are controlled by a single owner address without a governance process. Operations (7.8 Operations) are highly dependent on the owner's ability to manage the controller-ledger relationship correctly.

Final RecommendationWhat to do about this score

Migrate the codebase to a modern Solidity version (0.8.x) to leverage built-in overflow protection and standard error handling.

Implement a multi-signature wallet or a decentralized governance contract to manage administrative functions, removing the single point of failure associated with the 'owner' address.

Contract & Record

1 audit on record
TypeToken
NetworkEthereum
Token age6y
Contract0x419d…711b
Deployer0x50b2…b052
Badge for your website
FunFair 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. Oct 30, 202656Medium

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

Would You Like a More Detailed Audit of FunFair?

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? Add your links and get it Verified