OptionBlitz

CertiKFiles named in the report

CertiK reviewed OptionBlitz on 6 Sep 2023: 53 findings, 1 critical; 36 marked fixed, 1 acknowledged, 16 open.

1 critical finding, fixed
Open the reportOpen OptionBlitz’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings53

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

SeverityOpenAcknowledgedFixed
Critical001
High015
Medium007
Low16023
HighCentralization Related RisksAcknowledged

### Treasury In the contract `Treasury` 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 do the following: - set the staking and formula contract addresses to malicious addresses. However, these can only be done once, so the contract just need to be verified after `configure()` is called; - set the gap amounts to any value they wish; ![](https://accelerator-tasks-prod.acc.corp.certik.com/8e8af0efaa3f47f684b47dd40d0306f9/diagrams/centralization_Treasury-Treasury-_owner.svg) In the contract `Treasury` the role `_trustedcaller` has authority over the functions shown in the diagram below. Any compromise to the `_trustedcaller` account may allow the hacker to take advantage of this authority and do the following: - steal any BLX or USD tokens held by the contract; - use any approval a user has given to the contract to steal users USD; - lock/unlock bet collateral to potentially allow options who will not be covered; - burn any BLX held by the contract; ![](https://accelerator-tasks-prod.acc.corp.certik.com/8e8af0efaa3f47f684b47dd40d0306f9/diagrams/centralization_Treasury-Treasury-_trustedcaller.svg) In the contract `Treasury` the roles `platformBeneficiary1` and `platformBeneficiary2` have authority over the functions: - withdrawPlatformOwnIncome(); - setPlatformBenificary(); Any compromise to the `platformBeneficiary1` or `platformBeneficiary2` account may allow the hacker to take advantage of this authority and steal the platform income for themselves or to set the platform beneficiary to an account that only they control. In the `Treasury` contract, the `burner` address, which is designated to receive burned tokens, is set during deployment by the deployer. While this address cannot be altered once set, if it's initially established incorrectly or if the address gets compromised, a hacker could take advantage of this authority and interfere with the burning mechanism of the protocol, for example by stealing tokens meant to be burned. --- ### AccessContract In the contract `AccessContract` 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 add themselves as a trusted addresses allowing them to execute any functions that use the `onlyTrustedCaller` modifier or to remove addresses as trusted addresses to perform a denial of service attack. ![](https://accelerator-tasks-prod.acc.corp.certik.com/8e8af0efaa3f47f684b47dd40d0306f9/diagrams/centralization_IAccessContract-AccessContract-_owner.svg) --- ### StakingRewards In the contract `StakingRewards` 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 pause or unpause the contract. Moreover, `StakingContract` inherits `StakingRewards`, giving this privileged role the ability to pause or unpause the `StakingContract`, which could be used in a denial of service attack. ![](https://accelerator-tasks-prod.acc.corp.certik.com/8e8af0efaa3f47f684b47dd40d0306f9/diagrams/centralization_StakingRewards-StakingRewards-_owner.svg) --- ### StakingSnapshot In the contract `StakingSnapshot` 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 set the `stakingContractAddress` which has the privileges explained below. However, this can only be called once and then ownership is renounced, so that one needs only to verify the set contract cannot use the privileges maliciously. ![](https://accelerator-tasks-prod.acc.corp.certik.com/8e8af0efaa3f47f684b47dd40d0306f9/diagrams/centralization_StakingSnapshot-StakingSnapshot-_owner.svg) In the contract `StakingSnapshot` the role `stakingContractAddress` has authority over the the following functions: - `addLoss()` - `addReward()` - `increaseTotalUSDDeposits()` - `decreaseTotalUSDDeposits()` - `updateDepositAndSnapshots()` Any compromise to the `stakingContractAddress` account may allow the hacker to take advantage of this authority and update rewards, losses, total USD deposits, user deposits, and user snapshots. This can be used by the hacker to gain more rewards than they are entitled to and drain the treasury of funds and/or it can be used to drain users deposits. ![](https://accelerator-tasks-prod.acc.corp.certik.com/8e8af0efaa3f47f684b47dd40d0306f9/diagrams/centralization_StakingSnapshot-StakingSnapshot-stakingContractAddress.svg) --- ### L2Burner The deployer of the contract `L2Burner` sets the layer 1 addresses of `BLX`, `L1Burner`, and the `l2GatewayRouter`. As such these can be set to malicious contracts so that tokens are not burned as designed. However, these are set upon deployment and need onl

Contracts in scope

No deployed address is recorded for this audit.

The report names a repository or files. Open the report to see its scope.

Repository and files the report names (18)

  • contracts/option/American/OptionAmerican.sol
  • contracts/option/Touch/OptionTouch.sol
  • contracts/option/Touch/DoubleTouch.sol
  • contracts/Treasury.sol
  • contracts/option/OptionLib.sol
  • contracts/StakingContract.sol
  • contracts/option/OptionBase.sol
  • contracts/option/Binary/OptionBinary.sol
  • contracts/BlxOracle.sol
  • contracts/stakingrewards/StakingRewards.sol
  • contracts/stakingrewards/StakingSnapshot.sol
  • contracts/L2Burner.sol
  • contracts/PythHelper.sol
  • contracts/formulas/Formulas.sol
  • contracts/option/Touch/DoubleNoTouch.sol
  • contracts/option/Touch/OptionNoTouch.sol
  • contracts/formulas/HistoryVolatility.sol
  • contracts/affiliate/Affiliate.sol

Part of OptionBlitz’s security record

OptionBlitz
Audits1 audit by 1 firmLast audit Sep 2023, by CertiK.
Critical findingsNo open critical findingsIn that report, 1 critical finding was reported. It is marked fixed by the firm that reported it.
Open OptionBlitz’s security record

Security firm

CertiK

1,044 projects reviewed · 1,375 reports · latest May 2025

See CertiK’s audits

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