As of 3 Nov 2026, EverGrow EGC has 2 audit reports by 1 security firm on Trustblock; the latest is by CertiK, dated 4 Sep 2024. Those reports list no open critical findings. It also holds 3 deployed contracts on 1 chain.
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
Statuses are the security firm’s own, from each report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 2 | 4 |
| Medium | 0 | 0 | 0 |
| Low | 0 | 2 | 4 |
In the contract `LucroStaking` the role `_admin` has authority over the functions shown in the list below. - function `addPackage()`, to create a package, transfer the rewards token to the contract, and set the number per second of token distribution. Users can stake the token in the contract to get the rewards from the package. - function `alterPackage()`, to update the package attributes, such as updating the total distribution reward tokens, and updating the number per second of the token distribution. - function `endPackage()`, to end the package. - function `claimAllRewardsForUser()`, to claim all rewards for the user. - function `claimAllRewardsForUsers()`, to claim all rewards for the users. Any compromise to the `_admin` account may allow the hacker to take advantage of this authority, allowing them to set the package, withdraw all staking and reward tokens from the contract, claim all user rewards, update the total distribution reward tokens, and update the number per second of the token distribution. In the contract `LucroStaking` the role `_owner` has authority over the functions shown in the list below. - function `changeOwner()`, to change the owner. - function `addAdmin()`, to add an admin. The admin possesses the privilege to add or alter packages. - function `removeAdmin()`, to remove an admin. The admin possesses the privilege to add or alter packages. - function `setMaxStakingPerBatch()`, the owner of the contract possessed the privilege to set the max staking amount per batch. - function `setSafeMode()`, to change the safe mode, specifically for protecting users from accidents. - function `setSmallFeeToBoostTotalExcluded()`, the owner of the contract possessed the privilege to set the small fee amount of distribution. - function `setSlippage()`, the owner of the contract possessed the privilege to set the slippage tolerance of swapping tokens when compounding rewards. - function `setExitFee()`, to set the exit fee percentage. - function `setEntryFee()`, to set the entry fee percentage. - function `setFeeRecipient()`, to set the fee recipient address. - function `setDEX()`, to set the DEX address. - function `setSwapPath()`, to set swap paths. - function `setStartIndex()`, to set the start index for package looping. - function `setPause()`, to pause the contact, staking, unstaking, claiming rewards, and compounding rewards. Any compromise to the `_owner` account could potentially enable a hacker to exploit this authority, In the contract `Ownable` the role `_owner` has authority over the functions shown in the diagram below.  Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and transfer the ownership. **The `alterPackage` function is exclusively controlled by the `admin` role, which is responsible for updating crucial state variables like `totalToDistribute`, and `timePeriod`. These variables are pivotal to the project's integrity and impact the number per second of the token distribution and the total distribution of reward tokens. Unauthorized modifications could severely impact certain functionalities, potentially eroding user trust.**
Open the reportIn the `EverGrowStaking.sol` contract, - the role `_owner` has authority over the following functions: - function `addAdmin()`, to add an admin. - function `removeAdmin()`, to remove an admin. - function `setMaxStakingPerBatch()`, to set the max staking amount per batch. - function `setSmallFeeToBoostTotalExcluded()`, to set the small fee amount of distribution. - function `setSlippage()`, to set the slippage tolerance of swapping tokens when compounding rewards. - function `setExitFee()`, to set the exit fee percentage. - function `setEntryFee()`, to set the entry fee percentage. - function `setFeeRecipient()`, to set the fee recipient address. - function `setDEX()`, to set the DEX address. - function `setSwapPath()`, to set swap paths. - function `setStartIndex()`, to set the start index for package looping. - function `setPause()`, to pause the contact, staking, unstaking, claiming rewards, and compounding rewards. - the role `admin` has authority over the following functions: - function `setSafeMode()`, to change the safe mode. - function `addPackage()`, to create a package, transfer the rewards token to the contract, and set the number per second of token distribution. - function `alterPackage()`, to update the package attributes. - function `endPackage()`, to end the package. - function `claimAllRewardsForUser()`, to claim all rewards for the user. - function `claimAllRewardsForUsers()`, to claim all rewards for the users. In the `Ownable` contract, the `owner` role has authority over the following function: - function `changeOwner`, to change the owner. Any compromise of the privileged accounts could potentially enable a hacker to exploit their authority, allowing them to change the fee address, update the fee rate to collect fees, end reward packages to reclaim reward tokens, and ultimately disrupt the project's normal functionalities. **The `alterPackage` function is exclusively controlled by the `admin` role, which is responsible for updating crucial state variables like `totalToDistribute`, and `timePeriod`. These variables are pivotal to the project's integrity and impact the number per second of the token distribution and the total distribution of reward tokens. Unauthorized modifications could severely impact certain functionalities, potentially eroding user trust.**
Open the reportThe lack of restrictions on the `stake` function permits users to stake their tokens even after all packages have concluded. As a result, users may face losses since there are no rewards to distribute, and entry and exit fees will be charged when staking or unstaking their tokens. We would like to confirm with the team whether this is aligned with original design.
Open the reportThe lack of restrictions on the `stake` function permits users to stake their tokens even after all packages have concluded. As a result, users may face losses since there are no rewards to distribute, and entry and exit fees will be charged when staking or unstaking their tokens. We would like to confirm with the team whether this is aligned with original design.
Open the report| Address | Chain | Source code |
|---|---|---|
| 0xae57…caf50xae57fc660ce2dc2e713099b832f3550b89afcaf5 | Chain: BNB Chain | Source code: Verified source |
| 0x7a14…fe9c0x7a14676e237de4455da09a5236e54cdf4aa6fe9c | Chain: BNB Chain | Source code: Verified source |
| 0x08fe…a7ef0x08fea38af56bfcce8123bb08e4e416f073b4a7ef | Chain: BNB Chain | Source code: Verified source |
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="evergrow-1"></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