Payouts
1st Places
2nd Places
3rd Places
All
Sherlock
Code4rena
Cantina
CodeHawks
May '25
high
high
medium
medium
medium
medium
Apr '25
high
User cannot remove value if the underlying value charges a fee
high
Wrong token is transferred when integrates with E4626ViewAdjustor
medium
Simplex ownership cannot be transferred
medium
User loses earnings from underlying vaults when they remove values
medium
Protocol fee resides in the diamond contract can be wrongly sent to users if the underlying vault temporarily disables withdrawal
high
high
medium
medium
medium
medium
medium
medium
medium
medium
Mar '25
high
high
medium
medium
Feb '25
high
Faulty Gauge Weight Update Formula: Voting Power Delta Not Considered Leading to Arithmetic Underflow and Vote Weight Inconsistency
high
RAACNFT mint function receives funds to address(this) but has no way of withdrawing them
high
`BaseGauge` users can claim rewards without staking
high
Users Can Overwrite Existing Locks in veRAACToken Resulting in Permanent Loss of Funds
high
Gauge period cannot be updated
high
Multiple issues from unnecessary balance increase calculation in DebtToken.mint
high
Reward manipulation vulnerability in StabilityPool
high
Incorrect Reward Claim Logic in FeeCollector::claimRewards Causes Denial of Service
high
Users can borrow more assets than they have deposited as collateral
high
NFTs Get Permanently Locked in Stability Pool After Liquidation
high
Double Usage Index Scaling in StabilityPool Liquidation Inflates Required CRVUSD Balance
high
Ownership Parameter Mismatch in LendingPool’s Vault Withdrawal Logic
high
Treasury Balance Tracking Bypass in FeeCollector
high
The total voting power of all veRAAC tokens is wrongly assigned
high
Gauge rewards are not transferred to gauge when distributeRewards() is called
high
Gauge stakers won't get any reward due to round-down in user weight calculation
high
Stability pool does not consider RToken balance increase when DEToken is withdrawn
high
Multiple calls to `BaseGauge::notifyRewardAmount()` override existing reward rate, causing loss of rewards for stakers
medium
[H-2] Lack of Emergency Pause in `BaseGauge::stake` and `BaseGauge::withdraw
medium
Incorrect accounting in `veRAACToken::emergencyWithdraw` and `veRAACToken::withdraw` due to missing `totalLocked` update
medium
`MAX_TOTAL_SUPPLY` Bypass in `veRAACToken` via `increase()` Function
medium
Missing Boost Balance and other parameters Update in veRAACToken Functions. Incomplete Boost State Updates Result in Inaccurate Voting Power and Reward Distribution
medium
Incorrect utilization rate forces protocol to issue maximum rewards indefinitely
medium
Incorrect DebtToken totalSupply Scaling Breaks Interest Rate Calculations
medium
RToken.transferFrom() Does Not Scale User Balances Due to Stale Liquidity Index
medium
LendingPool deposits do not work with CurveVault due to lack of funds
medium
Liquidation Cannot Be Closed Even With Healthy Position Due To Strict Debt Check
medium
There is no logic checking for RAACNFT price staleness before minting it
medium
Treasury Contract Deposit Function Can Be Frontrun To Deny Protocol Operations
medium
User may not be able to increase the amount of locked RAAC tokens
medium
hardcoded baseamount in Updateuserboost fucntion causes users with small token holdings to receive higher boosts relative to their holdings t
medium
Permanent boost inflation through delegation removal in Boostcontroller.sol
medium
Due to not counting the assets stake on crvVault the reported amount of dust will not be correct
medium
Inconsistent Scaling in RToken Transfer Functions
medium
FeeCollector stakeholders may receive less fee distribution due to unnecessarily precision loss
medium
Delegated Boost Persists Even If veRAAC Is Withdrawn/Reduced
medium
`RAACReleaseOrchestrator::emergencyRevoke()` fails to update `categoryUsed`, leading to token lockup and incorrect accounting
medium
RAACToken burns less tokens than expected when feeCollector is unset
medium
Flawed Boost Multiplier Calculation Always Yields Maximum Boost
medium
Unbounded Reward Accrual After Period End Enables Reward Manipulation Attacks
medium
Lending pool reserve liquidity can be incorrectly accounted due to transferring accrued dust
low
Limited veRaac Token Supply Triggers DoS, Hampering Proper Governance Participation.
low
Emergency Timelock Bypass: No Enforced 1-Day Delay for Emergency Actions
low
Lack of enforcement of the `MAX_TOTAL_LOCKED_AMOUNT`
low
Incorrect Initialization of minBoost in BaseGauge Constructor Breaks Core Contract Functionality
low
Missing Checkpoint Reset in `veRAACToken::emergencyWithdraw` Function
low
Missing Pause Functionality in veRAACToken Contract Can Be Abused When Emergency Withdrawal Mechanism Is Activated
low
Insufficient ETH Forwarding in Governance Execution Mechanism Causes Proposal Failures
low
`LendingPool` yield generated in curve vault is lost and cannot be withdrawn by users
low
LendingPool protocol fee is not properly handled
Jan '25
high
Incorrect Credit Capacity Validation in `VaultRouterBranch.redeem` Enables Locked Collateral Drainage
high
Vaults weth reward is not distributed correctly
high
Unclaimed Rewards Loss Due to Missing Validation in `VaultRouterBranch.stake()`
high
Markets and vaults will not update their state until market fee is received, any deposits before market fee will not be reflected
high
Incorrect calculation in CreditDelegationBranch::withdrawUsdTokenFromMarket allows attacker mint any amount of usdz
medium
Fee Recipient Shares Cannot Be Decreased When Total Fee recipients’s share is at Max Limit
medium
Due to not updating the Debt , the protocol will apply untended premium or discount
medium
Refund Underflow in Swap Refund Logic Leading to Locked Funds
medium
Slippage Higher than Expected in `CurveAdapter.executeSwapExactInput()` and `FeeDistributionBranch._performMultiDexSwap()` Multi-Hop Swaps
medium
Vault credit capacity may not be correctly calculated
Nov '24
Findings not publicly available for private contests.
Oct '24
high
high
high
high
medium
Sep '24
high
No check if a listing is a liquidation when process tax refund in relisting
high
_isLiquidation status is not reset when a liquidation listing is relisted/reserved
high
Listing created time is not updated when relisting
high
Listing info is not deleted when a listing is reserved
high
Incorrect checkpoint index might be returned when snapshots the current checkpoint
high
Unlocked protected listing asset can be redeemed by any other user
high
Type uint88 may not be suitable for storing quorum vote requirement
high
ERC1155 collection royalty fees cannot be claimed on L2
medium
ERC721 Airdrop item can be redeemed/swapped out by user who is not an authorised claimant
medium
User won't be refunded after initializing a collection
medium
Old beneficiary / AMM beneficiary won't be able to claim fees if the current beneficiary is a pool
medium
Fee Exemption cannot be applied or removed
medium
ethIn and tokenOut is not correctly computed in beforeSwap() when the swap is an exactIn
medium
Pool fee cannot be actually set
medium
royaltyBps may not be properly retrieved for ERC1155 collections
Aug '24
high
Incorrect set up and logic of `referralInfoMap` in `SystemConfig::updateReferrerInfo` function
high
TokenManager - Unlimited withdraw
high
Taker of bid offer will loss assets without any benefit if he calls the DeliveryPlace::settleAskMaker() for partial settlement.
high
Native token withdrawal fails until manually approved
high
`DeliveryPlace::settleAskTaker` Has Incorrect Access Control
high
Malicious user can drain protocol by bypassing `ASK` offer abortion validation in `Turbo` mode
high
The `DeliveryPlace::settleAskTaker()` function mistakenly uses `makerInfo.tokenAddress` to update the `TokenBalanceType.PointToken` in the `userTokenBalanceMap` mapping, leading to a critical error.
high
Fund Withdrawal Flaw in preMarket Allows Users to Avoid Settlement Obligations
medium
`mulDiv()` can round down to 0 in realistic cases, allowing for tax avoidance
low
[Low-01] Missing Access Control in `CapitalPool::approve()` Function Allows any User to call it to set Allowance Amount `TokenContract` to `type(uint256).max`.
low
`listOffer` Unsafely References Fungible Identifiers
Jul '24
high
Inadequate Checking of `isIncreasing` when trader adjusts position size
high
Market Disruption and Financial Loss Post-Liquidation
medium
Incorrect liquidatable checking for market order creation
medium
User might be unfairly liquidated after L2 Sequencer grace period
low
Potential `EIP712` violation in multiple cases
Jun '24
May '24