As of 30 Oct 2026, Oikos Cash has 1 audit report on Trustblock, by QuillAudits, dated 30 Apr 2025. That report lists no open critical findings.
Record last updated . It holds audits and findings, contracts and incidents up to Oct 2026. Trustblock does not review code.
Newest first
| Audit | Security firm | Date | Scope | Critical findings | Report |
|---|---|---|---|---|---|
| Oikos | Security firm: QuillAudits | Date: | Scope: Files named in the report | No open critical findings | Open · quillaudits.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 | 1 |
| Low | 7 | 0 | 3 |
The withdraw() transfers the availableBalance for the token, instead it should be the amount calcu lated according to the number of pNoma tokens the user had. In withdraw() first it gets the balance of the user, then burns the p-assets. Then calculates the minAmountOut value. Finally it transfers the availableBalance instead of minAmountOut resulting in transfer of more than intended tokens.
Open the reportThe deposit() function in the presale contract allows users to pass an arbitrary referralCode. However, this referralCode is later interpreted as the address to receive referral rewards in payReferrals()<br>- A user can generate their own referral code from their own address (e.g., bytes32(uint256(uint160(msg.sender)))) and pass it to the deposit() function.<br>- As a result, they receive a percentage of their own deposit back via the referral mechanism.<br>- This effectively gives them a discount on token purchases at the cost of the protocol.<br>Additionally:<br>- msg.value == 0 is allowed, which could result in unintended free mints or bloated contributor lists
Open the reportIn Presale contract, slippage check is calculated in the finalize() function to ensure the stability of the price. But the issue is that the comment has mentioned slippage to be 0.1% and the actual slippage calculated in contract is 0.5% which is higher and is mismatched from the sentence.
Open the report<br>1. No Emergency Mode Toggle:<br> The emergencyWithdrawal() function does not depend on any emergency toggle/switch, meaning it’s passively time-gated (deadline + 30 days), rather than actively controlled by the protocol or owner.<br> This limits response flexibility in critical failures (e.g., token price manipulation, stuck funds, or an attack on the protocol).<br><br>2. Improper Error Message:<br> The revert message in emergencyWithdrawal() uses PresaleOngoing() when finalized is true, which is semantically incorrect. If the presale is finalized, emergency withdrawal shouldn’t be allowed at all, or a different error like PresaleFinalized() should be used.<br><br>3. State Inconsistency in Emergency Withdrawal:<br> While a user’s individual contributions[msg.sender] is zeroed, the global totalRaised variable is not decremented.<br> <br>This leads to inflated accounting, which can break invariant assumptions during finalization or analytics.<br><br>4. Commented-Out Contribution Limits:<br> In deposit(), the MIN_CONTRIBUTION and MAX_CONTRIBUTION checks are commented out
Open the reportThe deposit function in the Presale contract performs an incorrect validation check that could allow contributions to exceed the intended hardcap limit. The check is performed before the new contribu tion is added to the total, and it only reverts if the current balance is already greater than the hardcap.
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="oikos"></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