As of 14 Oct 2026, CARV has 2 audit reports by 1 security firm on Trustblock; the latest is by CertiK, dated 20 Aug 2024. Those reports list no open critical findings.
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
| Audit | Security firm | Date | Scope | Critical findings | Report |
|---|---|---|---|---|---|
| Carv - Pentest | Security firm: CertiK | Date: | Scope: Not recorded. See the report | 1 critical finding, fixed | Open · skynet.certik.com |
| CARV Token Audit | Security firm: CertiK | Date: | Scope: Repository at commit 05e3882 | 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 | 1 |
| High | 0 | 2 | 1 |
| Medium | 0 | 0 | 2 |
| Low | 0 | 1 | 3 |
In the contract **CarvToken** the role **owner** has authority over the functions shown as below. Any compromise to the **owner** account may allow a hacker to take advantage of this authority and do the following. - `transferOwnership()`, transfer ownership to any other account. - `renounceOwnership()`, give up ownership at any time. - `setPeer()`, sets the peer address (OApp instance) for a corresponding endpoint. - `setDelegate()`, sets the delegate address for the OApp. - `setPreCrime()`, sets the preCrime contract address. - `setEnforcedOptions()`, Sets the enforced options for specific endpoint and message type combinations. - `setMsgInspector()`, sets the message inspector address for the OFT. In the contract **EndpointV2** the role **delegate** has authority over the functions shown as below. Any compromise to the **delegate** account may allow a hacker to take advantage of this authority and do the following. - `clear()`, clear a message - `skip()`, skipping the next nonce to prevent message verification - `burn()`, marks a nonce as unexecutable and un-verifiable - `nilify()`, marks a packet as verified - `setSendLibrary()`, setting the sendLibrary - `setReceiveLibrary()`, setting the receiveLibrary - `setReceiveLibraryTimeout()`, setting the receiveLibrary timeout - `setConfig()`, set message lib config
Open the reportAll of the `mintAmount` tokens are sent to the contract deployer. This is a centralization risk because the deployer can distribute tokens without obtaining the consensus of the community. Any compromise to these addresses may allow a hacker to steal and sell tokens on the market, resulting in severe damage to the project.
Open the reportThe contract is serving as the underlying entity to interact with third-party services as below 1. **LayerZero OApp contract** on EVM. 2. **LayerZero Protocol**, including `EndpointV2`, `DVN`, and `Executor` contracts. 3. **LayerZero DVN** (Decentralized Verifier Networks) The scope of the audit treats third-party entities as black boxes and assumes their functional correctness. However, in the real world, third parties can be compromised and this may lead to lost or stolen assets.
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="carv"></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