The audit of the SyntheticToken contract (implementation for a TransparentUpgradeableProxy) on the Base network identified several areas of concern, primarily related to centralized control and reliance on external dependencies. While the contract demonstrates good coding practices and adheres to upgradeability standards, the extensive powers granted to the governor role and the immutability of a critical dependency introduce notable risks. The core ERC-20 logic was partially truncated, limiting a full assessment of internal functions.
On-chain security analysis — is it a scam or legit?
Is Metronome Synth USD 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 SyntheticToken contract (implementation for a TransparentUpgradeableProxy) on the Base network identified several areas of concern, primarily related to centralized control and reliance on external dependencies.
Read the full analysis- Ownership status UNKNOWN
- 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 = 100.0%
- LP top3 unlocked holders = 100.0%
- 1 High finding(s) from audit
- 2 Medium 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)
- Top-10 concentration > 50% (94.2% total → 57.2% effective; 32.4% in EOAs, 61.8% 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 = 65% of DEX liquidity)
- LP top3 unlocked holders = 100.0% (independent LP — depth risk, pool = 65% 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, staking61.8%
- Walletsanonymous holders, free to sell32.4%
- Everyone elsethe rest of the supply5.8%
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- AerodromemsETHAnalysed$2.60M64.8%
- AerodromeUSDC$1.05M26.2%
- AerodromeUSDC$351.2K8.8%
- AerodromeUSDC$5.1K0.1%
- AerodromeAERO$3.4K0.1%
- AerodromeUSDC$80.0%
Show 2 more pairs
The 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.
0xd9b0…236fNo privileged address appears among these holders: the unlocked liquidity sits with independent providers, not with the deployer.
Security Findings
HighCentralized Control Over Token Supply and Operations
The SyntheticToken contract grants significant control to the governor role (obtained from _poolRegistry). The governor can update maxTotalSupply, maxAmoSupply, maxBridgedInSupply, maxBridgedOutSupply, proxyOFT, and amo addresses. These addresses are then used in onlyIfCanBurn and onlyIfCanMint modifiers, effectively allowing the governor to dictate which external entities can mint or burn tokens. This centralization introduces a single point of failure; compromise of the governor's private key could lead to arbitrary minting/burning or manipulation of supply caps. (Coverage: 7.3 Access Control, 7.4 Economic, 7.5 Governance)H-01
Issue
The SyntheticToken contract grants significant control to the governor role (obtained from _poolRegistry). The governor can update maxTotalSupply, maxAmoSupply, maxBridgedInSupply, maxBridgedOutSupply, proxyOFT, and amo addresses. These addresses are then used in onlyIfCanBurn and onlyIfCanMint modifiers, effectively allowing the governor to dictate which external entities can mint or burn tokens. This centralization introduces a single point of failure; compromise of the governor's private key could lead to arbitrary minting/burning or manipulation of supply caps. (Coverage: 7.3 Access Control, 7.4 Economic, 7.5 Governance)
Fix
Implement a multi-signature wallet or a time-locked governance mechanism for critical administrative functions to reduce the risk associated with a single point of control. Clearly document the powers of the governor and the associated risks.
Status
Unresolved
MediumImmutability of _poolRegistry after Initialization
The _poolRegistry address, which is crucial for determining the governor and potentially other core functionalities, is set only once during the initialize function. There is no setter function to update this address. If _poolRegistry is initialized incorrectly or if the referenced IPoolRegistry contract needs to be upgraded or replaced in the future, it would require a full contract upgrade of SyntheticToken itself, which is a more complex and risky operation than a simple address update. (Coverage: 7.1 Architecture, 7.3 Access Control, 7.8 Operations)M-01
_poolRegistry after InitializationIssue
The _poolRegistry address, which is crucial for determining the governor and potentially other core functionalities, is set only once during the initialize function. There is no setter function to update this address. If _poolRegistry is initialized incorrectly or if the referenced IPoolRegistry contract needs to be upgraded or replaced in the future, it would require a full contract upgrade of SyntheticToken itself, which is a more complex and risky operation than a simple address update. (Coverage: 7.1 Architecture, 7.3 Access Control, 7.8 Operations)
Fix
Consider adding a setPoolRegistry function, protected by onlyGovernor, to allow for updates to this critical dependency. This would provide more flexibility for future protocol evolution and error correction, while still maintaining appropriate access control.
Status
Unresolved
MediumReliance on External Contract Security and Liveness
The SyntheticToken contract heavily relies on external contracts such as IPoolRegistry, IProxyOFT, IPool, and IDebtToken for its core access control logic (onlyIfCanBurn, onlyIfCanMint, onlyIfCanSeize) and to determine the governor. The security, liveness, and correct functioning of these external contracts are paramount. A vulnerability, compromise, or unexpected behavior in any of these dependencies could directly impact the SyntheticToken's integrity, potentially leading to unauthorized minting/burning or frozen operations. (Coverage: 7.6 External, 7.1 Architecture)M-02
Issue
The SyntheticToken contract heavily relies on external contracts such as IPoolRegistry, IProxyOFT, IPool, and IDebtToken for its core access control logic (onlyIfCanBurn, onlyIfCanMint, onlyIfCanSeize) and to determine the governor. The security, liveness, and correct functioning of these external contracts are paramount. A vulnerability, compromise, or unexpected behavior in any of these dependencies could directly impact the SyntheticToken's integrity, potentially leading to unauthorized minting/burning or frozen operations. (Coverage: 7.6 External, 7.1 Architecture)
Fix
Conduct thorough security audits of all integrated external contracts. Implement robust monitoring for the health and activity of these dependencies. Consider circuit breakers or emergency pause mechanisms in SyntheticToken that can be triggered if a critical external dependency is compromised or malfunctions.
Status
Unresolved
LowDefault maxTotalSupply to type(uint256).max
During initialization, maxTotalSupply is set to type(uint256).max, effectively imposing no initial cap on the total supply of the synthetic token. While the governor can later set a specific maxTotalSupply via setMaxTotalSupply, this initial state means that until a specific cap is set, the token's supply is theoretically unbounded, subject only to the onlyIfCanMint restrictions. This might not align with the intended economic model if a hard cap is desired from the outset. (Coverage: 7.4 Economic, 7.5 Governance)L-01
maxTotalSupply to type(uint256).maxIssue
During initialization, maxTotalSupply is set to type(uint256).max, effectively imposing no initial cap on the total supply of the synthetic token. While the governor can later set a specific maxTotalSupply via setMaxTotalSupply, this initial state means that until a specific cap is set, the token's supply is theoretically unbounded, subject only to the onlyIfCanMint restrictions. This might not align with the intended economic model if a hard cap is desired from the outset. (Coverage: 7.4 Economic, 7.5 Governance)
Fix
If a specific total supply cap is intended from deployment, it should be set during the initialize function or immediately after deployment by the governor. Otherwise, ensure clear documentation that the initial supply is uncapped and relies on the governor to set a limit.
Status
Unresolved
InfoIncomplete Code for Core ERC-20 Logic
The provided contract snippet for SyntheticToken truncates the implementations of critical internal functions such as _approve, _burn, _mint, and _transfer. These functions are fundamental to the token's ERC-20 behavior and supply management, including the enforcement of supply caps (SurpassMaxBridgingSupply, SurpassMaxSynthSupply) and balance updates. Without the full code, a comprehensive audit of these core mechanics, including potential reentrancy vectors or subtle arithmetic errors, cannot be fully performed. (Coverage: 7.2 Code Security)I-01
Issue
The provided contract snippet for SyntheticToken truncates the implementations of critical internal functions such as _approve, _burn, _mint, and _transfer. These functions are fundamental to the token's ERC-20 behavior and supply management, including the enforcement of supply caps (SurpassMaxBridgingSupply, SurpassMaxSynthSupply) and balance updates. Without the full code, a comprehensive audit of these core mechanics, including potential reentrancy vectors or subtle arithmetic errors, cannot be fully performed. (Coverage: 7.2 Code Security)
Fix
Always provide the complete and final source code for all contracts and their dependencies for a thorough security audit. Assume standard and safe OpenZeppelin-like implementations for these internal functions, but verify this assumption with the full code.
Status
Unresolved
Analysis
AI Copilotas of audit · Sep 4The contract demonstrates good adherence to secure coding practices, including comprehensive input validation with custom error messages (e.g., NameIsNull, AmountExceedsAllowance). It correctly implements ERC-20 standard functions like transferFrom with allowance handling, including type(uint256).max for infinite allowances. The use of unchecked blocks for decreaseAllowance is safely guarded, preventing underflow. A significant portion of the core ERC-20 logic (_mint, _burn, _transfer) was not provided, limiting a full assessment of potential reentrancy or subtle arithmetic issues within these critical functions (I-01). The contract's reliance on external contracts for access control also introduces a dependency risk (M-02).
The contract clearly defines a governor role and uses specific modifiers (onlyGovernor, onlyIfCanBurn, onlyIfCanMint, onlyIfCanSeize) to enforce access control for sensitive operations. This structured approach to permissions is beneficial for operational clarity. However, the governor holds highly centralized control over critical parameters, including the ability to set supply caps (maxTotalSupply, maxAmoSupply) and define which external entities can mint or burn tokens (H-01). This level of centralization presents a significant single point of failure and economic risk if the governor's key is compromised. Additionally, the _poolRegistry address, which determines the governor, is immutable after initialization (M-01).
The contract correctly utilizes the OpenZeppelin Initializable pattern, including _disableInitializers() in the constructor and the initializer modifier, which is standard practice for secure upgradeable contracts. The use of SyntheticTokenStorageV2 suggests a conscious effort to manage storage layout for future upgrades, mitigating common storage collision risks. While the standard upgrade pattern is followed, the immutability of the _poolRegistry address (M-01) means that if this core dependency needs to be changed, it would necessitate a full contract upgrade, rather than a simpler administrative update.
To enhance the security posture of the SyntheticToken contract, it is highly recommended to decentralize critical administrative powers currently held by the single governor role.
Implementing a multi-signature wallet with a sufficient threshold or a time-locked governance mechanism for sensitive operations like setting supply caps or updating privileged addresses would significantly mitigate the risk of a single point of failure. Additionally, consider adding a governor-controlled setter for the _poolRegistry address to allow for more flexible management of this critical dependency without requiring a full contract upgrade.
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, 202668High
- Jul 28, 202659Medium
- Jul 24, 202667High
Score changes are recorded as dated snapshots — history is append-only and cannot be edited.
Frequently Asked Questions
What is the MSUSD contract address?
The Metronome Synth USD (MSUSD) contract on Base is 0x526728dbc96689597f85ae4cd716d4f7fccbae9d. Compare it with the address the project itself publishes before trading: other contracts can carry the same name and ticker.
Is Metronome Synth USD a scam?
Quantum Audit's risk score for Metronome Synth USD is 68/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. A score is a dated snapshot of those facts, not a guarantee; each one is listed on this page.
Is MSUSD liquidity locked?
Liquidity lock: Not locked (as of Sep 4, 2026). Total DEX liquidity: $4.01M.
Who holds MSUSD?
As of Sep 4, 2026, the 10 largest holders own 94.2% of the supply. The Holders section on this page shows who they are by holder type.
Would You Like a More Detailed Audit of Metronome Synth USD?
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