As of 14 Oct 2026, Trust AI has 1 audit report on Trustblock, by CertiK, dated 6 Dec 2023. That report lists no open critical findings. It also holds 1 deployed contract on 1 chain.
Record last updated . It holds audits and findings, contracts and incidents up to Oct 2026. Statuses are the security firms’ own. Trustblock does not review code.
Newest first
Statuses are the security firm’s own, from each report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 1 | 2 |
| Medium | 0 | 1 | 1 |
| Low | 13 | 0 | 1 |
Half the amount of liquidity tokens are not swapped, therefore the denominator `totalTokensToSwap` does not correspond to the actual BNB balance change. The resulting `ethForMarketing`, `ethForDev`, and `ethForBuyBack` will be a little less than deserved, and `ethForLiquidity` will be more than what should be when `amountToSwapForETH` is used as the denominator.
Open the reportPrivileged functions that update state variables should emit relevant events as notifications.
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=1063 marketingWallet = newMarketingWallet; ``` - `newMarketingWallet` is not zero-checked before being used. --- ```solidity=1068 devWallet = newWallet; ``` - `newWallet` is not zero-checked before being used. --- ```solidity=1073 buyBackWallet = newWallet; ``` - `newWallet` is not zero-checked before being used.
Open the reportThe function `swapTokensForEth()` doesn't check if the `tokenAmount` variable is above zero before executing. This could cause gas costs for each function call.
Open the reportA sandwich attack might happen when an attacker observes a transaction swapping tokens or adding liquidity without setting restrictions on slippage or minimum output amount. The attacker can manipulate the exchange rate by frontrunning (before the transaction being attacked) a transaction to purchase one of the assets and make profits by backrunning (after the transaction being attacked) a transaction to sell the asset. The following functions are called without setting restrictions on slippage or minimum output amount, so transactions triggering these functions are vulnerable to sandwich attacks, especially when the input amount is large: - `addLiquidityETH()` - `swapExactTokensForETHSupportingFeeOnTransferTokens()`
Open the reportVariables are written but never read and subsequently written again, suggesting potential inefficiencies or logic errors in the code. This may lead to confusion when analyzing the code or impact the performance of the smart contract during execution. `success` is written twice, but not used in-between. ```solidity=1234 (success,) = address(devWallet).call{value: ethForDev}(""); ``` ```solidity=1235 (success,) = address(buyBackWallet).call{value: ethForBuyBack}(""); ```
Open the reportThe `SafeMath` library is used unnecessarily. With Solidity compiler versions 0.8.0 or newer, arithmetic operations will automatically revert in case of integer overflow or underflow. ```solidity=177 using SafeMath for uint256; ``` - `SafeMath` library is used for `uint256` type in `ERC20` contract. ```solidity=299 _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); ``` - `SafeMath.sub` is called in `transferFrom` function of `ERC20` contract. *Note: Only a sample of 2 `SafeMath` library usage in this contract (out of 11) are shown above.* --- ```solidity=454 library SafeMath { ``` - An implementation of `SafeMath` library is found. --- ```solidity=177 using SafeMath for uint256; ``` - `SafeMath` library is used for `uint256` type in `ERC20` contract. ```solidity=1128 fees = amount.mul(sellTotalFees).div(100); ``` - `SafeMath.mul` is called in `_transfer` function of `TRUSTAI` contract. *Note: Only a sample of 2 `SafeMath` library usage in this contract (out of 14) are shown above.*
Open the report```solidity=711 library SafeMathInt { ``` - The library `SafeMathInt` is declared but never used.
Open the reportSome events are never emitted, which can lead to confusion and code maintainability issues. ```solidity=900 event UpdateUniswapV2Router(address indexed newAddress, address indexed oldAddress); ```
Open the reportThe smart contract does not check or store the return value of an external call in a local or state variable, which may introduce vulnerabilities due to the unhandled outcome. ```solidity=1181 try uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable deadAddress, block.timestamp ) {} catch {} ```
Open the reportSome state variables are not used in the codebase. This can lead to incomplete functionality or potential vulnerabilities if these variables are expected to be utilized. Variable `MAX_INT256` in `SafeMathInt` is never used in `SafeMathInt`. ```solidity=653 int256 private constant MAX_INT256 = ~(int256(1) << 255); ``` ```solidity=651 library SafeMathInt { ```
Open the reportThe linked variable assigned in the constructor can be declared as `immutable`. Immutable state variable can be assigned during contract creation but will remain constant throughout the lifetime of a deployed contract. A big advantage of immutable variable is that reading them is significantly cheaper than reading from regular state variable since they will not be stored in storage.
Open the reportIn the function `swapBack()`, the event `SwapAndLiquify` is emitted mistakenly. The `tokensForLiquidity` is set as zero at Line 1239. It is falsely used in the event. ```solidity=1239 emit SwapAndLiquify(amountToSwapForETH, ethForLiquidity, tokensForLiquidity); ```
Open the report| Address | Chain | Source code |
|---|---|---|
| 0x50c7…68c80x50c7584be73d20760f1947ffcbf7942822c968c8 | Chain: BNB Chain | 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="trust-ai"></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