The FlapTaxTokenV3 contract implements an upgradeable ERC20 token with a complex, multi-state tax mechanism. The contract utilizes OpenZeppelin's upgradeable standards and SafeERC20 for secure token interactions. A significant portion of the core tax liquidation logic in _liquidateTax was truncated in the provided source, preventing a full security assessment of this critical component. Identified issues include centralization risks, potential time-based manipulation, and minor economic inflexibilities.

Early-stage security check — honeypot & rug-pull analysis
Is 孙小圣 a Scam?
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 →The FlapTaxTokenV3 contract implements an upgradeable ERC20 token with a complex, multi-state tax mechanism.
Read the full analysis- Proxy contract
- Non-standard proxy storage
- Top-10 concentration > 20%
- Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
- LP top1 unlocked holder = 93.1%
- LP top3 unlocked holders = 100.0%
- Token age < 7 days
- 1 High finding(s) from audit
- 2 Medium finding(s) from audit
- 2 Low finding(s) from audit
Exact factors
- Proxy contract (upgradeable — admin can replace logic)
- Non-standard proxy storage (Etherscan-confirmed)
- Top-10 concentration > 20% (30.3% total → 22.2% effective; 16.8% in EOAs, 13.5% in contracts — mild)
- Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
- LP top1 unlocked holder = 93.1% (independent LP — depth risk)
- LP top3 unlocked holders = 100.0% (independent LP — depth risk)
- Token age < 7 days (early, volatile)
- 1 High finding(s) from audit
- 2 Medium finding(s) from audit
- 2 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
Security Checklist
as of audit · Sep 4Holders
as of audit · Sep 4, 2026- Contractstreasury, vesting, bridge, staking13.5%
- Walletsanonymous holders, free to sell16.8%
- Everyone elsethe rest of the supply69.7%
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- Pancakeswap v2QQQBAnalysed$108.7K99.9%
- Pancakeswap v3USDT$690.1%
- Pancakeswap v2WBNB$300.0%
- Uniswap v2USDT$10.0%
- Uniswap v2WBNB$00.0%
The risk score reads depth across every pair.
The LP tokens of the analysed pool are not locked or burned, so whoever holds them can withdraw that liquidity.
0x0b98…91310x5810…8eaf0x7b30…6412No privileged address appears among these holders: the unlocked liquidity sits with independent providers, not with the deployer.
Security Findings
HighTruncated _liquidateTax Function Logic
The provided source code for the _liquidateTax function is incomplete. This function contains critical logic for state transitions, tax processing, and potentially external calls to ITaxProcessor. Without the full code, a comprehensive security assessment of this core mechanism, including potential reentrancy vulnerabilities, gas consumption, and correct handling of tax funds, is impossible.H-01
_liquidateTax Function LogicIssue
The provided source code for the _liquidateTax function is incomplete. This function contains critical logic for state transitions, tax processing, and potentially external calls to ITaxProcessor. Without the full code, a comprehensive security assessment of this core mechanism, including potential reentrancy vulnerabilities, gas consumption, and correct handling of tax funds, is impossible.
Fix
Provide the complete and verified source code for the _liquidateTax function to allow for a full security audit. Pay particular attention to external calls within this function and implement reentrancy guards if necessary.
Status
Unresolved
MediumCentralization Risk with Owner Privileges
The startMigration and finalizeMigration functions, which control critical PoolState transitions, are restricted to onlyOwner. This grants significant power to a single address. A compromised owner key or a malicious owner could lead to unauthorized and disruptive state changes, potentially impacting the token's economic model and user trust (7.3 Access Control, 7.5 Governance).M-01
Issue
The startMigration and finalizeMigration functions, which control critical PoolState transitions, are restricted to onlyOwner. This grants significant power to a single address. A compromised owner key or a malicious owner could lead to unauthorized and disruptive state changes, potentially impacting the token's economic model and user trust (7.3 Access Control, 7.5 Governance).
Fix
Consider implementing a multi-signature wallet (e.g., Gnosis Safe) for the owner address to require multiple approvals for critical operations. Alternatively, explore a time-locked governance mechanism for highly sensitive state changes to provide a window for community review and reaction.
Status
Unresolved
MediumTime-Based State Transitions and Potential for Manipulation
The _liquidateTax function triggers PoolState changes (e.g., to TaxFree or TaxEnforced) based on block.timestamp exceeding taxExpirationTime or antiFarmerExpirationTime. While block.timestamp is generally reliable, miners have a limited ability to manipulate it within a certain range (up to 900 seconds deviation from median). This could allow for minor manipulation of when state transitions occur, potentially impacting users who are sensitive to tax rate changes (7.2 Code Security).M-02
Issue
The _liquidateTax function triggers PoolState changes (e.g., to TaxFree or TaxEnforced) based on block.timestamp exceeding taxExpirationTime or antiFarmerExpirationTime. While block.timestamp is generally reliable, miners have a limited ability to manipulate it within a certain range (up to 900 seconds deviation from median). This could allow for minor manipulation of when state transitions occur, potentially impacting users who are sensitive to tax rate changes (7.2 Code Security).
Fix
While this is a common pattern, be aware of the inherent limitations of block.timestamp. For highly critical, time-sensitive events, consider using a decentralized oracle for time if precise, unmanipulable timing is paramount, or implement a grace period around state transitions.
Status
Unresolved
LowFixed liqExpectedOutputAmount
The liqExpectedOutputAmount is set only once during initialization and is immutable thereafter. In a dynamic market, a fixed expected output amount for tax liquidation might become suboptimal or even detrimental over time, potentially leading to inefficient tax processing or missed opportunities for the protocol (7.4 Economic).L-01
liqExpectedOutputAmountIssue
The liqExpectedOutputAmount is set only once during initialization and is immutable thereafter. In a dynamic market, a fixed expected output amount for tax liquidation might become suboptimal or even detrimental over time, potentially leading to inefficient tax processing or missed opportunities for the protocol (7.4 Economic).
Fix
Consider making liqExpectedOutputAmount a configurable parameter, allowing the owner or a governance mechanism to update it as market conditions evolve. This would provide greater flexibility and optimize the tax processing mechanism.
Status
Unresolved
Lowuint48 and uint64 for Expiration Times
The antiFarmerExpirationTime is stored as uint48 and taxExpirationTime as uint64. While block.timestamp is currently well within these limits, using smaller types for time-related variables that store block.timestamp values introduces a theoretical, albeit distant, risk of overflow/truncation in the very long term (e.g., uint48 overflows in ~8900 years, uint64 in ~580 billion years). It's generally safer to use uint256 for block.timestamp values unless gas savings are critical and the lifespan of the contract is well-understood (7.2 Code Security).L-02
uint48 and uint64 for Expiration TimesIssue
The antiFarmerExpirationTime is stored as uint48 and taxExpirationTime as uint64. While block.timestamp is currently well within these limits, using smaller types for time-related variables that store block.timestamp values introduces a theoretical, albeit distant, risk of overflow/truncation in the very long term (e.g., uint48 overflows in ~8900 years, uint64 in ~580 billion years). It's generally safer to use uint256 for block.timestamp values unless gas savings are critical and the lifespan of the contract is well-understood (7.2 Code Security).
Fix
For maximum future-proofing, consider using uint256 for time-related variables that store block.timestamp values. If gas optimization is a primary concern, ensure the expected lifespan of the contract is well within the limits of uint48 and uint64.
Status
Unresolved
Info_liquidateTax Called on Every Transfer
The _liquidateTax function is called on every _transfer operation. While this ensures timely state updates and tax processing, if the logic within _liquidateTax becomes complex or involves multiple external calls (as hinted by the truncation), it could lead to increased gas costs for every token transfer, potentially impacting user experience or transaction throughput (7.8 Operations).I-01
_liquidateTax Called on Every TransferIssue
The _liquidateTax function is called on every _transfer operation. While this ensures timely state updates and tax processing, if the logic within _liquidateTax becomes complex or involves multiple external calls (as hinted by the truncation), it could lead to increased gas costs for every token transfer, potentially impacting user experience or transaction throughput (7.8 Operations).
Fix
Monitor the gas consumption of _liquidateTax once the full implementation is available. Optimize its logic to minimize gas costs, especially if it involves external calls. Consider if there are scenarios where liquidation can be batched or triggered less frequently without compromising the protocol's economic model.
Status
Unresolved
Analysis
AI Copilotas of audit · Sep 4The contract leverages OpenZeppelin's upgradeable ERC20, Ownable, and Permit standards, ensuring a robust foundation (7.1 Architecture, 7.2 Code Security). The use of SafeERC20 for external token interactions is a strong security practice. However, the provided source code for the critical _liquidateTax function is truncated, preventing a complete assessment of its security and potential reentrancy vectors (7.2 Code Security). Time-based state transitions in _liquidateTax introduce a minor risk of manipulation (7.2 Code Security).
The contract defines immutable liquidation thresholds and a constant maxSupply, contributing to economic stability (7.4 Economic). The initialize function includes important sanity checks for parameters. However, the owner possesses significant control over critical PoolState transitions via startMigration and finalizeMigration, introducing centralization risk (7.3 Access Control, 7.5 Governance). The liqExpectedOutputAmount is fixed at initialization, which might become economically suboptimal over time (7.4 Economic).
The contract is built on OpenZeppelin's upgradeable patterns, correctly using Initializable and _disableInitializers() in the constructor, which is a strong practice for upgrade safety (7.7 Upgrades). The initializer modifier is correctly applied. The use of a PackedPoolState struct requires careful consideration for future upgrades to avoid storage collisions if fields are reordered or new fields are inserted mid-struct (7.7 Upgrades).
A complete and verified source code for the _liquidateTax function is essential for a thorough security assessment.
Without it, critical vulnerabilities related to reentrancy, external calls, and complex state transitions cannot be fully evaluated. It is recommended to reduce owner privileges where possible or implement a multi-signature wallet for critical administrative functions to mitigate centralization risks. Consider making liqExpectedOutputAmount configurable by governance to adapt to changing market conditions.
Contract & Record
Free for any token on the record. It links to this page and always shows the current score and the date it was checked.
- Sep 4, 202660Medium
- Sep 3, 202641Medium
Score changes are recorded as dated snapshots — history is append-only and cannot be edited.
Frequently Asked Questions
What is the 孙小圣 contract address?
The 孙小圣 contract on BNB Chain is 0x01856bda968ddca3ae5f866a4e07405480967777. Compare it with the address the project itself publishes before trading: other contracts can carry the same name and ticker.
Is 孙小圣 a scam?
Quantum Audit's risk score for 孙小圣 is 60/100 (Medium risk) as of Sep 4, 2026, computed by a deterministic function from on-chain facts — Contract verified: Verified; Ownership: Renounced; Mint: No mint; Liquidity lock: Not locked; Upgradeability: Upgradeable; Honeypot: None found; Buy / sell tax: 2% / 2%. A score is a dated snapshot of those facts, not a guarantee; each one is listed on this page.
Is 孙小圣 liquidity locked?
Liquidity lock: Not locked (as of Sep 4, 2026). Total DEX liquidity: $108.8K.
Who holds 孙小圣?
As of Sep 4, 2026, the 10 largest holders own 30.3% of the supply. The Holders section on this page shows who they are by holder type.
Would You Like a More Detailed Audit of 孙小圣?
This token is brand new. Run a deeper AI-powered analysis of the contract code — free and instant.
Get Detailed Audit Is this your token? Publish your own audit on this page