Circle security record

Arbitrum, Avalanche, Base, Ethereum, Optimism, Polygon (POS), Polygon zkEVM, Scroll, Solana, Sui, zkSynccircle.comX

As of 14 Oct 2026, Circle has 8 audit reports by 2 security firms on Trustblock; the latest is by ChainSecurity, dated 9 Feb 2026. Those reports list no open critical findings.

Critical findings
No open critical findings
Across the 8 reports, 1 critical finding was reported. It is marked fixed by the firm that reported it. See the findings
Open the latest report
Your label, live
Get the label for your site

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.

Audits8

Newest first

AuditSecurity firmDateScopeCritical findingsReport
Circle xReserve Smart ContractsSecurity firm: ChainSecurityDate: Scope: Files named in the reportNo open critical findingsOpen · chainsecurity.com
Circle Gateway Smart ContractsSecurity firm: ChainSecurityDate: Scope: Files named in the reportNo open critical findingsOpen · chainsecurity.com
CCTP V2 Smart Contracts (inclusive of the StandardSecurity firm: ChainSecurityDate: Scope: Not recorded. See the reportNo open critical findingsOpen · chainsecurity.com
CCTP V2 Smart ContractsSecurity firm: ChainSecurityDate: Scope: Files named in the reportNo open critical findingsOpen · chainsecurity.com
Circle PerimeterSecurity firm: ChainSecurityDate: Scope: Not recorded. See the report1 critical finding, fixedOpen · chainsecurity.com
Cross Chain Transfer Protocol (CCTP)Security firm: ChainSecurityDate: Scope: Not recorded. See the reportNo open critical findingsOpen · chainsecurity.com
Aida Circle - Audit 1Security firm: CertiKDate: Scope: Files named in the reportNo open critical findingsOpen · skynet.certik.com
Aida Circle - PentestSecurity firm: CertiKDate: Scope: Not recorded. See the reportNo open critical findingsOpen · skynet.certik.com

Findings68

Statuses are the security firm’s own, from each report.

SeverityOpenAcknowledgedFixed
Critical001
High005
Medium107
Low2547
CriticalcancelFunded Counts Assets TwiceCircle Perimeter · ChainSecurity · 26 Sep 2023Fixed

The report gives no description here.

Open the report
HighPossible to Inject Data on Burn AuthorizationsCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
HighViolation of Non-Custodial PropertyCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
HighfeeVault Stuck FundsCircle Perimeter · ChainSecurity · 26 Sep 2023Fixed

The report gives no description here.

Open the report
HighWithdrawal DoSCircle Perimeter · ChainSecurity · 26 Sep 2023Fixed

The report gives no description here.

Open the report
HighCentralization Related RisksAida Circle - Audit 1 · CertiK · 28 Sep 2022Fixed

In the contract AidaNFT.sol the role `GOV_ROLE` has authority over the following functions: - withdraw() - pause() - unpause() The role `WITHDRAWN_VALUE_ROLE` has authority over the following function: - withdraw() Any compromise to the `GOV_ROLE` and `WITHDRAWN_VALUE_ROLE` accounts may allow a hacker to take advantage of this authority and withdraw ETH from this contract and pause/unpause mint() and withdraw() functions.

Open the report
MediumFees for Fast Burns Can Be AvoidedCCTP V2 Smart Contracts (inclusive of the Standard · ChainSecurity · 8 Apr 2025Fixed

The report gives no description here.

Open the report
MediumFees for Fast Burns Can Be AvoidedCCTP V2 Smart Contracts · ChainSecurity · 24 Mar 2025Fixed

The report gives no description here.

Open the report
MediumFull Cancel Request Not PossibleCircle Perimeter · ChainSecurity · 26 Sep 2023Fixed

The report gives no description here.

Open the report
MediumLate Fees Do Not Go to First Loss VaultCircle Perimeter · ChainSecurity · 26 Sep 2023Fixed

The report gives no description here.

Open the report
Show 10 more
MediumMissing Permission ChecksCircle Perimeter · ChainSecurity · 26 Sep 2023Fixed

The report gives no description here.

Open the report
MediumpaymentDueDate Updated After Last PaymentCircle Perimeter · ChainSecurity · 26 Sep 2023Fixed

The report gives no description here.

Open the report
MediumReentrancy AttackAida Circle - Audit 1 · CertiK · 28 Sep 2022Fixed

A reentrancy attack can occur when the contract creates a function that makes an external call to another untrusted contract before resolving any effects. If the attacker can control the untrusted contract, they can make a recursive call back to the original function, repeating interactions that would have otherwise not run after the external call resolved the effects. ### External call(s) ```solidity=69 _safeMint(msg.sender, id); ``` * This function call executes the following external call(s). * In `ERC721._checkOnERC721Received`, * `IERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data)` ### State variables written and Event emitted after the call(s) ```solidity=70 _setTokenURI(id, metadataURI); totalWithdrawals += msg.value; emit tokenMint(id, metadataURI, msg.sender, msg.value); metadataURIExists[metadataURI] = true; ``` An attacker can perform a reentrancy attackto mint multiple NFT using the same "metadataURI".

Open the report
LowDuplicated CodeCircle xReserve Smart Contracts · ChainSecurity · 9 Feb 2026Fixed

The report gives no description here.

Open the report
LowEvent IndexingCircle xReserve Smart Contracts · ChainSecurity · 9 Feb 2026Fixed

The report gives no description here.

Open the report
LowMissing Zero Address CheckCircle xReserve Smart Contracts · ChainSecurity · 9 Feb 2026Fixed

The report gives no description here.

Open the report
LowRedundant CheckCircle xReserve Smart Contracts · ChainSecurity · 9 Feb 2026Fixed

The report gives no description here.

Open the report
LowUnused FunctionCircle xReserve Smart Contracts · ChainSecurity · 9 Feb 2026Fixed

The report gives no description here.

Open the report
LowEIP-1155 Compliant View Functions in Balances Might RevertCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
LowFunction Implementation Does Not Match SpecificationsCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
Show 10 more
LowInconsistent Behavior of View Functions in BalancesCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
LowIndexed Addresses in DenylisterChangedCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
LowMisleading Field Name NonceCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
LowMissing Blacklist CheckCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
LowMissing Sanity ChecksCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
LowNon-standard EIP-7201 Formula IdentifierCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
LowSame Chain Transfers May Be Subject to a FeeCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
LowUnchecked Return Value of Identity PrecompileCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
LowUnused FunctionsCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
LowUnused Import in BalancesCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
Show 10 more
LowValidation of TypedMemView ReferencesCircle Gateway Smart Contracts · ChainSecurity · 8 Jul 2025Fixed

The report gives no description here.

Open the report
LowIncorrect NatspecCCTP V2 Smart Contracts (inclusive of the Standard · ChainSecurity · 8 Apr 2025Fixed

The report gives no description here.

Open the report
LowMissing Events on InitializationCCTP V2 Smart Contracts (inclusive of the Standard · ChainSecurity · 8 Apr 2025Fixed

The report gives no description here.

Open the report
LowOld Version of TypedMemViewCCTP V2 Smart Contracts (inclusive of the Standard · ChainSecurity · 8 Apr 2025Fixed

The report gives no description here.

Open the report
LowPossible Underflows in Relay FunctionCCTP V2 Smart Contracts (inclusive of the Standard · ChainSecurity · 8 Apr 2025Fixed

The report gives no description here.

Open the report
LowRedundant CastingCCTP V2 Smart Contracts (inclusive of the Standard · ChainSecurity · 8 Apr 2025Fixed

The report gives no description here.

Open the report
LowUse Constant Instead of 1 or 0CCTP V2 Smart Contracts (inclusive of the Standard · ChainSecurity · 8 Apr 2025Fixed

The report gives no description here.

Open the report
LowIncorrect NatspecCCTP V2 Smart Contracts · ChainSecurity · 24 Mar 2025Fixed

The report gives no description here.

Open the report
LowMissing Events on InitializationCCTP V2 Smart Contracts · ChainSecurity · 24 Mar 2025Fixed

The report gives no description here.

Open the report
LowOld Version of TypedMemViewCCTP V2 Smart Contracts · ChainSecurity · 24 Mar 2025Fixed

The report gives no description here.

Open the report
Show 10 more
LowPossible Underflows in Relay FunctionCCTP V2 Smart Contracts · ChainSecurity · 24 Mar 2025Fixed

The report gives no description here.

Open the report
LowRedundant CastingCCTP V2 Smart Contracts · ChainSecurity · 24 Mar 2025Fixed

The report gives no description here.

Open the report
LowUse Constant Instead of 1 or 0CCTP V2 Smart Contracts · ChainSecurity · 24 Mar 2025Fixed

The report gives no description here.

Open the report
LowCallback State Not UsedCircle Perimeter · ChainSecurity · 26 Sep 2023Fixed

The report gives no description here.

Open the report
LowcompleteFullPayment Return ValueCircle Perimeter · ChainSecurity · 26 Sep 2023Fixed

The report gives no description here.

Open the report
LowInconsistent State After Withdrawal CancellationCircle Perimeter · ChainSecurity · 26 Sep 2023Fixed

The report gives no description here.

Open the report
LowMissing Sanity ChecksCircle Perimeter · ChainSecurity · 26 Sep 2023Fixed

The report gives no description here.

Open the report
LowonlyPoolAdmin ModifierCircle Perimeter · ChainSecurity · 26 Sep 2023Fixed

The report gives no description here.

Open the report
LowPool Tokens Not TransferableCircle Perimeter · ChainSecurity · 26 Sep 2023Fixed

The report gives no description here.

Open the report
LowDefault Optimizer ConfigurationCross Chain Transfer Protocol (CCTP) · ChainSecurity · 26 Apr 2023Fixed

The report gives no description here.

Open the report
Show 10 more
LowInconsistent Type Used for NonceCross Chain Transfer Protocol (CCTP) · ChainSecurity · 26 Apr 2023Fixed

The report gives no description here.

Open the report
LowMissing Event in OwnableCross Chain Transfer Protocol (CCTP) · ChainSecurity · 26 Apr 2023Fixed

The report gives no description here.

Open the report
LowUnchecked Return Value for Functions From TypedMemViewCross Chain Transfer Protocol (CCTP) · ChainSecurity · 26 Apr 2023Fixed

The report gives no description here.

Open the report
LowUnrelevant Indexed Event FieldsCross Chain Transfer Protocol (CCTP) · ChainSecurity · 26 Apr 2023Fixed

The report gives no description here.

Open the report
LowWrong Values Emitted in EventCross Chain Transfer Protocol (CCTP) · ChainSecurity · 26 Apr 2023Fixed

The report gives no description here.

Open the report
LowImproper Usage of `public` and `external` TypeAida Circle - Audit 1 · CertiK · 28 Sep 2022Fixed

`public` functions that are never called by the contract could be declared as `external`. `external` functions are more efficient than `public` functions.

Open the report
LowUsage of `transfer`/`send` for sending EtherAida Circle - Audit 1 · CertiK · 28 Sep 2022Fixed

It is not recommended to use Solidity's `transfer()` and `send()` functions for transferring Ether, since some contracts may not be able to receive the funds. Those functions forward only a fixed amount of gas (2300 specifically) and the receiving contracts may run out of gas before finishing the transfer. Also, EVM instructions' gas costs may increase in the future. Thus, some contracts that can receive now may stop working in the future due to the gas limitation. ```solidity=84 holderAddress.transfer(amount); ``` - `AidaNFT.withdraw` uses `transfer()`.

Open the report
LowClickjackingAida Circle - Pentest · CertiK · 26 Sep 2022Fixed

The HTTP response of the GET request to "https://dev.aida.darweb3.com" and "https://dev.darweb3.com/" doesn't contain any security headers to prevent the website from loading in an iframe.

Open the report
LowNo Rate limitingAida Circle - Pentest · CertiK · 26 Sep 2022Fixed

The confirmation link before making a transaction enables the user to receive an email with a link to confirm the transaction. We found that the email could be sent repeatedly.

Open the report
LowWallet disconnect is vulnerable to CSRFAida Circle - Pentest · CertiK · 26 Sep 2022Fixed

This API is used to disconnect the wallet. When the user clicks the disconnect button on the web page, the application sends a POST request to the server. We found that this `POST` request is vulnerable to CSRF attacks.

Open the report

Contracts

No deployed address is recorded for these audits.

The reports name a repository or files. Open a report to see its scope.

The repositories and files the reports name

Show this on your site

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.

Content

Facts

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.

Fixed as
Language

Style

Layout
Theme
Accent
Corners

Format

Size
Date
Embed as
HTML
<head>
<script src="https://widget.trustblock.run/project-widget.min.js" defer></script>
</head>
<body>
<div
data-tb-project-widget
data-tb-project-slug="circle"
></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