As of 3 Nov 2026, Kindly has 1 audit report on Trustblock, by CertiK, dated 9 Sep 2022. 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 |
|---|---|---|---|---|---|
| Kindly Coin | Security firm: CertiK | Date: | Scope: Files named in the report | 1 critical finding, fixed | Open · skynet.certik.com |
Statuses are the security firm’s own, from each report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 1 |
| High | 2 | 0 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 0 | 0 | 9 |
When `withdraw()` is called via `executeMetaTransaction()` the result of the _msgSender() function is the contract address `Kindly` so the tokens will not be burned from the `userAddress` address, but from the contract address `Kindly`. The same behavior can be in other functions using `_msgSender()`.
Open the reportInternal functions doesn't start with "_". - `toTypedMessageHash()` - `hashMetaTransaction()` - `verify()`
Open the report`public` functions that are never called by the contract could be declared as `external`. `external` functions are more efficient than `public` functions.
Open the reportThe function that affects the status of sensitive variables should be able to emit events as notifications to customers: - `mint()` - `deposit()`
Open the reportThe linked statements do not affect the functionality of the codebase and appear to be either leftovers from test code or older functionality.
Open the reportLiterals with many digits are difficult to read and review. ```solidity=262 _mint(_msgSender(), 108000000 * 10**18); ```
Open the reportThere is a typo in the comment: `contractsa` should be `contracts` There is a typo in the `Initializable.sol`: `inited` should be `initialized`
Open the reportThe contract has unlocked compiler version. An unlocked compiler version in the source code of the contract permits the user to compile it at or above a particular version. This, in turn, leads to differences in the generated bytecode between compilations due to differing compiler version numbers. This can lead to an ambiguity when debugging as compiler specific bugs may occur in the codebase that would be hard to identify over a span of multiple compiler versions rather than a specific one.
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.
Open the report```solidity=51 struct EIP712Domain { string name; string version; address verifyingContract; bytes32 salt; } ``` - `EIP712Domain` is declared but never used.
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="kindly"></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