Quantum Audit Logo
Launch App

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

Is Aethir Token Safe?

ATHArbitrum
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 Sep 4, 2026 · 1 audit on record
SummaryAI Copilot

The InterchainToken contract, serving as an upgradeable ERC20 token implementation, demonstrates adherence to modern Solidity practices and includes custom access control via a RolesBase contract.

Read the full analysis
What raised the score
  • Ownership status UNKNOWN
  • Mintable supply — no cap found, dilution unbounded
  • Proxy contract
  • Non-standard proxy storage
  • Top-10 concentration > 30%
  • Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
  • 2 High finding(s) from audit
  • 1 Low finding(s) from audit
Exact factors
  • Ownership status UNKNOWN (owner could not be resolved)
  • Mintable supply — no cap found, dilution unbounded
  • Proxy contract (upgradeable — admin can replace logic)
  • Non-standard proxy storage (Etherscan-confirmed)
  • Top-10 concentration > 30% (74.9% total → 32.1% effective; 3.6% in EOAs, 71.2% in contracts — moderate)
  • Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
  • 2 High 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 43 of 7 checks passed
Contract verifiedVerified
OwnershipUnknown
MintMintable
Liquidity lockNot locked
UpgradeabilityUpgradeable
HoneypotNone found
Buy / sell tax0% / 0%

Holders

as of audit · Sep 4, 2026
71.2%Contracts3.6%25.1%Everyone else
71.2%Contracts3.6%25.1%Everyone else
ContractsWalletsEveryone elseBubble area = share of supply
74.9%of supply sits with the top 10 holders
  • Contractstreasury, vesting, bridge, staking71.2%
  • Walletsanonymous holders, free to sell3.6%
  • Everyone elsethe rest of the supply25.1%
Effective concentrationwhat the score reads32.1%
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$51.6K across 3 pairs

The risk score reads depth across every pair.

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$49.6KShare of depth96.0%
Top-1 Unlocked Holder32.9%
Top-3 Unlocked78.7%
Unlocked LP held by
0x479a…d4970x75d1…107e0x72d6…58130x162d…b9e90x2322…a3e80xa54c…dd780xd1d3…85320x87c0…66400x785d…98b70x34a9…1fc2

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

Security Findings

2 High1 Low2 Info
High

Centralized Control via Minter Role

The mint and burn functions are protected by the onlyRole(uint8(Roles.MINTER)) modifier. The init function adds interchainTokenService_ and a user-provided minter address to the MINTER role. This grants significant power to these addresses, allowing them to arbitrarily mint and burn tokens, directly impacting the token's supply and value. If the minter address is an EOA or a single-sig contract, it represents a single point of failure and a high centralization risk (7.3 Access Control, 7.4 Economic).H-01

Issue

The mint and burn functions are protected by the onlyRole(uint8(Roles.MINTER)) modifier. The init function adds interchainTokenService_ and a user-provided minter address to the MINTER role. This grants significant power to these addresses, allowing them to arbitrarily mint and burn tokens, directly impacting the token's supply and value. If the minter address is an EOA or a single-sig contract, it represents a single point of failure and a high centralization risk (7.3 Access Control, 7.4 Economic).

Fix

Implement robust governance or multi-signature control over the MINTER role. Consider time-locks or multi-stage processes for critical actions like adding/removing minters or large mint operations to distribute control and reduce single points of failure.

Status

Unresolved

High

Incomplete RolesBase Contract

The provided RolesBase contract, which is fundamental to the access control system, is truncated. Specifically, the _addAccountRoles function is incomplete: `function _addAccountRoles(address account, uint256 accountRoles) i... (truncated)`. Without the full implementation of this core access control logic, a complete security assessment of the role management system (including how roles are added, removed, and proposed) is impossible. This leaves a significant blind spot in the audit (7.2 Code Security).H-02

Issue

The provided RolesBase contract, which is fundamental to the access control system, is truncated. Specifically, the _addAccountRoles function is incomplete: `function _addAccountRoles(address account, uint256 accountRoles) i... (truncated)`. Without the full implementation of this core access control logic, a complete security assessment of the role management system (including how roles are added, removed, and proposed) is impossible. This leaves a significant blind spot in the audit (7.2 Code Security).

Fix

Provide the complete source code for all inherited and used contracts, especially critical security components like RolesBase, to enable a comprehensive security review and ensure the integrity of the access control mechanisms.

Status

Unresolved

Low

Redundant _initialize() Call in Constructor

The InterchainToken contract, intended as a proxy implementation, calls _initialize() in its constructor. In a proxy pattern (like UUPS or Transparent), the constructor of the implementation contract is executed only once when the implementation itself is deployed, not when the proxy is initialized. The actual initialization for the proxy's storage occurs via an init function called on the proxy. While not a direct vulnerability (as init correctly uses _isInitialized() to prevent re-initialization on the proxy's storage), this constructor call is redundant and can be misleading (7.7 Upgrades).L-01

Issue

The InterchainToken contract, intended as a proxy implementation, calls _initialize() in its constructor. In a proxy pattern (like UUPS or Transparent), the constructor of the implementation contract is executed only once when the implementation itself is deployed, not when the proxy is initialized. The actual initialization for the proxy's storage occurs via an init function called on the proxy. While not a direct vulnerability (as init correctly uses _isInitialized() to prevent re-initialization on the proxy's storage), this constructor call is redundant and can be misleading (7.7 Upgrades).

Fix

Remove the _initialize() call from the constructor of proxy implementation contracts. Ensure all proxy-related initialization logic resides solely within the designated initializer function (e.g., init) to maintain clarity and best practices for upgradeable contracts.

Status

Unresolved

Info

Custom _spendAllowance Override

