Idle Finance security record

Arbitrum, Ethereum, Optimism, Polygon (POS), Polygon zkEVMidle.financeXGitHub

As of 29 Oct 2026, Idle Finance has 3 audit reports by 2 security firms on Trustblock; the latest is by Consensys, dated 1 Jun 2021. Those reports list no open critical findings.

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

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

Audits3

Newest first

AuditSecurity firmDateScopeCritical findingsReport
Idle FinanceSecurity firm: ConsensysDate: Scope: Files named in the reportNo open critical findingsOpen · diligence.security
Idle FinanceSecurity firm: QuantstampDate: Scope: Files named in the reportNo open critical findingsOpen · certificate.quantstamp.com
Idle GovernanceSecurity firm: QuantstampDate: Scope: Files named in the reportNo open critical findingsOpen · certificate.quantstamp.com

Findings56

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

SeverityOpenAcknowledgedFixed
Critical000
High000
Medium404
Low81624
MediumIdleCDO._deposit() allows re-entrancy from hookable tokens.Idle Finance · Consensys · 1 Jun 2021Open

The report gives no description here.

Open the report
MediumIdleCDO.harvest() allows price manipulation in certain circumstancesIdle Finance · Consensys · 1 Jun 2021Open

The report gives no description here.

Open the report
MediumIdleCDO.virtualPrice() and _updatePrices() yield different prices in a number of casesIdle Finance · Consensys · 1 Jun 2021Open

The report gives no description here.

Open the report
MediumWrong comparison between lengthsIdle Finance · Quantstamp · 23 Apr 2021Open

On L148 in `IdleTokenGovernance.sol` we can see the following `require` statement: `require(_newGovTokensEqualLen.length >= protocolTokens.length, '!EQ');` From the other occurrences of `!EQ` we believe that it should indicate that the 2 terms being compared are not equal, which is different from what the Boolean expression in that `require` statement is comparing, that is the comparison is actually checking if the length of the `_newGovTokensEqualLen` is higher-or-equal to the length of `protocolTokens`.

Open the report
LowClearly communicate admin capabilitiesIdle Finance · Consensys · 1 Jun 2021Open

The report gives no description here.

Open the report
LowDocumentation for formulas and price/reward calculationsIdle Finance · Consensys · 1 Jun 2021Open

The report gives no description here.

Open the report
LowIdleCDO.virtualPrice() & _updatePrices() too complicated to verifyIdle Finance · Consensys · 1 Jun 2021Open

The report gives no description here.

Open the report
LowMissing Sanity checksIdle Finance · Consensys · 1 Jun 2021Open

The report gives no description here.

Open the report
LowPrevent initialization of implementation contractsIdle Finance · Consensys · 1 Jun 2021Open

The report gives no description here.

Open the report
LowPrevent zero amount transfers/mintingIdle Finance · Consensys · 1 Jun 2021Open

The report gives no description here.

Open the report
Show 2 more
LowInconsistent array lengths breaks invariantIdle Finance · Quantstamp · 23 Apr 2021Open

**Note:** this issue is essentially the same as QSP-24 from a previous audit; the fix appears to have been reverted. The length of the `allAvailableTokens` array and the `lastRebalancerAllocations` and `lastAllocations` arrays may diverge after calling `setAllAvailableTokensAndWrappers()`. This is because the allocations are not adjusted or checked to be of the same length with the `protocolTokens` or `wrappers` input arrays of the `setAllAvailableTokensAndWrappers()` function. This means that the owner can effectively remove tokens from the `allAvailableTokens` array and the sum of all corresponding allocations would not be 100% by calling `setAllAvailableTokensAndWrappers()`.

Open the report
LowOwner can front-run flash loaners to change loan feeIdle Finance · Quantstamp · 23 Apr 2021Open

The owner of the `IdleTokenGovernance` contract has the privilege of front running any end-user who calls `flashLoan()` by calling `setFlashLoanFee()` and increasing the flash loan fee. Coupled with the fact that the `flashLoanFee` can be set up to 100% inside the `setFlashLoanFee()` function, this could be detrimental to the caller if sufficient funds are available in the caller's balance.

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="idle-finance"
></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