Chiliz security record

Ethereumchiliz.com

As of 30 Oct 2026, Chiliz has 8 audit reports by 3 security firms on Trustblock; the latest is by Halborn, dated 29 Jan 2026. Those reports list no open critical findings. It also holds 1 deployed contract on 1 chain.

Critical findings
No open critical findings
Across the 8 reports, 1 critical finding was reported. It is marked fixed by the firm that reported it. See the findings
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.

Audits8

Newest first

AuditSecurity firmDateScopeCritical findingsReport
Oracle ContractsSecurity firm: HalbornDate: Scope: Not recorded (see the report)No open critical findingsOpen · halborn.com
Chiliz ChainSecurity firm: Resonance SecurityDate: Scope: Not recorded (see the report)No open critical findingsOpen · IPFS
Fan Token SwapSecurity firm: HalbornDate: Scope: Not recorded (see the report)No open critical findingsOpen · halborn.com
Fan Token Contract V2Security firm: HalbornDate: Scope: Not recorded (see the report)No open critical findingsOpen · halborn.com
Chiliz - Pepper - Smart Contract AuditSecurity firm: HalbornDate: Scope: Not recorded (see the report)No open critical findingsOpen · halborn.com
Chiliz - V2 Genesis ContractsSecurity firm: CertiKDate: Scope: Files named in the reportNo open critical findingsOpen · skynet.certik.com
Chiliz TokenSecurity firm: CertiKDate: Scope: 1 address on EthereumNo open critical findingsOpen · skynet.certik.com
ChilizSecurity firm: CertiKDate: Scope: Files named in the report1 critical finding, fixedOpen · skynet.certik.com

Findings45

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

SeverityOpenAcknowledgedFixed
Critical000
High301
Medium303
Low10124
HighMinting Limit Calculation May Prevent Legitimate ClaimsChiliz - Pepper - Smart Contract Audit · Halborn · 27 Sep 2024Fixed

The report gives no description here.

Open the report
MediumIncomplete upgrade mechanismOracle Contracts · Halborn · 29 Jan 2026Fixed

The report gives no description here.

Open the report
MediumDecimals Calculation May Be WrongChiliz Chain · Resonance Security · 20 Aug 2025Fixed

In the FTSwap protocol, the owner updates or adds new pairs. In case any of these old Fan Tokens have decimals, the calculation of the new Fan Tokens would be incorrect, since the formula used would return fewer tokens than expected.Suppose:oldFT has 2 decimals (unexpected).newFT has 18 decimals.If a user swaps 1 oldFT token, the calculation is:newFTAmount = 1 * 10**18 / 10**2 = 1 * 1e18 / 100 = 1e16So the user receives 0.01 of the intended amount (1e16 instead of 1e18).

Open the report
MediumMissing Initializer Call For Parent ContractChiliz Chain · Resonance Security · 20 Aug 2025Fixed

The Staking3 contract does not call __ReentrancyGuard_init() in the initialize() function, which means that the internal reentrancy status variable will not be set. This can lead to the nonReentrant modifier not blocking reentrant calls, leaving the contract vulnerable to reentrancy attacks or, in some cases, functions with nonReentrant may revert unexpectedly because the guard is in an uninitialized state.

Open the report
LowCompatibility mismatch between claimed Chainlink behavior and revert read behaviorOracle Contracts · Halborn · 29 Jan 2026Fixed

The report gives no description here.

Open the report
LowFixed timestamp age does not reflect asset volatilityOracle Contracts · Halborn · 29 Jan 2026Fixed

The report gives no description here.

Open the report
LowIncompatible reentrancy guard choice in upgradeable designOracle Contracts · Halborn · 29 Jan 2026Fixed

The report gives no description here.

Open the report
LowInconsistent price validation across update functionsOracle Contracts · Halborn · 29 Jan 2026Fixed

The report gives no description here.

Open the report
LowMissing factory setters for oracle configurationOracle Contracts · Halborn · 29 Jan 2026Fixed

The report gives no description here.

Open the report
LowNo storage gap defined for future upgradesOracle Contracts · Halborn · 29 Jan 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowRound start timestamp is derived from previous round rather than explicit round startOracle Contracts · Halborn · 29 Jan 2026Fixed

The report gives no description here.

Open the report
Low_swapWithBurnAndMint Allows 0 Amount SwapsChiliz Chain · Resonance Security · 20 Aug 2025Fixed

The function does not check if oldFTAmount is zero. This could allow zero-amount swaps, which may cause unnecessary events and state changes.

Open the report
LowFloating PragmaChiliz Chain · Resonance Security · 20 Aug 2025Fixed

