Quantum Audit Logo

Is Dimitra Token Safe?

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

Is this your token? Publish your own audit on this page →

Dimitra Token DMTR
0x51cb…4fdb
Ethereum Not verifiedLast checked 3d ago 1 audit on record
How is this score calculated? → Medium Risk
Executive SummaryAI Copilot

This audit focused on the provided OpenZeppelin AccessControl and AccessControlEnumerable contracts. The source code for the main DimitraToken contract (0x51cb253744189f11241becb29bedd3f1b5384fdb) was not provided, significantly limiting the scope of this security review to the foundational access control mechanisms. The provided OpenZeppelin contracts are well-audited and robust. Findings primarily relate to best practices for deploying and managing roles within an AccessControl system.

4 Informational
Volume 24h
$55.8K
Liquidity
$152.7K
Price
$0.01308
Token Age
4y
Top 10 Holders
51.6%

Security Findings

Info

Importance of Securing `DEFAULT_ADMIN_ROLE`

I-01The `DEFAULT_ADMIN_ROLE` in the AccessControl contract holds the highest level of privilege, capable of granting and revoking all other roles, including itself. A compromise of an address holding this role would grant an attacker complete control over the contract's access control mechanisms, potentially leading to unauthorized operations or manipulation of the system (7.3 Access Control, 7.8 Operations).
IssueThe `DEFAULT_ADMIN_ROLE` in the AccessControl contract holds the highest level of privilege, capable of granting and revoking all other roles, including itself. A compromise of an address holding this role would grant an attacker complete control over the contract's access control mechanisms, potentially leading to unauthorized operations or manipulation of the system (7.3 Access Control, 7.8 Operations).
FixEnsure that the address(es) assigned the `DEFAULT_ADMIN_ROLE` are highly secured. Ideally, this role should be controlled by a multi-signature wallet with a sufficient number of signers, or a time-lock contract, to prevent a single point of failure and provide a delay for critical changes.
StatusUnresolved
Info

Recommendation for Multi-signature and Time-lock for Critical Roles

I-02While the AccessControl contract provides robust role management, it does not inherently enforce multi-signature or time-lock mechanisms. For critical roles that control significant protocol functions or assets, relying on a single externally owned account (EOA) or even a simple multi-sig without a time-lock can introduce operational risks (7.3 Access Control, 7.8 Operations).
IssueWhile the AccessControl contract provides robust role management, it does not inherently enforce multi-signature or time-lock mechanisms. For critical roles that control significant protocol functions or assets, relying on a single externally owned account (EOA) or even a simple multi-sig without a time-lock can introduce operational risks (7.3 Access Control, 7.8 Operations).
FixFor any roles that have significant control over the protocol (e.g., pausing, upgrading, managing funds, or the `DEFAULT_ADMIN_ROLE`), consider implementing a multi-signature wallet (e.g., Gnosis Safe) and/or a time-lock contract. This adds an extra layer of security by requiring multiple approvals and/or a delay period before critical actions can be executed.
StatusUnresolved
Info

Careful Use of `_setupRole` Function

I-03The `_setupRole` internal function bypasses the `onlyRole` modifier, meaning it does not check if the caller has the necessary admin role to grant a new role. The OpenZeppelin documentation explicitly warns that this function 'should only be called from the constructor when setting up the initial roles for the system.' Misuse of this function outside the constructor could lead to unauthorized role grants, circumventing the intended access control hierarchy (7.2 Code Security, 7.3 Access Control).
IssueThe `_setupRole` internal function bypasses the `onlyRole` modifier, meaning it does not check if the caller has the necessary admin role to grant a new role. The OpenZeppelin documentation explicitly warns that this function 'should only be called from the constructor when setting up the initial roles for the system.' Misuse of this function outside the constructor could lead to unauthorized role grants, circumventing the intended access control hierarchy (7.2 Code Security, 7.3 Access Control).
FixDevelopers integrating AccessControl should strictly adhere to the documented usage of `_setupRole`, calling it only within the contract's constructor for initial setup. Any other use should be carefully reviewed and justified, as it effectively bypasses the admin system.
StatusUnresolved
Info

