# Audits

## Audited for zkLink Nova

<table><thead><tr><th width="148" align="center">Auditor</th><th width="157" align="center">Time</th><th width="201" align="center">Report</th><th>Description</th></tr></thead><tbody><tr><td align="center"><p>Secure3 </p><p></p><p></p><p></p><p></p><p></p><p></p><p>ABDK</p></td><td align="center"><p>Mar. 8th, 2024 </p><p></p><p></p><p></p><p></p><p></p><p></p><p>Mar. 27th, 2024</p></td><td align="center"><p><a href="https://github.com/zkLinkProtocol/zklink-audit-report/blob/master/zkLink%20Nova/Secure3_zklink_Nova_2024.3.pdf">Secure3_zklink_Nova_2024.3</a></p><p></p><p></p><p></p><p></p><p><a href="https://github.com/zkLinkProtocol/zklink-audit-report/blob/master/zkLink%20Nova/ABDK_zkLink_Nova_2024.3.pdf">ABDK_zkLink_Nova_2024.3</a></p></td><td><p>zkLink Nova is built upon ZK Stack, which uses the same code of zkSync Era. </p><p>For the <a href="https://github.com/zkLinkProtocol/era-contracts">codes </a>deployed on the primary chain used for ZKP verification, the auditors only audited the difference versus zkSync Era's source code.</p><p>The auditors audited all the <a href="https://github.com/zkLinkProtocol/zklink-evm-contracts">codes</a> deployed on the secondary chains used for hosting users' fund and execute on-chain transactions. </p></td></tr><tr><td align="center"><p>Secure3</p><p></p><p></p><p></p><p></p><p></p><p>ABDK</p></td><td align="center"><p>Apr. 8th, 2024</p><p></p><p></p><p></p><p></p><p></p><p>July. 1st, 2024</p></td><td align="center"><p><a href="https://github.com/zkLinkProtocol/zklink-audit-report/blob/master/zkLink%20Nova/Secure3_zkLink_Nova_mergeToken_2024.4.pdf">Secure3_zkLink_Nova_mergeToken &#x26; bridgeUpdate_2024.4</a></p><p></p><p></p><p><a href="https://github.com/zkLinkProtocol/zklink-audit-report/blob/master/zkLink%20Nova/ABDK_zkLink_Mergetoken_2024.7.pdf">ABDK_zkLink_Mergetoken_2024.7.pdf</a></p></td><td>Multiple tokens with the same value can be merged into one token via the <a href="https://github.com/zkLinkProtocol/zklink-l3-contracts">smart contracts </a>deployed on the Nova network. Users can automatically merge and redeem tokens when depositing or withdrawing through the <a href="https://github.com/zkLinkProtocol/era-contracts/compare/zklink_testnet...zkLinkProtocol:era-contracts:zklink_testnet_merge">official rollup bridge. </a></td></tr><tr><td align="center"><p>Secure3</p><p></p><p></p><p></p><p></p><p></p><p>ABDK</p></td><td align="center"><p>Apr. 8th, 2024</p><p></p><p></p><p></p><p></p><p></p><p>June. 28th, 2024</p></td><td align="center"><p><a href="https://github.com/zkLinkProtocol/zklink-audit-report/blob/master/zkLink%20Nova/Secure3_zkLink%20Nova%20Arbitrator%20Upgrade_2024.4.pdf">Secure3_zkLink Nova Arbitrator Upgrade_2024.4</a></p><p></p><p></p><p><a href="https://github.com/zkLinkProtocol/zklink-audit-report/blob/master/zkLink%20Nova/ABDK_zkLink_CostOptimisation_2024.6.pdf">ABDK_zkLink_CostOptimisation_2024.6.pdf</a></p></td><td>This upgrade optimized the cost of synchronizing the batch root hash from the primary chain to the all other secondary chains. Batch root hashes are compressed to a single hash, so that the number of messages that forward via Ethereum can be be greatly reduced.</td></tr></tbody></table>

## Audited for zkSync Era

<table><thead><tr><th width="156" align="center">Auditor</th><th width="155" align="center">Time</th><th width="192" align="center">Report</th><th>Description</th></tr></thead><tbody><tr><td align="center">OpenZeppelin</td><td align="center">Jan. 2024</td><td align="center"><a href="https://blog.openzeppelin.com/december-diff-and-governance-audit">zkSync Era Governance Audit Report</a></td><td>zkLink Nova applies the same <code>Governance</code> contract used by zkSync Era. It is implemented to slow down the execution of protocol changes.</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zklink.io/additional-resources/audits.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
