As of 3 Nov 2026, Foxify: Decentralized Exchange has 1 audit report on Trustblock, by CertiK, dated 26 Jun 2023. That report lists no open critical findings.
Record last updated . It holds audits, findings and contracts up to Nov 2026, and incidents up to Oct 2026. Trustblock does not review code.
Newest first
| Audit | Security firm | Date | Scope | Critical findings | Report |
|---|---|---|---|---|---|
| Foxify - New Deal | Security firm: CertiK | Date: | Scope: Files named in the report | No open critical findings | Open · skynet.certik.com |
Statuses are the security firm’s own, from each report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 1 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 4 | 0 | 6 |
Performing integer division before multiplication truncates the low bits, losing the precision of calculation. ```solidity=297 uint256 stableFee = (amount * fee) / DIVIDER; uint256 discount_ = (affiliationUserData_.discount * stableFee) / DIVIDER; ```
Open the reportThe `initialize()` function does not have any access control measures implemented, allowing any account to call this function to initialize the address of `configuration`.
Open the reportThe function `accept()` is using `latestRoundData()` to get token's price by Chainlink, but there are no validations that the data is not stale. This issue also exists in function `validateRoundData`. Reference: https://github.com/code-423n4/2021-12-yetifinance-findings/issues/91
Open the reportThe address of `_immutableConfiguration.utils` is missing a check that it is not `address(0)` in the constructor.
Open the reportThe `blacklistList()` function is designed to return values from the address set starting from the index `offset` up to the index `to - 1`. However, in its current implementation, the order of the returned addresses is reversed. For instance, if the order of addresses in the set is [a, b, c], the function currently returns [c, b, a] instead of [a, b, c]. This could potentially lead to misunderstandings or errors in interpreting the result. ```solidity=25 function blacklistList(uint256 offset, uint256 limit) external view returns (address[] memory output) { uint256 blacklistLength = _blacklist.length(); uint256 to = offset + limit; if (blacklistLength < to) to = blacklistLength; output = new address[](to - offset); for (uint256 i = offset; i < to; i++) output[i - offset] = _blacklist.at(blacklistLength - i - 1); } ```
Open the reportThe return values of the `transfer()` and `transferFrom()` calls in the smart contract are not checked. Some ERC-20 tokens' transfer functions return no values, while others return a bool value, they should be handled with care. If a function returns `false` instead of reverting upon failure, an unchecked failed transfer could be mistakenly considered successful in the contract. ```solidity=99 _immutableConfiguration.stable.transferFrom(msg.sender, address(this), amount); ``` --- ```solidity=166 if (amountCreator > 0) _immutableConfiguration.stable.transfer(creator, amountCreator); ``` --- ```solidity=167 if (amountAccepter > 0) _immutableConfiguration.stable.transfer(accepter, amountAccepter); ``` --- ```solidity=191 stable_.transfer(feeRecipient, amount); ``` --- ```solidity=224 if (amount > 0) _immutableConfiguration.stable.transferFrom(msg.sender, address(this), amount); ``` --- ```solidity=238 stable.transfer(recipient, amount); ``` --- ```solidity=258 _immutableConfiguration.stable.transferFrom(msg.sender, address(this), amount); ``` --- ```solidity=273 _immutableConfiguration.stable.transfer(msg.sender, amount); ``` --- ```solidity=23 stable.transferFrom(msg.sender, address(this), amount); ``` --- ```solidity=44 stable.transferFrom(msg.sender, address(this), amount); ``` --- ```solidity=65 stable.transferFrom(msg.sender, address(this), amount); ```
Open the reportThe reports name a repository or files. Open a report to see its scope.
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.
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.
<head><script src="https://widget.trustblock.run/project-widget.min.js" defer></script></head><body><divdata-tb-project-widgetdata-tb-project-slug="foxify"></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