Role Management Best Practices and Documentation

I-04As the system grows, the number of roles and their interdependencies can become complex. Without clear documentation and strict operational procedures, there is a risk of misconfiguring roles, granting excessive permissions, or failing to revoke roles from compromised or inactive accounts. This can lead to unintended access or operational inefficiencies (7.3 Access Control, 7.8 Operations).
IssueAs the system grows, the number of roles and their interdependencies can become complex. Without clear documentation and strict operational procedures, there is a risk of misconfiguring roles, granting excessive permissions, or failing to revoke roles from compromised or inactive accounts. This can lead to unintended access or operational inefficiencies (7.3 Access Control, 7.8 Operations).
FixMaintain comprehensive documentation of all defined roles, their associated permissions, and the addresses assigned to each role. Establish clear operational procedures for granting, revoking, and changing role administrators. Regularly audit assigned roles and permissions to ensure they align with current operational needs and security policies.
StatusUnresolved

Category Ratings

TechnicalLow8/10

The provided AccessControl and AccessControlEnumerable contracts are standard OpenZeppelin implementations, which are highly regarded for their security and adherence to best practices (7.2 Code Security). They offer a robust, role-based access control system, allowing granular permissions management. The code is well-structured, uses clear variable names, and includes comprehensive NatSpec documentation. No direct vulnerabilities were identified within these specific contracts (7.1 Architecture).

GovernanceHigh3/10

Without the DimitraToken contract source, a comprehensive review of economic and governance aspects (7.4 Economic, 7.5 Governance) is not possible. However, the AccessControl module provides a solid foundation for implementing governance by defining roles and permissions. The primary economic risk related to AccessControl is the potential compromise of administrative roles, which could lead to unauthorized actions affecting token supply or functionality.

UpgradesMedium6/10

The provided contracts are not proxy implementations (7.7 Upgrades). The prefill indicates `is_proxy: false`. Therefore, upgradeability concerns are not directly applicable to these specific contracts. If the DimitraToken contract uses a proxy pattern, its upgrade mechanism would require separate review for potential vulnerabilities related to upgrade safety.

Security Checklist

Contract VerifiedPass
Ownership Renounced?
No Mint FunctionFail
Liquidity LockedPass
Not a ProxyPass
HoneypotNoneBuy Tax0.0%Sell Tax0.0%

Holder Composition

34.8% in wallets16.8% in contracts
Effective Concentration41.5%

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.

Liquidity Depth

The risk score reads depth across every pair. The volume figure and the volume-to-liquidity ratio elsewhere on this page describe only the pair this audit analysed, so the two are not directly comparable.

LP Distribution

Top-1 Unlocked Holder100.0%
Top-3 Unlocked100.0%

Key Addresses

Deployer
0x7d15…a3bc
Unlocked LP Held By
0xfc3a…b2c6

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

What Raised This Score

  • Ownership status UNKNOWN (owner could not be resolved)
  • Mintable supply, but capped at 0.0%/year
  • Top-10 concentration > 30% (51.6% total → 41.5% effective; 34.8% in EOAs, 16.8% in contracts — moderate)
  • LP top1 unlocked holder = 100.0% (independent LP — depth risk, pool = 96% of DEX liquidity)
  • LP top3 unlocked holders = 100.0% (independent LP — depth risk, pool = 96% of DEX liquidity)
  • LP claimed locked but only 0.0% actually locked

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

Related Audits

SPX6900 (SPX)Medium RiskTRIAMedium RiskRaveDAO (RAVE)Medium RiskLO0PMedium RiskOctra (OCT)Medium RiskProgrammable (V4)Medium Risk

Would You Like a More Detailed Audit of Dimitra Token?

Our AI-powered scanner gives you a deeper, real-time smart contract analysis — free, with every scoring factor shown.

Get Detailed Audit