As of 3 Nov 2026, Genius AI™ has 1 audit report on Trustblock, by CertiK, dated 19 Dec 2022. 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 |
|---|---|---|---|---|---|
| Genius - Audit #2 | 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 | 2 |
| Medium | 0 | 4 | 0 |
| Low | 9 | 0 | 7 |
The function `proofOfExodus()` executes an external call `IGeneral(callbackContract).exodus(msg.sender, balance, miners)`, where the address `callbackContract` is controlled by the caller and there is no input validation in place. A user can deploy a malicious `callbackContract` and perform arbitrary actions in the function `IGeneral.exodus()`.
Open the reportIn functions `_summarize10Days()`, `_summarize100Days()`, the variables `newInflation` and `redistribution` are accumulated. However, in `_summarize1000Days()`, the variables are reset for each loop iteration. ```solidity newInflation = 0; redistribution = 0; ```
Open the reportIn `_manageCollateralMinerPayouts()`, the mint value is `netPrincipalPayout + netRewardsPayout`. `netRewardsPayout` is decreased from `calendar.burnedSupply` afterward. Our understanding is that the reason for the decrease is that `netRewardsPayout` is minted. On the other hand, as the other value minted, `netPrincipalPayout` is not deducted from anywhere.
Open the reportWhen a user outbids the highest bidder in the auction, as implemented in `_handleAuctionOutBid`, the highest bidder will get 99.99% of the amount instead of the entire amount returned.
Open the reportWhen transferring deflationary ERC20 tokens, the input amount may not be equal to the received amount due to the charged transaction fee. For example, if a user sends 100 deflationary tokens (with a 10% transaction fee), only 90 tokens actually arrived to the contract. However, a failure to discount such fees may allow the same user to withdraw 100 tokens from the contract, which causes the contract to lose 10 tokens in such a transaction.
Open the report1. `decreaseBurnedSupply()`: the `auctionAddress` has access in the implementation but not mentioned in the comments. 2. `increaseBurnedSupply()`: the `hexodusAddress` has access in the implementation but not mentioned in the comments. 3. `incDailyPenalties()`: the `auctionAddress` has access in the implementation but not mentioned in the comments.
Open the reportIt is now well understood that the difficulty or timestamp is not a source of randomness. They can be manipulated if the attacker is also a miner. For EVM compatible blockchains such as Binance smart chain and Polygon, the `block.difficulty` can be the same value across multiple blocks, making the situation even worse.
Open the reportFor the first bid, the actual amount burned in `_geniusContract` is `auction.firstBid` but not the input `bid`.
Open the reportThe linked functions are equivalent to the compiler-generated getter functions for the respective variables.
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="genius"></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