The project uses floating pragmas ^0.8.23.This may result in the contracts being deployed using the wrong pragma version, which is different from the one they were tested with. For example, they might be deployed using an outdated pragma version which may include bugs that affect the system negatively.

Open the report
LowIncorrect Initialization Order On initialize()Chiliz Chain · Resonance Security · 20 Aug 2025Fixed

According to best practices, the inherited smart contracts should be initialized according to their inheritance order, from the most base-like to the most derived.

Open the report
LowMissing Limits In setUnstakePeriod()Chiliz Chain · Resonance Security · 20 Aug 2025Fixed

The setUnstakePeriod() function does not have an upper limit of the seconds needed to claim tokens. This may affect the user experience and it may not be practical.

Open the report
LowMissing Reentrancy Guard Modifier On swapStakedTokens() And swapStaked()Chiliz Chain · Resonance Security · 20 Aug 2025Fixed

The swapStakedTokens() function unstakes, claims, swap tokens transfers them back from user to stake the new token. The swapStaked() function calls burn and mint functions in _swapWithBurnAndMint(). As these functions transfer tokens to user and call external contracts, it is important to use the nonReentrant modifier in the same way as in the rest of the protocol.

Open the report
LowMissing Zero Address Validation On setFtStaking()Chiliz Chain · Resonance Security · 20 Aug 2025Fixed

Input parameter in setFtStaking() function is not being validated against the Zero Address.Mistakes can be made by the owner of the smart contract, allowing for unwanted transactions to take place in the future.

Open the report
LowMissing Zero Address Validation On setFtSwap()Chiliz Chain · Resonance Security · 20 Aug 2025Fixed

Input parameter in setFtSwap() function is not being validated against the Zero Address.Mistakes can be made by the owner of the smart contract, allowing for unwanted transactions to take place in the future.

Open the report
LowMixed Usage Of Initializing Functions In initialize()Chiliz Chain · Resonance Security · 20 Aug 2025Fixed

The initialize() function in the Staking3 contract uses both internal and external functions to set roles grantRole() and _grantRole(). Using both works, but is not necessary. Using only _grantRole is simpler and more efficient for setup, as it is possible to avoid unnecessary access checks during initialization.

Open the report
LownewFTAmount Is Not EmittedChiliz Chain · Resonance Security · 20 Aug 2025Fixed

The Swapped event in _swapWithBurnAndMint() fucntion does not include newFTAmount. This may affect potential off-chain accounting.

Open the report
Show 8 more
LowTest Cases Not Working ProperlyChiliz Chain · Resonance Security · 20 Aug 2025Fixed

The ERC20BurnableMintable contract located in the Staking3.t.sol does not implement the burn() function. The tests that use this function will not work properly.

Open the report
LowUnnecessary Initialization Of Variables With Default ValuesChiliz Chain · Resonance Security · 20 Aug 2025Fixed

In the Solidity programming language, all variables are automatically initialized to a default value corresponding to their type when they are declared. For example, integer types are initialized to 0, boolean types to false, and address types to 0x0000000000000000000000000000000000000000. Explicitly initializing variables to these default values when they are declared is therefore redundant, and since each operation in a contract costs gas, it results in unnecessary gas costs. This could potentially impact the contract's efficiency and the cost of executing its functions.Several instances of this issue are found across the code base.

Open the report
LowCentralization risk in role management systemFan Token Contract V2 · Halborn · 25 Feb 2025Fixed

The report gives no description here.

Open the report
LowMissing access control in survey registration functionsFan Token Contract V2 · Halborn · 25 Feb 2025Fixed

The report gives no description here.

Open the report
LowInsufficient Validation of Claim Start BlockChiliz - Pepper - Smart Contract Audit · Halborn · 27 Sep 2024Fixed

The report gives no description here.

Open the report
LowMissing Zero-Value Check in changeEpochLength FunctionChiliz - Pepper - Smart Contract Audit · Halborn · 27 Sep 2024Fixed

The report gives no description here.

Open the report
LowModification of Claim Start Block After Claiming BeginsChiliz - Pepper - Smart Contract Audit · Halborn · 27 Sep 2024Fixed

The report gives no description here.

Open the report
LowModification of Epoch Length After Claiming BeginsChiliz - Pepper - Smart Contract Audit · Halborn · 27 Sep 2024Fixed

The report gives no description here.

Open the report

Contracts1

AddressChainSource code
0x3506424f91fd33084466f402d5d97f05f8e3b4afChain: EthereumSource code: Verified source

All 1 address and the 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="chiliz"
></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