Plexrum Info
Universal Ownership for real-world assets. Plexrum is a unified ecosystem where a property stays scarce — but its ownership becomes infinite. Access · Exchange · Create · Unlock — all on-chain.
Team and KYC Verification
The KYC verification for this project is currently in progress.
The team has submitted their information and verification is pending.
TrustNet Score
The TrustNet Score evaluates crypto projects based on audit results, security, KYC verification, and social media presence. This score offers a quick, transparent view of a project's credibility, helping users make informed decisions in the Web3 space.
Real-Time Threat Detection
Real-time threat detection, powered by Cyvers.io,
is currently not
activated
for this project.
This advanced feature provides continuous monitoring and instant alerts to safeguard your assets from potential security threats. Real-time detection enhances your project's security by proactively identifying and mitigating risks.
For more information, click here.
Security Assessments
Summary and Final Words
No crucial issues found
The contract does not contain issues of high or medium criticality. This means that no known vulnerabilities were found in the source code.
Contract owner cannot mint
It is not possible to mint new tokens.
Contract owner cannot blacklist addresses.
It is not possible to lock user funds by blacklisting addresses.
Contract owner cannot set high fees
The fees, if applicable, can be a maximum of 25% or lower. The contract can therefore not be locked. Please take a look in the comment section for more details.
Contract cannot be locked
Owner cannot lock any user funds.
Token cannot be burned
There is no burning within the contract without any allowances
Ownership is not renounced
The owner retains significant control, which could potentially be used to modify key contract parameters.
Contract is not upgradeable
The contract does not use proxy patterns or other mechanisms to allow future upgrades. Its behavior is locked in its current state.
Scope of Work
This audit encompasses the evaluation of the files listed below, each verified with a SHA-1 Hash. The team referenced above has provided the necessary files for assessment.
The auditing process consists of the following systematic steps:
- Specification Review: Analyze the provided specifications, source code, and instructions to fully understand the smart contract's size, scope, and functionality.
- Manual Code Examination: Conduct a thorough line-by-line review of the source code to identify potential vulnerabilities and areas for improvement.
- Specification Alignment: Ensure that the code accurately implements the provided specifications and intended functionalities.
- Test Coverage Assessment: Evaluate the extent and effectiveness of test cases in covering the codebase, identifying any gaps in testing.
- Symbolic Execution: Analyze the smart contract to determine how various inputs affect execution paths, identifying potential edge cases and vulnerabilities.
- Best Practices Evaluation: Assess the smart contracts against established industry and academic best practices to enhance efficiency, maintainability, and security.
- Actionable Recommendations: Provide detailed, specific, and actionable steps to secure and optimize the smart contracts.
A file with a different Hash has been intentionally or otherwise modified after the security review. A different Hash may indicate a changed condition or potential vulnerability that was not within the scope of this review.
Final Words
The following provides a concise summary of the audit report, accompanied by insightful comments from the auditor. This overview captures the key findings and observations, offering valuable context and clarity.
Smart Contract Analysis Statement
Contract Analysis
The Plexrum (PLXR) contract implements an ERC-20 token with a fixed supply of one billion units, holder-burnable balances, renounceable ownership, and no post-deployment minting. It is deployed on Ethereum rather than the chain targeted by the previous revision. The design remains deliberately minimal and follows the well-trodden OpenZeppelin pattern for non-inflationary tokens. There are no fee-on-transfer mechanics, no blacklist, no pause, and no rebase. The token passes every ERC-20 conformance check, including return types, view modifiers, and indexed event parameters, and symbolic execution surfaced nothing beyond a known false positive in compiler-generated constructor scaffolding. Both findings raised against the previous revision of this contract have been addressed, and two new items were introduced by that remediation:
- Ownership transfer is now two-step, which resolves the previously-reported risk that a mistyped recipient would hand the token over irrecoverably. This was verified by test: the transfer does not take effect on proposal, an unauthorised acceptance reverts, and a mistyped pending owner can be overridden by proposing again before acceptance. Renunciation remains available by design, matching the project's stated intent to renounce once the token is in distribution.
- The constructor was marked payable to capture a small deployment-gas saving, as previously recommended. The token has no receive function, no fallback, and no withdrawal path of any kind, so any ether attached to the deployment transaction is frozen permanently. The saving is roughly two hundred gas, once, which is not a trade worth making against an unrecoverable loss. Removing the modifier is the recommended resolution.
- The Solidity pragma is now pinned rather than floating, which was the substance of the previous recommendation, but it was pinned to a different exact version from the rest of the project. Two exact pins with no overlapping range is a stricter failure than the floating caret it replaced, because the caret was at least satisfiable by the newer compiler. The practical consequences are that the project cannot be built under a single declared compiler version, and that no deployment script, integration test, or periphery contract can reference the token alongside the presale or the vault. Aligning every file to the same exact version resolves this.
- The total supply constant now uses scientific notation, consistent with the rest of the codebase. Cosmetic, and confirmed applied.
Ownership Privileges
The ownership of the contract has been retained by the deployer and is renounceable per the project's design. The owner retains the full but deliberately narrow set of privileges:
- Propose a transfer of ownership to another address. The transfer only takes effect once the proposed owner accepts it, and the proposal can be replaced or redirected until then.
- Renounce ownership permanently, which the project indicates is the intended end state once the token is in distribution.
- No ability to mint new tokens. Total supply is locked at one billion forever, and the only mint call is in the constructor.
- No ability to pause transfers, freeze accounts, blacklist holders, or take fees on transfers.
- The contract has no upgrade path, no proxy, and no admin module beyond ownership.
- Burn is a holder-side function only. No administrative burn exists, so the owner cannot reduce another holder's balance.
- The contract exposes no rescue function and holds no value by design. Note that ether attached to the deployment transaction would be held and would not be recoverable, which is the open finding above.
- There are no fee sinks, treasury hooks, or routing of transfer value to external addresses.
Security Features
The contract implements several positive security features:
- Fixed and immutable supply minted entirely at construction time, removing any possibility of post-deployment inflation.
- Two-step ownership transfer, so a proposed owner must accept before any privilege moves. This is an improvement over the previous revision and closes the only material finding raised against it.
- Direct inheritance from the OpenZeppelin v5 ERC-20 reference implementation, which delegates transfer, approval, and event-emission semantics to a widely-reviewed base.
- Holder burn provides a clean, supply-reducing exit path with no administrative interaction.
- Full ERC-20 conformance confirmed by automated checking. The only flagged item is the long-deprecated approval race condition, which the library treats as an integrator concern and for which it exposes safe-increase, safe-decrease, and force-approve helpers. This is expected behaviour rather than a contract defect, though the project should document the recommended helpers for integrators.
- Static analysis with deterministic scanners, symbolic execution, and pattern matching found no exploitable issue in the token. The only items raised are the ownership and pragma observations noted above.
Note - This audit report consists of a security re-analysis of the PLXR smart contract following remediation of the previous engagement's findings. This analysis did not include economic analysis of the contract's tokenomics. Moreover, we only audited the main contract for the Plexrum team. Other contracts associated with the project were audited in parallel but reported separately, and the broader Plexrum ecosystem was not part of this engagement. Note that the submitted repository did not compile as delivered and had to be reconstructed for analysis, so re-verification against a building repository is required before deployment. We recommend investors do their own research before investing.
Files and details
Findings and Audit result
low Issues | 3 findings
Pending
#1 low Issue
Payable constructor traps ether permanently because the token has no ether exit path
The constructor was marked payable to save deployment gas, following the optimization recommended in the previous review. The token has no receive function, no fallback, and no withdrawal function of any kind, so any ether attached to the deployment transaction is frozen for the lifetime of the chain. The same pattern was applied to the vesting vault, which is likewise unable to release it. The presale contract also has a payable constructor but does expose an ether rescue, so only these two are affected. Static analysis reports both as locked-ether at medium impact and high confidence.
Pending
#2 low Issue
Token pins an exact compiler version that does not intersect with the rest of the project
The token declares an exact pragma of 0.8.24 while the presale, the vault, both interfaces and the tier library all declare an exact pragma of 0.8.34. Two exact pins with no overlapping range is a stricter failure than the floating caret it replaced, because the previous caret form was at least satisfiable by the newer compiler. Setting a single compiler version in the build profile now fails immediately, so the project cannot be built reproducibly, and no single compilation unit can reference the token alongside the presale or the vault. That rules out any deployment script, integration test or periphery contract that needs both sides. A secondary effect is that the two compiler versions default to different EVM targets, Shanghai against Cancun, so the three contracts are built for different targets unless that is overridden explicitly.
Resolved
#3 low Issue
Single-step ownership transfer can lock out the project on a typo
Previously reported. The token inherited the single-step ownership base, so a mistyped recipient in a transfer handed the contract over irrecoverably in one transaction.
optimization Issues | 2 findings
Resolved
#1 optimization Issue
Use scientific notation for the total-supply constant
Previously reported. The total supply was declared using the exponentiation form rather than the scientific notation used elsewhere in the project.
Resolved
#2 optimization Issue
Constructor can be marked payable to save deployment gas
Previously reported as a gas optimization. Solidity adds an implicit zero-value check to every non-payable constructor, and removing it saves a small amount of deployment gas.
informational Issues | 2 findings
Pending
#1 informational Issue
Solidity pragma is floating and differs from the rest of the project
Previously reported. The token declared a floating pragma with a lower floor than the other contracts in scope, so a later rebuild could pick up an unaudited compiler.
Pending
#2 informational Issue
Approval race-condition note carried over from older ERC-20 patterns
Previously reported. The token inherits the standard approval function, which is susceptible to the classic front-running race when a non-zero allowance is changed to another non-zero value. The library treats this as an integrator concern and exposes safe increase, safe decrease and force-approve helpers for it. The behaviour is expected and is not a contract defect.