The Towns contract serves as an ERC-20 token with voting capabilities, cross-chain mint/burn functionality, and a unique token transfer lock mechanism tied to delegation. It is deployed as a UUPS upgradeable proxy on the Base network. The contract leverages well-audited Solady libraries and OpenZeppelin components, demonstrating a robust architectural foundation. The primary area of concern identified is the fixed and significant 30-day token transfer lock imposed on users who undelegate their voting power, which could lead to unexpected liquidity restrictions.
On-chain security analysis — is it a scam or legit?
Is Towns 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 Towns contract serves as an ERC-20 token with voting capabilities, cross-chain mint/burn functionality, and a unique token transfer lock mechanism tied to delegation.
Read the full analysis- Ownership not renounced — owner is a contract
- Mintable supply — no cap found, dilution unbounded
- Proxy contract
- Top-10 concentration > 50%
- Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
- LP top1 unlocked holder = 62.2%
- LP top3 unlocked holders = 100.0%
- 1 Medium finding(s) from audit
Exact factors
- Ownership NOT renounced — owner is a contract (governance/executor, not an EOA)
- Mintable supply — no cap found, dilution unbounded
- Proxy contract (upgradeable — admin can replace logic)
- Top-10 concentration > 50% (74.3% total → 52.0% effective; 37.1% in EOAs, 37.2% in contracts — heavy)
- Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
- LP top1 unlocked holder = 62.2% (independent LP — depth risk, pool = 100% of DEX liquidity)
- LP top3 unlocked holders = 100.0% (independent LP — depth risk, pool = 100% of DEX liquidity)
- 1 Medium 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, staking37.2%
- Walletsanonymous holders, free to sell37.1%
- Everyone elsethe rest of the supply25.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 4The 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.
0xfa2b…52bb0x375f…9491No privileged address appears among these holders: the unlocked liquidity sits with independent providers, not with the deployer.
Security Findings
MediumFixed and Significant Token Transfer Lock on Undelegation
The Towns contract implements a token transfer lock mechanism tied to voting delegation. When a user undelegates their voting power (by delegating to address(0)), their tokens become subject to a 30-day transfer lock. This defaultCooldown is set during initialization via __LockBase_init(30 days) and cannot be modified later, making the 30-day lock period a permanent and unchangeable feature. While this is an intended design, its fixed and substantial duration could lead to unexpected liquidity restrictions for users who are unaware of this cooldown period, potentially impacting user experience and token utility.M-01
Issue
The Towns contract implements a token transfer lock mechanism tied to voting delegation. When a user undelegates their voting power (by delegating to address(0)), their tokens become subject to a 30-day transfer lock. This defaultCooldown is set during initialization via __LockBase_init(30 days) and cannot be modified later, making the 30-day lock period a permanent and unchangeable feature. While this is an intended design, its fixed and substantial duration could lead to unexpected liquidity restrictions for users who are unaware of this cooldown period, potentially impacting user experience and token utility.
Fix
Ensure that the fixed 30-day token transfer lock upon undelegation is clearly communicated to all users through official documentation, user interfaces, and any relevant educational materials. Consider adding a warning or confirmation step in front-end applications when a user attempts to undelegate, explicitly stating the impending transfer lock duration. While the contract design makes this immutable, transparent communication is crucial to manage user expectations.
Status
Unresolved
InfoUnused onlyAllowed Modifier in LockBase
The _canLock() function in the Towns contract, which is an override from LockBase, always returns false. This design choice renders the onlyAllowed modifier within the LockBase contract effectively unusable. While Towns does not directly expose any external functions that utilize this modifier, its presence in the inherited LockBase contract, coupled with _canLock() always returning false, indicates a potential design inconsistency or an unimplemented feature from the ILock interface (e.g., enableLock, disableLock, setLockCooldown are not implemented in Towns with this modifier).I-01
onlyAllowed Modifier in LockBaseIssue
The _canLock() function in the Towns contract, which is an override from LockBase, always returns false. This design choice renders the onlyAllowed modifier within the LockBase contract effectively unusable. While Towns does not directly expose any external functions that utilize this modifier, its presence in the inherited LockBase contract, coupled with _canLock() always returning false, indicates a potential design inconsistency or an unimplemented feature from the ILock interface (e.g., enableLock, disableLock, setLockCooldown are not implemented in Towns with this modifier).
Fix
Document the explicit design decision behind _canLock() always returning false and the implications for the onlyAllowed modifier in LockBase. If the onlyAllowed modifier and associated external functions from ILock were never intended to be used or exposed, consider removing them from LockBase or clarifying their purpose to avoid confusion for future developers or auditors. If they were intended, ensure proper implementation and exposure.
Status
Unresolved
Analysis
AI Copilotas of audit · Sep 4The contract exhibits a strong technical foundation (7.1 Architecture), utilizing battle-tested Solady libraries for ERC20Votes, Ownable, and UUPSUpgradeable, along with OpenZeppelin interfaces. Access control for critical functions like cross-chain minting and burning (7.3 Access Control) is appropriately restricted to designated bridge addresses, enhancing security. The use of CustomRevert for error handling (7.2 Code Security) is a gas-efficient practice. However, the fixed 30-day lock on token transfers after undelegation introduces a significant operational constraint (7.8 Operations) that users might not anticipate, impacting liquidity.
The Towns token incorporates standard ERC20Votes functionality, allowing for robust on-chain governance (7.5 Governance) through delegation. The economic model (7.4 Economic) includes a mechanism to lock tokens for 30 days upon undelegation, which is a design choice intended to influence voter behavior. While this mechanism is clearly implemented, its immutability and duration could impact user liquidity and participation if not well-understood. The cross-chain mint/burn functions are appropriately controlled, preventing unauthorized supply manipulation.
The contract implements the UUPS upgradeability pattern (7.7 Upgrades), which is a secure and widely adopted standard. The _authorizeUpgrade function is correctly overridden to restrict upgrade authorization to the contract owner via the onlyOwner modifier, ensuring controlled and secure upgrade pathways. This setup provides flexibility for future enhancements while maintaining strong access control over critical contract modifications.
It is recommended to ensure comprehensive user education regarding the fixed 30-day token transfer lock that activates upon undelegation.
Clear communication channels, documentation, and user interface warnings should highlight this significant cooldown period to prevent unexpected liquidity issues for token holders. Additionally, consider documenting the design choice behind the _canLock() function always returning false to clarify the intended behavior of the LockBase contract's onlyAllowed modifier for future development and auditing efforts.
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 12, 202671High
Score changes are recorded as dated snapshots — history is append-only and cannot be edited.
Frequently Asked Questions
What is the TOWNS contract address?
The Towns contract on Base is 0x00000000a22c618fd6b4d7e9a335c4b96b189a38. Compare it with the address the project itself publishes before trading: other contracts can carry the same name and ticker.
Is Towns a scam?
Quantum Audit's risk score for Towns is 71/100 (High risk) as of Sep 4, 2026, computed by a deterministic function from on-chain facts — Contract verified: Verified; Ownership: Retained; Mint: Mintable; Liquidity lock: Not locked; Upgradeability: Upgradeable. A score is a dated snapshot of those facts, not a guarantee; each one is listed on this page.
Is TOWNS liquidity locked?
Liquidity lock: Not locked (as of Sep 4, 2026). Total DEX liquidity: $222.8K.
Who holds TOWNS?
As of Sep 4, 2026, the 10 largest holders own 74.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 Towns?
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