As of 3 Nov 2026, Opticash has 1 audit report on Trustblock, by CertiK, dated 10 Mar 2023. That report lists no open critical findings.
Record last updated . It holds audits, findings and contracts up to Nov 2026, and incidents up to Oct 2026. Trustblock does not review code.
Newest first
| Audit | Security firm | Date | Scope | Critical findings | Report |
|---|---|---|---|---|---|
| Opticash - Audit | Security firm: CertiK | Date: | Scope: Files named in the report | No open critical findings | Open · skynet.certik.com |
Statuses are the security firm’s own, from each report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 0 | 1 |
| Medium | 0 | 0 | 0 |
| Low | 0 | 0 | 8 |
In the contract `OPCH` the role `_owner` has authority over the functions `unlockERC()` and `setAllocation`. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and withdraw any tokens held by the contract and initialize the allocation of the OPCH token.
Open the reportBoolean constants can be used directly and do not need to be compared to true or false. ```solidity=57 require(mintCalled == false, "Allocation already done."); ```
Open the reportOne or more declarations do not conform to the [Solidity style guide](https://solidity.readthedocs.io/en/v0.7.3/style-guide.html#naming-conventions) with regards to its naming convention. Particularly: - `camelCase`: Should be applied to function names, argument names, local and state variable names, modifiers - `UPPER_CASE`: Should be applied to `constant` variables - `CapWords`: Should be applied to contract names, struct names, event names and enums
Open the reportMultiple lines of code were found to be duplicated and could make use of inheritance and be declared in external files.
Open the reportThere should always be events emitted in the sensitive functions that are controlled by centralization roles.
Open the reportThe **require** can be used to check for conditions and throw an exception if the condition is not met. It is better to provide a string message containing details about the error that will be passed back to the caller.
Open the reportAddresses should be checked before assignment or external call to make sure they are not zero addresses.
Open the reportComparisons that are always true or always false may be incorrect or unnecessary. ```solidity=89 require(amount >= 0, "Invalid allocation amount"); ``` --- ```solidity=88 require(amount >= 0, "Invalid allocation amount"); ``` --- ```solidity=66 require(amount >= 0, "Invalid allocation amount"); ``` --- ```solidity=78 require(amount >= 0, "Invalid allocation amount"); ``` --- ```solidity=89 require(amount >= 0, "Invalid allocation amount"); ``` --- ```solidity=66 require(amount >= 0, "Invalid allocation amount"); ``` --- ```solidity=65 require(amount >= 0, "Invalid allocation amount"); ```
Open the reportThe linked variables assigned in the constructor can be declared as `immutable`. Immutable state variables can be assigned during contract creation but will remain constant throughout the lifetime of a deployed contract. A big advantage of immutable variables is that reading them is significantly cheaper than reading from regular state variables since they will not be stored in storage.
Open the reportThe reports name a repository or files. Open a report to see its scope.
Is this your project? Show this record on your own website. The label states what the record holds, links to this page and updates by itself. It is free and needs no sign-in.
Automatic: the three strongest facts of this project’s own record (its last audit and two more), highlighted. They update with the record. Picking a fact turns Automatic off.
<head><script src="https://widget.trustblock.run/project-widget.min.js" defer></script></head><body><divdata-tb-project-widgetdata-tb-project-slug="opticash"></div></body>
Paste the code where the label should appear. It uses no API credit and updates by itself.
Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us