The PromptToken contract implements an ERC-20 token with LayerZero OFT capabilities and a Wayfinder gateway mechanism. It utilizes OpenZeppelin's ReentrancyGuard and AccessControl for security. Key findings include centralized control over Wayfinder handler registration, a conditional initial token minting logic, and the inherent risks associated with external calls to untrusted handlers. The contract is not upgradeable via proxy.
On-chain security analysis — is it a scam or legit?
Is Prompt 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 PromptToken contract implements an ERC-20 token with LayerZero OFT capabilities and a Wayfinder gateway mechanism.
Read the full analysis- Ownership not renounced — strong Multisig
- Top-10 concentration > 50%
- Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
- LP top1 unlocked holder = 100.0%
- LP top3 unlocked holders = 100.0%
- 1 High finding(s) from audit
- 1 Medium finding(s) from audit
- 1 Low finding(s) from audit
Exact factors
- Ownership NOT renounced — strong Multisig (3-of-6)
- Top-10 concentration > 50% (78.3% total → 61.1% effective; 49.7% in EOAs, 28.6% in contracts — heavy)
- Liquidity not locked, but no owner/deployer address holds LP — market-depth risk, not rug risk
- LP top1 unlocked holder = 100.0% (independent LP — depth risk, pool = 92% of DEX liquidity)
- LP top3 unlocked holders = 100.0% (independent LP — depth risk, pool = 92% of DEX liquidity)
- 1 High finding(s) from audit
- 1 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, staking28.6%
- Walletsanonymous holders, free to sell49.7%
- Everyone elsethe rest of the supply21.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.
0x3421…22aa0x7234…dece0x5a01…a692No privileged address appears among these holders: the unlocked liquidity sits with independent providers, not with the deployer.
Security Findings
HighCentralized Control over Wayfinder Gateway Configuration
The INVOKE_WAYFINDER_CONFIGURATION_ROLE, which is aliased to DEFAULT_ADMIN_ROLE, has exclusive control over adding new WayfinderGateway contracts via addWayfinderHandlerContract. While the function prevents overwriting existing entries, a malicious or compromised administrator could register a harmful handler. If users then interact with this malicious handler through invokeWayfinder, it could lead to the loss of their native tokens or PROMPT tokens, as the PromptToken contract facilitates transfers to the configured destination addresses and calls the specified handler.H-01
Issue
The INVOKE_WAYFINDER_CONFIGURATION_ROLE, which is aliased to DEFAULT_ADMIN_ROLE, has exclusive control over adding new WayfinderGateway contracts via addWayfinderHandlerContract. While the function prevents overwriting existing entries, a malicious or compromised administrator could register a harmful handler. If users then interact with this malicious handler through invokeWayfinder, it could lead to the loss of their native tokens or PROMPT tokens, as the PromptToken contract facilitates transfers to the configured destination addresses and calls the specified handler.
Fix
Implement robust multi-signature control for the DEFAULT_ADMIN_ROLE with a high threshold to ensure multiple trusted parties must approve critical changes. Consider adding a time-lock mechanism for addWayfinderHandlerContract to provide a window for community review or emergency intervention before a new handler becomes active.
Status
Unresolved
MediumConditional Initial Token Minting on Mainnet Only
The contract's constructor includes a conditional minting statement: if (block.chainid == 1) { _mint(msg.sender, SUPPLY); }. This logic dictates that the initial SUPPLY of tokens will only be minted if the contract is deployed on Ethereum mainnet (chain ID 1). If deployed on any other chain, such as Base (chain ID 8453), the initial supply will not be minted, resulting in a token with zero initial supply. While this might be an intentional design for a cross-chain token where supply originates on Ethereum and is bridged, it represents a critical operational detail that could lead to unexpected behavior or a non-functional token if the deployment strategy is misunderstood or misconfigure…M-01
Issue
The contract's constructor includes a conditional minting statement: if (block.chainid == 1) { _mint(msg.sender, SUPPLY); }. This logic dictates that the initial SUPPLY of tokens will only be minted if the contract is deployed on Ethereum mainnet (chain ID 1). If deployed on any other chain, such as Base (chain ID 8453), the initial supply will not be minted, resulting in a token with zero initial supply. While this might be an intentional design for a cross-chain token where supply originates on Ethereum and is bridged, it represents a critical operational detail that could lead to unexpected behavior or a non-functional token if the deployment strategy is misunderstood or misconfigure…
Fix
Clearly document the intended deployment strategy and initial supply mechanism across all target chains. If an initial supply is desired on non-mainnet chains, adjust the minting condition to include relevant chain IDs or implement a separate, access-controlled minting function for post-deployment initialization on other networks.
Status
Unresolved
LowReliance on External Untrusted Handler Logic
The invokeWayfinder function makes an external call to InvokeWayfinderHandler(_handlerAddress).handleInvokeWayfinder. While the PromptToken contract itself is protected by ReentrancyGuard and its internal state changes occur before the external call, the _handlerAddress is configured by an administrator. A malicious or buggy handler contract could lead to unexpected behavior, denial of service, or loss of funds for users interacting with that specific handler, even if the PromptToken contract remains secure. Users implicitly trust the logic of the configured handlers.L-01
Issue
The invokeWayfinder function makes an external call to InvokeWayfinderHandler(_handlerAddress).handleInvokeWayfinder. While the PromptToken contract itself is protected by ReentrancyGuard and its internal state changes occur before the external call, the _handlerAddress is configured by an administrator. A malicious or buggy handler contract could lead to unexpected behavior, denial of service, or loss of funds for users interacting with that specific handler, even if the PromptToken contract remains secure. Users implicitly trust the logic of the configured handlers.
Fix
Emphasize the critical importance of thorough security audits and continuous monitoring for all registered InvokeWayfinderHandler contracts. Users should be made aware that interacting with a specific handler implies trust in that handler's logic and security. Consider implementing a 'pause' mechanism for specific handlers in case of detected vulnerabilities.
Status
Unresolved
InfoIrreversible Role Renouncement Prevention
The renounceRole and renounceOwnership functions are explicitly overridden to revert("Cannot renounce role"). This design choice prevents any administrator or owner from accidentally or maliciously renouncing their critical roles, ensuring that administrative control is always maintained within the system. This is a security-conscious decision to prevent loss of control.I-01
Issue
The renounceRole and renounceOwnership functions are explicitly overridden to revert("Cannot renounce role"). This design choice prevents any administrator or owner from accidentally or maliciously renouncing their critical roles, ensuring that administrative control is always maintained within the system. This is a security-conscious decision to prevent loss of control.
Fix
Document this design choice clearly within the project's technical specifications, highlighting its role in maintaining consistent administrative oversight and preventing accidental loss of control.
Status
Unresolved
InfoSelf-Revocation Prevention for Roles
The revokeRole function includes a require(account != _msgSender(), "Cannot revoke role from self") check. This prevents an administrator from accidentally or maliciously revoking their own role, which could lead to a loss of administrative control over the contract. This is a good security practice that enhances the robustness of the access control system.I-02
Issue
The revokeRole function includes a require(account != _msgSender(), "Cannot revoke role from self") check. This prevents an administrator from accidentally or maliciously revoking their own role, which could lead to a loss of administrative control over the contract. This is a good security practice that enhances the robustness of the access control system.
Fix
Document this design choice clearly, explaining its purpose in preventing administrative lockout and ensuring continuous operational control.
Status
Unresolved
Analysis
AI Copilotas of audit · Sep 4The contract utilizes OpenZeppelin's ReentrancyGuard and AccessControl for robust security, including explicit prevention of role renouncement and self-revocation (7.2 Code Security, 7.3 Access Control). The invokeWayfinder function is protected against reentrancy. However, the system relies on trusted administrators to configure WayfinderGateway contracts, which can make external calls to untrusted handlers, posing a risk if a handler is compromised or malicious (7.6 External).
The contract implements a centralized access control model where the DEFAULT_ADMIN_ROLE (also INVOKE_WAYFINDER_CONFIGURATION_ROLE) has significant power, including the ability to register new Wayfinder handlers. While the prefill indicates a multisig owner, a compromised or malicious admin could register a harmful handler, impacting user funds (7.5 Governance, 7.4 Economic). Additionally, the initial token minting is conditional on block.chainid == 1, which could lead to an unexpected lack of initial supply on other chains like Base (7.8 Operations).
The PromptToken contract is deployed as a standard implementation and does not utilize a proxy pattern, meaning it is not directly upgradeable. Any future changes to the contract logic would require deploying a new contract and migrating users and/or assets, which is a secure but less flexible approach (7.7 Upgrades).
It is recommended to implement robust multi-signature control and potentially a time-lock for the DEFAULT_ADMIN_ROLE to mitigate the risks associated with centralized control over Wayfinder handler registration.
Thoroughly audit and monitor all registered InvokeWayfinderHandler contracts, as they represent external trust dependencies. Additionally, ensure the initial token supply strategy is clearly documented and aligns with deployment plans across all target chains, especially for non-mainnet environments.
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, 202656Medium
- Aug 11, 202675High
Score changes are recorded as dated snapshots — history is append-only and cannot be edited.
Frequently Asked Questions
What is the PROMPT contract address?
The Prompt contract on Base is 0x30c7235866872213f68cb1f08c37cb9eccb93452. Compare it with the address the project itself publishes before trading: other contracts can carry the same name and ticker.
Is Prompt a scam?
Quantum Audit's risk score for Prompt is 56/100 (Medium risk) as of Sep 4, 2026, computed by a deterministic function from on-chain facts — Contract verified: Verified; Ownership: Retained; Mint: No mint; Liquidity lock: Not locked; Upgradeability: Fixed code. A score is a dated snapshot of those facts, not a guarantee; each one is listed on this page.
Is PROMPT liquidity locked?
Liquidity lock: Not locked (as of Sep 4, 2026). Total DEX liquidity: $135.2K.
Who holds PROMPT?
As of Sep 4, 2026, the 10 largest holders own 78.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 Prompt?
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