The audit of the Token contract, an ERC20-compliant token with custom transfer restrictions, identified several design-level risks related to its _mode mechanism and owner privileges. While the core ERC20 implementation is robust, the irreversible nature of mode changes and the critical dependency on owner actions for token utility present significant operational and economic considerations. The contract is not upgradeable and has a fixed supply.

On-chain security analysis — is it a scam or legit?
Is Tutorial Safe?
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 audit of the Token contract, an ERC20-compliant token with custom transfer restrictions, identified several design-level risks related to its _mode mechanism and owner privileges.
- Top-10 concentration > 70%
- LP top1 unlocked holder = 63.0%
- 1 High finding(s) from audit
- 2 Medium finding(s) from audit
- 1 Low finding(s) from audit
Exact factors
- Top-10 concentration > 70% (90.6% total → 85.2% effective; 81.7% in EOAs, 8.9% in contracts — extreme)
- LP top1 unlocked holder = 63.0% (independent LP — depth risk, pool = 99% of DEX liquidity)
- 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
Security Checklist
as of audit · Sep 4Holders
as of audit · Sep 4, 2026- Contractstreasury, vesting, bridge, staking8.9%
- Walletsanonymous holders, free to sell81.7%
- Everyone elsethe rest of the supply9.4%
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 v3WBNBAnalysed$2.79M98.8%
- UniswapUSDT$21.5K0.8%
- Pancakeswap v3USDT$12.0K0.4%
- Pancakeswap v2Astherus$1490.0%
- Pancakeswap v2WBNB$1490.0%
- Pancakeswap v2TENGE$950.0%
Show 4 more pairs
The 18 remaining pairs hold $283 between them and are not listed. The risk score reads depth across every pair.
The LP tokens of the analysed pool are locked or burned.
0x5036…6a200xfd85…0a220x49f4…7c930xa80e…61f00x1a70…fb990x59eb…d05f0x6a85…cf030x6084…6065No privileged address appears among these holders: the unlocked liquidity sits with independent providers, not with the deployer.
Security Findings
HighIrreversible Transition to MODE_NORMAL
The setMode function includes a condition if (_mode != MODE_NORMAL) which means that once the token's transfer mode is set to MODE_NORMAL, it can never be reverted to MODE_TRANSFER_RESTRICTED or MODE_TRANSFER_CONTROLLED. This makes the transition to fully unrestricted transfers irreversible, limiting future flexibility for the project to re-introduce transfer controls if needed.H-01
Issue
The setMode function includes a condition if (_mode != MODE_NORMAL) which means that once the token's transfer mode is set to MODE_NORMAL, it can never be reverted to MODE_TRANSFER_RESTRICTED or MODE_TRANSFER_CONTROLLED. This makes the transition to fully unrestricted transfers irreversible, limiting future flexibility for the project to re-introduce transfer controls if needed.
Fix
Confirm if this irreversible transition is the intended design. If flexibility to re-impose restrictions is desired, remove the if (_mode != MODE_NORMAL) condition. If it is intended, ensure this critical design decision is clearly documented and communicated to all users and stakeholders.
Status
Unresolved
MediumCritical Owner Role for Token Utility
The Token contract initializes with _mode = MODE_TRANSFER_RESTRICTED, meaning no transfers are possible until the owner explicitly calls setMode to change it. This places a critical dependency on the owner to perform an operational step to enable the token's basic utility, creating a single point of failure if the owner key is compromised or lost.M-01
Issue
The Token contract initializes with _mode = MODE_TRANSFER_RESTRICTED, meaning no transfers are possible until the owner explicitly calls setMode to change it. This places a critical dependency on the owner to perform an operational step to enable the token's basic utility, creating a single point of failure if the owner key is compromised or lost.
Fix
Ensure robust key management practices for the owner address, such as using a multi-signature wallet. Clearly document the operational steps required to activate token transfers and the associated risks if these steps are not performed or the owner key is compromised.
Status
Unresolved
MediumRisk of Permanent Transfer Restriction upon Ownership Renouncement
The Ownable contract allows the owner to renounceOwnership(). If ownership is renounced while _mode is MODE_TRANSFER_RESTRICTED or MODE_TRANSFER_CONTROLLED, and _mode has not been set to MODE_NORMAL, the token's transferability could become permanently locked or restricted as there would be no owner to call setMode.M-02
Issue
The Ownable contract allows the owner to renounceOwnership(). If ownership is renounced while _mode is MODE_TRANSFER_RESTRICTED or MODE_TRANSFER_CONTROLLED, and _mode has not been set to MODE_NORMAL, the token's transferability could become permanently locked or restricted as there would be no owner to call setMode.
Fix
The owner should ensure the _mode is set to the desired final state (e.g., MODE_NORMAL) *before* considering renouncing ownership. If renouncing ownership is planned, this operational sequence is critical to prevent unintended permanent restrictions.
Status
Unresolved
LowCentralized Control in MODE_TRANSFER_CONTROLLED
When _mode is set to MODE_TRANSFER_CONTROLLED, only transfers where the from or to address is the contract owner are permitted. This effectively centralizes all token movement through the owner, which might not align with user expectations for a decentralized token and could be perceived as a high degree of control.L-01
Issue
When _mode is set to MODE_TRANSFER_CONTROLLED, only transfers where the from or to address is the contract owner are permitted. This effectively centralizes all token movement through the owner, which might not align with user expectations for a decentralized token and could be perceived as a high degree of control.
Fix
Clearly communicate the implications of MODE_TRANSFER_CONTROLLED to token holders, emphasizing the owner's centralized role in facilitating transfers during this phase. Ensure transparency regarding the project's intent for this mode.
Status
Unresolved
InfoFixed Supply Token
The _mint and _burn functions are internal and only _mint is called once in the constructor. There are no public functions to mint or burn tokens after deployment, meaning the total supply is fixed at the amount specified during construction.I-01
Issue
The _mint and _burn functions are internal and only _mint is called once in the constructor. There are no public functions to mint or burn tokens after deployment, meaning the total supply is fixed at the amount specified during construction.
Fix
Document that the token has a fixed supply and no further minting or burning is possible after deployment. This clarifies the tokenomics for potential holders and investors.
Status
Unresolved
Analysis
AI Copilotas of audit · Sep 4The contract utilizes standard OpenZeppelin patterns for ERC20 and Ownable functionalities, demonstrating good code quality (7.2 Code Security). unchecked blocks are used appropriately, safeguarded by preceding require statements. However, the setMode function's irreversible transition to MODE_NORMAL represents a technical design decision with permanent implications for token transferability (7.1 Architecture), which could be a source of future operational inflexibility.
The token's economic utility is heavily dependent on the owner's actions due to its initial MODE_TRANSFER_RESTRICTED state (7.4 Economic, 7.8 Operations). The setMode function allows the owner to transition through different transfer restriction levels, but the change to MODE_NORMAL is irreversible, permanently removing the ability to re-impose restrictions (7.5 Governance). Furthermore, renouncing ownership while in a restricted mode could permanently lock token transfers, posing a significant risk (7.3 Access Control).
The contract is implemented as a standard, non-upgradeable contract (7.7 Upgrades). There are no proxy patterns or upgrade mechanisms present, meaning its logic cannot be altered after deployment. This eliminates upgrade-related risks but also removes the possibility of fixing design flaws or adding new features post-deployment.
Prioritize a thorough review of the intended lifecycle and operational procedures for the token's transfer modes, especially the irreversible transition to MODE_NORMAL.
Implement robust key management for the owner address, potentially utilizing a multi-signature wallet, given the critical role the owner plays in enabling token utility and managing transfer restrictions. Ensure all stakeholders are fully aware of the implications of each transfer mode and the permanent nature of certain state changes.
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.
- Aug 11, 202632Low
Score changes are recorded as dated snapshots — history is append-only and cannot be edited.
Would You Like a More Detailed Audit of Tutorial?
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? Publish your own audit on this page