CleanCarbon.io security record

As of 3 Nov 2026, CleanCarbon.io has 2 audit reports by 2 security firms on Trustblock; the latest is by CertiK, dated 18 Sep 2023. Those reports list no open critical findings.

Critical findings
No open critical findings
Across 2 reports.
Open the latest report
Your label, live
Get the label for your site

Record last updated . It holds audits, findings and contracts up to Nov 2026, and incidents up to Oct 2026. Trustblock does not review code.

Audits2

Newest first

AuditSecurity firmDateScopeCritical findingsReport
CleanCarbonSecurity firm: CertiKDate: Scope: Files named in the reportNo open critical findingsOpen · skynet.certik.com
CleanCarbonSecurity firm: HashExDate: Scope: Repository at commit masterNo open critical findingsOpen · hashex.org

Findings54

Statuses are the security firm’s own, from each report.

SeverityOpenAcknowledgedFixed
Critical000
High1111
Medium501
Low25010
HighIncorrect `secondsPerMonth`CleanCarbon · CertiK · 18 Sep 2023Fixed

There are `86_400` seconds in a day, so there are `86_400*30 = 2_592_000` seconds per month (assuming the convention that a month always counts as 30 days). However, the constant `secondPerMonth` is set to `259_200`, which is the amount of seconds per 3 days. This will cause the amount that is to be rewarded each month for the team developers to be rewarded every 3 days.

Open the report
Medium`emergencyWithdraw()` Can Transfer Users Staked TCleanCarbon · CertiK · 18 Sep 2023Fixed

In the contract `stakingCarbon`, users stake `mainToken` in the contract. The `emergencyWithdraw()` function allows the `DEFAULT_ADMIN_ROLE` to withdraw any ERC20 token from the contract, including the staked `mainToken` of users.

Open the report
Low`ADMIN` Role Not Used In `AirdropCarbonv2`CleanCarbon · CertiK · 18 Sep 2023Fixed

The `ADMIN` role is only used in the `AirdropCarbonv2` contract to restrict `changeAdminRole`. Since the contract does not use the `ADMIN` role to restrict access to any functions not directly related to the role itself, it can be removed.

Open the report
Low`isActive` DiscussionCleanCarbon · CertiK · 18 Sep 2023Fixed

The `ADMIN` calls `addStakingPayload()`, to add additional staking options. This function would not be called unless the new staking option was intended to be active, as there is no functionality to change if a specific staking option is active. Thus, the `payload` does not need a parameter for `isActive` as it should always be true.

Open the report
LowLocked EtherCleanCarbon · CertiK · 18 Sep 2023Fixed

The contracts `StakingCarbon` and `CarboTokenv2` have `payable` constructors allowing native tokens to accidentaly be sent when deploying the contract that will be locked in the contract.

Open the report
LowMissing Emit EventsCleanCarbon · CertiK · 18 Sep 2023Fixed

There should always be events emitted in the sensitive functions that are controlled by centralization roles. The functions linked above do not emit events.

Open the report
LowMissing Zero Address ValidationCleanCarbon · CertiK · 18 Sep 2023Fixed

Addresses should be checked before assignment or external call to make sure they are not zero addresses. ```solidity=26 carboV1Addr = _tokenV1; ``` - `_tokenV1` is not zero-checked before being used. --- ```solidity=27 carboV2Addr = _tokenV2; ``` - `_tokenV2` is not zero-checked before being used. --- ```solidity=46 mainToken = _mainToken; ``` - `_mainToken` is not zero-checked before being used.

Open the report
LowTime Units Can Be Used DirectlyCleanCarbon · CertiK · 18 Sep 2023Fixed

Suffixes like seconds, minutes, hours, days and weeks after literal numbers can be used to specify units of time where seconds are the base unit and units are considered naively in the following way: - 1 == 1 seconds; - 1 minutes == 60 seconds; - 1 hours == 60 minutes; - 1 days == 24 hours; - 1 weeks == 7 days;

Open the report
LowTyposCleanCarbon · CertiK · 18 Sep 2023Fixed

In the contract `CarboTokenv2`: - The comment below `secondsPerMonth` is unnecessary and can be deleted. - The comment in the function `emergencyWithdraw()` is unnecessary and can be deleted. In the contract `AirdropCarbonv2`: - The comment in the function `emergencyWithdraw()` is unnecessary and can be deleted. In the contract `StakingCarbon`: - The comment in the function `emergencyWithdraw()` is unnecessary and can be deleted.

Open the report
LowUnchecked ERC-20 `transfer()`/`transferFrom()` CaCleanCarbon · CertiK · 18 Sep 2023Fixed

The `emergencyWithdraw()` interacts with any possible ERC20 tokens. Since some ERC20 tokens return no values and others return a `bool` value, they should be handled with care.

Open the report
Show 2 more
LowUnnecessary CheckCleanCarbon · CertiK · 18 Sep 2023Fixed

The check in the function `_mint()`, that `capSupply >= amount + totalSupply()` is unnecessary as the current implementation only allows a maximum of `500_000_000` tokens to be minted.

Open the report
LowUnused Parameters And VariablesCleanCarbon · CertiK · 18 Sep 2023Fixed

In the contract `CarboTokenv2` there are paramaters and variables that are never used: - In the `constructor()`, the parameters `buybacks` and `treasury` are never used. - The variable `CONTRACT_MANAGER` is defined and never used.

Open the report

Contracts

No deployed address is recorded for these audits.

The reports name a repository or files. Open a report to see its scope.

The repositories and files the reports name

Show this on your site

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.

Content

Facts

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.

Fixed as
Language

Style

Layout
Theme
Accent
Corners

Format

Size
Date
Embed as
HTML
<head>
<script src="https://widget.trustblock.run/project-widget.min.js" defer></script>
</head>
<body>
<div
data-tb-project-widget
data-tb-project-slug="cleancarbon"
></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