As of 3 Nov 2026, zkSwap Finance has 3 audit reports by 3 security firms on Trustblock; the latest is by SolidProof, dated 18 Mar 2024. Those reports list no open critical findings. It also holds 9 deployed contracts on 2 chains.
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 |
|---|---|---|---|---|---|
| Zkswap Finance | Security firm: SolidProof | Date: | Scope: 8 addresses on BNB Chain | No open critical findings | Open · IPFS |
| zkSwap Finance | Security firm: Cyberscope | Date: | Scope: 1 address on zkSync | No open critical findings | Open · cyberscope.io |
| Zkswap Finance - Audit | Security firm: CertiK | Date: | Scope: Files named in the report | No open critical findings | Original removed |
Statuses are the security firm’s own, from each report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 1 | 0 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 6 | 1 | 2 |
In the contract `ZFFactory` the role `feeToSetter` has authority over the functions shown in the diagram below. Any compromise to the `feeToSetter` account may allow the hacker to take advantage of this authority. - set the address of `feeTo` - set `swapFee` - set protocol fee factor - set the address of `pendingFeeToSetter`, who can accept the `feeToSetter` role - set swap fee point override for a pair  In the contract `ZFFactory` the role `pendingFeeToSetter` has authority over the functions shown in the diagram below. Any compromise to the `pendingFeeToSetter` account may allow the hacker to take advantage of this authority. - accept the `feeToSetter` role  In the contract `ZFPair` the role `factory` has authority over the functions shown in the diagram below. Any compromise to the `factory` account may allow the hacker to take advantage of this authority. - set the `swapFeeOverride` 
Open the reportThe report gives no description here.
Open the reportThe report gives no description here.
Open the reportWe note that the variable `indexedPairs` is used to keep track of users who add liquidity, but does not remove the user from the variable `indexedPairs` after the user removes liquidity completely.
Open the reportThe `setProtocolFeeFactor()` function allows the `feeToSetter` to set the minimum `protocolFeeFactor` as 2, which means half of the fee will be charged and sent to the `_feeTo`. The popular DEXs Uniswap V2 charges 1/6 and Pancake charges 1/4. ```solidity function _getFeeLiquidity(uint _totalSupply, uint _rootK2, uint _rootK1, uint8 _feeFactor) private pure returns (uint) { uint numerator = _totalSupply * (_rootK2 - _rootK1); uint denominator = (_feeFactor - 1) * _rootK2 + _rootK1; return numerator / denominator; } ```
Open the reportAddresses are not validated before assignment or external calls, potentially allowing the use of zero addresses and leading to unexpected behavior or vulnerabilities. For example, transferring tokens to a zero address can result in a permanent loss of those tokens. ```solidity=34 feeToSetter = _feeToSetter; ``` - `_feeToSetter` is not zero-checked before being used. --- ```solidity=69 feeTo = _feeTo; ``` - `_feeTo` is not zero-checked before being used. --- ```solidity=86 pendingFeeToSetter = _feeToSetter; ``` - `_feeToSetter` is not zero-checked before being used. --- ```solidity=53 token0 = _token0; ``` - `_token0` is not zero-checked before being used. --- ```solidity=54 token1 = _token1; ``` - `_token1` is not zero-checked before being used. --- ```solidity=19 factory = _factory; ``` - `_factory` is not zero-checked before being used. --- ```solidity=20 WETH = _WETH; ``` - `_WETH` is not zero-checked before being used.
Open the reportType casting refers to changing an variable of one data type into another. The code contains an unsafe cast between integer types, which may result in unexpected truncation or sign flipping of the value. ```solidity=109 principal0: uint112(liquidity * _reserve0 / _totalSupply), ``` Casted expression `liquidity * _reserve0 / _totalSupply` has estimated range [0, 115792089237316195423570985008687907853269984665640564039457584007913129639935] but target type `uint112` has range [0, 5192296858534827628530496329220095]. --- ```solidity=110 principal1: uint112(liquidity * _reserve1 / _totalSupply), ``` Casted expression `liquidity * _reserve1 / _totalSupply` has estimated range [0, 115792089237316195423570985008687907853269984665640564039457584007913129639935] but target type `uint112` has range [0, 5192296858534827628530496329220095]. --- ```solidity=118 principal0: uint112(liquidity * _reserve0 / _totalSupply), ``` Casted expression `liquidity_scope_0 * _reserve0 / _totalSupply` has estimated range [0, 115792089237316195423570985008687907853269984665640564039457584007913129639935] but target type `uint112` has range [0, 5192296858534827628530496329220095]. --- ```solidity=119 principal1: uint112(liquidity * _reserve1 / _totalSupply), ``` Casted expression `liquidity_scope_0 * _reserve1 / _totalSupply` has estimated range [0, 115792089237316195423570985008687907853269984665640564039457584007913129639935] but target type `uint112` has range [0, 5192296858534827628530496329220095].
Open the report| Address | Chain | Source code |
|---|---|---|
| 0x1179…a2c00x1179adfa22dd0e5050c1c00c9f8543a77f75a2c0 | Chain: BNB Chain | Source code: Verified source |
| 0xddfc…09ff0xddfcdaacc836dd5a1ae2d375ffb153ce59dd09ff | Chain: BNB Chain | Source code: Verified source |
| 0x6af7…6b2e0x6af7a605953c0b462ee9540217f5bd80878c6b2e | Chain: BNB Chain | Source code: Verified source |
| 0xc54d…3ab10xc54d35a8cfd9f6dae50945df27a91c9911a03ab1 | Chain: BNB Chain | Source code: Verified source |
| 0x13f4…8dd40x13f4ea83d0bd40e75c8222255bc855a974568dd4 | Chain: BNB Chain | Source code: Verified source |
| 0x25a5…cd150x25a55f9f2279a54951133d503490342b50e5cd15 | Chain: BNB Chain | Source code: Verified source |
| 0xee1b…be760xee1bcc9f1692e81a281b3a302a4b67890ba4be76 | Chain: BNB Chain | Source code: Verified source |
| 0x150c…9a500x150c8abeb487137accc541925408e73b92f39a50 | Chain: BNB Chain | Source code: Verified source |
| 0x31c2…ca4a0x31c2c031fdc9d33e974f327ab0d9883eae06ca4a | Chain: zkSync | Source code: Verified source |
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="zkswap-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