The contract overrides the _spendAllowance function with a custom implementation. It uses _approve(sender, spender, _allowance - amount) directly. In Solidity 0.8.0+, arithmetic operations automatically check for underflows and overflows, meaning _allowance - amount will revert if amount is greater than _allowance. The UINT256_MAX check correctly handles infinite approvals. This custom logic appears safe due to Solidity's built-in checks, but any deviation from standard library implementations warrants careful review (7.2 Code Security).I-01

Issue

The contract overrides the _spendAllowance function with a custom implementation. It uses _approve(sender, spender, _allowance - amount) directly. In Solidity 0.8.0+, arithmetic operations automatically check for underflows and overflows, meaning _allowance - amount will revert if amount is greater than _allowance. The UINT256_MAX check correctly handles infinite approvals. This custom logic appears safe due to Solidity's built-in checks, but any deviation from standard library implementations warrants careful review (7.2 Code Security).

Fix

Document the rationale for custom overrides, especially for core ERC20 functionalities. Ensure thorough unit and integration testing covers all edge cases for allowance spending to confirm its robustness.

Status

Unresolved

Info

Inline Assembly Usage

The contract and its inherited RolesBase utilize inline assembly for direct storage manipulation (e.g., sload, sstore) for initialization flags and role management. This approach is used for gas optimization and specific storage patterns (like keccak256 based mapping keys). While assembly can introduce subtle bugs if not handled correctly, the patterns observed (e.g., using a large constant for INITIALIZED_SLOT, keccak256 for mapping keys) are standard and generally considered safe for preventing storage collisions (7.2 Code Security).I-02

Issue

The contract and its inherited RolesBase utilize inline assembly for direct storage manipulation (e.g., sload, sstore) for initialization flags and role management. This approach is used for gas optimization and specific storage patterns (like keccak256 based mapping keys). While assembly can introduce subtle bugs if not handled correctly, the patterns observed (e.g., using a large constant for INITIALIZED_SLOT, keccak256 for mapping keys) are standard and generally considered safe for preventing storage collisions (7.2 Code Security).

Fix

Ensure comprehensive unit and integration tests cover all code paths involving inline assembly. Maintain clear and up-to-date documentation for the storage layout and assembly logic to facilitate future audits and maintenance.

Status

Unresolved

Analysis

AI Copilotas of audit · Sep 4
Executive SummaryWhat the contract is and what the review found

The InterchainToken contract, serving as an upgradeable ERC20 token implementation, demonstrates adherence to modern Solidity practices and includes custom access control via a RolesBase contract. Key strengths include a robust initialization mechanism for proxy safety and careful handling of token metadata. However, the audit identified significant centralization risks associated with the MINTER role and a critical gap due to the truncation of the RolesBase contract, preventing a full assessment of access control. A minor issue with redundant initialization in the constructor was also noted.

Technical5/10Medium risk

The contract demonstrates good adherence to ERC20 standards and utilizes modern Solidity features. Custom _spendAllowance logic, while deviating from standard libraries, appears safe due to Solidity 0.8+ checks. However, the provided RolesBase contract is truncated, preventing a full security assessment of the core access control mechanisms (7.2 Code Security). Additionally, the use of inline assembly for storage management requires careful review, though the patterns used are generally robust (7.2 Code Security).

Governance2/10High risk

The economic model relies heavily on the MINTER role, which has the power to arbitrarily mint and burn tokens (7.4 Economic). The init function assigns this role to the interchainTokenService_ and a user-defined minter address. This introduces a high degree of centralization, as the security and stability of the token supply depend entirely on the integrity and security of these privileged addresses (7.3 Access Control).

Upgrades1/10High risk

The contract is designed as an upgradeable implementation, correctly using an _isInitialized() check within its init function to prevent re-initialization of the proxy's storage (7.7 Upgrades). However, a redundant _initialize() call exists in the constructor of the implementation contract, which is not effective for proxy initialization and can be misleading (7.7 Upgrades). The use of immutable variables is correctly handled in the proxy context.

Final RecommendationWhat to do about this score

Address the high-severity issues by providing the complete source code for the RolesBase contract to allow for a comprehensive audit of the access control system.

Implement robust multi-signature or governance controls for the MINTER role to mitigate centralization risks and enhance the security of token supply management. Remove the redundant _initialize() call from the constructor of the implementation contract to improve clarity and adhere to best practices for upgradeable contracts.

Contract & Record

1 audit on record
TypeInterchainToken
NetworkArbitrum
Token age2y
Contract0xc87b…056c
Deployer0xc778…f4ae
Proxy Upgrade Controls
Proxy TypeEtherscan Detected Custom
ImplementationVerified source
Upgrades (30d)0 · stable
Badge for your website
Aethir Token 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. Sep 4, 202669High
  2. Sep 3, 202674High

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

Frequently Asked Questions

What is the ATH contract address?

The Aethir Token (ATH) contract on Arbitrum is 0xc87b37a581ec3257b734886d9d3a581f5a9d056c. Compare it with the address the project itself publishes before trading: other contracts can carry the same name and ticker.

Is Aethir Token a scam?

Quantum Audit's risk score for Aethir Token is 69/100 (High risk) as of Sep 4, 2026, computed by a deterministic function from on-chain facts — Contract verified: Verified; Mint: Mintable; Liquidity lock: Not locked; Upgradeability: Upgradeable; Honeypot: None found; Buy / sell tax: 0% / 0%. A score is a dated snapshot of those facts, not a guarantee; each one is listed on this page.

Is ATH liquidity locked?

Liquidity lock: Not locked (as of Sep 4, 2026). Total DEX liquidity: $51.6K.

Who holds ATH?

As of Sep 4, 2026, the 10 largest holders own 74.9% of the supply. The Holders section on this page shows who they are by holder type.

Would You Like a More Detailed Audit of Aethir Token?

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