Executive Summary
Circle Internet Group, Inc. (“Circle”) issues USD Coin (“USDC”), a dollar-denominated stablecoin that purports to maintain a 1:1 peg with the US dollar. Circle is listed on the New York Stock Exchange under the ticker CRCL. Circle is facing criminal charges in Wisconsin relating to its failure to seize certain USDC. Jonathan Reiter examined this matter in an opinion piece written for Blockhead[1] and the International Consortium of Investigative Journalists (“ICIJ”) has covered the issue.[2] In summary, in 2025 Wisconsin law enforcement requested that Circle freeze and seize certain USDC. Circle has not effected seizure, maintaining that it is unable to do so. Law enforcement has escalated the dispute by charging Circle criminally. That step suggests it does not credit Circle’s position.
Further detail is available in the two articles linked above. There has been considerable exchange between the parties and Circle has committed to the position that it cannot effect seizure. The central argument of the Reiter opinion piece was that while Circle cannot effect seizure with USDC’s code as currently deployed, Circle can modify USDC’s code to make seizure possible. An issuer able to make arbitrary code changes is able to add a seizure function. Circle’s claim that it cannot seize is therefore misleading. A known remediation path exists and is available to Circle.
We analyze this in detail below. As a listed company, Circle has obligations to be truthful with the public. On the record as it stands, Circle appears to be making false or misleading statements either about how its own flagship product works or to the Wisconsin court. Either alternative might plausibly constitute securities fraud, not in the expansive sense where “everything is securities fraud”[3], but in the narrow and serious sense that attaches to false written statements made to a court.
1. Why This Should Matter to You
If you hold, trade, accept, or supervise USDC, the token in your wallet is governed by code its issuer can change at will. Circle has told a Wisconsin court that it cannot seize USDC held in wallets it does not control. Circle’s own code and documentation, quoted throughout this case study, say the opposite. One of those two positions is wrong, and whichever one it is, the consequences reach well beyond a single criminal case.
If you are an investor in Circle, a company listed on the New York Stock Exchange, the stakes are direct. A listed company that makes false statements to a court, or that maintains inaccurate public documentation about its flagship product for years, faces plausible securities fraud exposure. Investors who suffered losses during the relevant period may hold claims for damages.
If you are a victim of fraud, or an investigator working to recover stolen USDC, this dispute defines what a court order is worth. Wisconsin law enforcement obtained an order directing seizure of USDC and the USDC has not moved. If an issuer’s claimed technical limits can defeat a lawful seizure order, every future recovery effort inherits that problem.
If you are a compliance officer, a bank, or an institution that relies on stablecoin issuers’ representations, this case is a test of whether those representations survive contact with the issuer’s own code. The evidence needed to check them is public. This case study shows how to read it.
2. What Circle Claims
The linked articles provide further detail. The following excerpts make Circle’s position sufficiently clear. The first is a statement from Circle:
Beyond the ability to blocklist wallets, however, Circle has no control of USDC held in third-party wallets and has no ability to invalidate and reissue such USDC or to transfer them.
The second is drawn from law enforcement’s account:
Circle also communicated to Detective Kuchta that (1) the address was not held at Circle; (2) Circle did not have the private keys for the address; (3) Circle could not, therefore, transfer USDC from the wallet; and (4) to recover the USDC for the victim law enforcement would need to locate the private keys for the address.
The filings contain further commentary, but the excerpts above are sufficient to understand the impasse. We nonetheless encourage readers to review the filings in full. Circle presents itself there as an aggrieved party while advancing claims that, as set out below, are difficult to reconcile with the public record.
The substance of Circle’s claim is that it can freeze USDC but cannot move USDC held in wallets it does not directly control. There is a court order directing Circle to seize the USDC. Circle has no objection to freezing USDC but seizure requires moving USDC from a blockchain address identified by law enforcement to one controlled by law enforcement. Circle asserts that it lacks the technical capability to do so.
Notably, Circle’s S-1[4] includes the following text:
Payment stablecoins issued by a foreign issuer cannot be traded on U.S. custodial trading platforms unless the foreign payment stablecoin issuer satisfies a safe harbor to be established by the Treasury Secretary or the issuer: (i) complies with lawful orders to seize, freeze, burn or prevent the transfer of outstanding stablecoins;
This text concerns foreign issuers and the then-proposed GENIUS Act. A later version of that proposed act was subsequently passed. It is difficult to believe anyone at Circle or elsewhere believed, or believes, that only non-US issuers were expected to “compl[y] with lawful orders to seize…stablecoins.”
3. On-Chain Evidence That Circle Is Wrong
The Reiter opinion piece included the following:
If we read the claims in the dispute broadly: Circle is not being candid. If we read the claims narrowly: Circle is not being honest. Unless Circle has somehow lost the ability to upgrade USDC – which would be a far larger problem if kept hidden for so long – we just cannot see a way they are telling the truth here. Maybe there is one but there is certainly no hint of such an explanation in the court filings to date.
The ICIJ reporting includes references to, and quotes from, a number of experts who question Circle’s claimed inability to comply. Below we set out the technical evidence that Circle is wrong.
USDC’s smart contract token code on the Ethereum blockchain resides at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. This is confirmed by Circle’s own documentation[5] and the contract is tagged on Etherscan[6] among many other places. Circle uses this blockchain address in its own examples.[7] This is the relevant contract. USDC is whatever the code at this blockchain address says it is.
This is a proxy contract. That can be confirmed by inspecting the code on Etherscan[8] or by reading Circle’s own MiCA-mandated Whitepaper,[9] which states in part:
USDC is deployed using upgradeable smart contract architectures via the proxy patterns of the Universal Upgradeable Proxy Standard (UUPS) – introduced via ERC-1822 – on Arbitrum, Avalanche, Base, Celo, Ethereum, HyperEVM, Ink, Optimism, Plume, Polygon, Sei, Sonic, XDC and ZKsync, and more generally, on all EVM chains. These implementations allow the contract logic to be modified without changing the token address.
Circle’s technical documentation and code, available on GitHub, are consistent and provide more detail.[10] There is no serious question as to which blockchain addresses, contracts, and lines of code are relevant here.
Circle’s own documentation states that the token is “upgradeable”, which settles the question. The code supports, among other things, upgrades that are executed by an administrator. The code also provides a mechanism for changing the administrator. And every one of these actions is observable on-chain. Whoever holds the administrator role can “allow the contract logic to be modified” without restriction.
We explore the extent of this power, and Circle’s acknowledgement that new functionality can be added, below. The current administrator can also pass administrative control to a different blockchain address. We turn now to the on-chain data.
4. Past Upgrades
USDC on Ethereum has been upgraded three times:
| Block | TX Hash | Implementation |
|---|---|---|
| 10743414 | 0xe6f0f754398d89583da8e4229c5d7aaa00739a3ae334ecfc2839ac396b4836e3 | 0xb7277a6e95992041568d9391d09d0122023778a2 |
| 12317814 | 0xe2e40640ffd5f76538cd23660cf56f00bfebd5fe925ebad6b8067c4cee18a2c3 | 0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf |
| 18963716 | 0xae3ad89e569f27d47a8a02999a6d937c12aaa6bc50e66650e7cbd3244bde9951 | 0x43506849d7c04f9138d1a2050bbf3a0c054402dd |
Each of these transactions can be verified using any public block explorer. The most recent upgrade was in early 2024. USDC is not only upgradeable. It has been repeatedly upgraded. The power is not theoretical.[11]
The administrator of USDC has changed eight times:
| Block | TX Hash | Admin |
|---|---|---|
| 6082473 | 0xf73f2dd1e79552c5e13e92b16ed0a3a59b9e28fd134d6759a4e8cfbf3385a3c6 | 0x69005ff70072c57547dc44ea975d85ea60e5b196 |
| 6278324 | 0xda436c8e42f88e4c9478b03ff525dfba7035be7d894bf91ca5321bf3c360f7d9 | 0x807a96288a1a408dbc13de2b1d087d10356395d2 |
| 10743406 | 0x621f3c01567c619197df60b25e083f393d22b9a6c7718b45a279d8ab77d8620d | 0xed24bd79a3f2ba4325e9c553164e299c65e272fc |
| 10743414 | 0xe6f0f754398d89583da8e4229c5d7aaa00739a3ae334ecfc2839ac396b4836e3 | 0x807a96288a1a408dbc13de2b1d087d10356395d2 |
| 12317806 | 0x5c5ffdeab45e37fdb2112c5e09a2e361d59faa3eed9e0584fe3ad50de5bfeaca | 0xd13689e8da0ed95b55100e27b7dbc95c03b5259b |
| 12317814 | 0xe2e40640ffd5f76538cd23660cf56f00bfebd5fe925ebad6b8067c4cee18a2c3 | 0x807a96288a1a408dbc13de2b1d087d10356395d2 |
| 18963710 | 0x4441f5f0d30b59f9db3083034605e5cfb35e3606a30e12f075feef3b1df81a15 | 0x9999fa87f5a1d1c64e7c709838b92006ab0cc1ad |
| 18963716 | 0xae3ad89e569f27d47a8a02999a6d937c12aaa6bc50e66650e7cbd3244bde9951 | 0x807a96288a1a408dbc13de2b1d087d10356395d2 |
Again, all of this can be verified using any block explorer. The administrator before the first change was 0x95ba4cf87d6723ad9c0db21737d862be80e93911. That blockchain address originally deployed USDC and is therefore Circle-controlled. This can be established from, among other sources, the deployment transaction or the first upgrade event’s previousAdmin field. None of this information is hidden, abstract, or open to interpretation.
In total there are six distinct administrator blockchain addresses over the life of USDC so far:
| Admin | Type |
|---|---|
| 0x95ba4cf87d6723ad9c0db21737d862be80e93911 | EOA, deployer |
| 0x69005ff70072c57547dc44ea975d85ea60e5b196 | EOA |
| 0x807a96288a1a408dbc13de2b1d087d10356395d2 | EOA, current admin |
| 0xed24bd79a3f2ba4325e9c553164e299c65e272fc | Upgrader contract |
| 0xd13689e8da0ed95b55100e27b7dbc95c03b5259b | Upgrader contract |
| 0x9999fa87f5a1d1c64e7c709838b92006ab0cc1ad | Upgrader contract |
Some of these are simple EOAs[12] while others are smart contracts. Circle clearly controlled all of them, at least at some point. For the smart contracts one might examine whether control has since been relinquished, or analyze the code directly. However, the pattern of upgrades and administrator changes above makes the arrangement clear. Control is passed to a contract to effect upgrades, and the upgrade process quickly passes control back to the same EOA.
A review of the block numbers of the upgrades and administrator changes shows a pair of administrator changes only a few blocks apart, in which the administrator changes from EOA to smart contract and then back. And the “back” step occurs alongside an implementation upgrade. The blockchain addresses we describe as “upgrader contracts” are part of Circle’s software maintenance process.
This has been the pattern for years. Each upgrader contract is new, but control reverts to the same place, the current administrator, every time. This is confirmed by analysis of the upgrader contracts and of the upgrade process documentation below.
Circle plainly held the private keys for the current administrator blockchain address for years. It is conceivable that Circle has since lost those private keys. The undisclosed loss of the administrator private keys to a listed company’s flagship product would itself be a serious matter. We set that possibility aside here and return to it in the final section. As discussed there, that scenario is likely the worse one for Circle.
Inspecting the upgrader contracts confirms the “control reverts to the same EOA” pattern described above. The public code for the most recent upgrade, published under a Circle copyright notice, includes the following explanation of what the code does:
/**
* @title V2.2 Upgrader
* @notice Performs FiatToken v2.2 upgrade, and runs a basic sanity test in a single
* atomic transaction, rolling back if any issues are found. By performing the
* upgrade atomically, it ensures that there is no disruption of service if the
* upgrade is not successful for some unforeseen circumstances.
* @dev Read doc/v2.2_upgrade.md
*/
This is consistent with the entire upgrade process as documented in publicly-visible files in Circle’s GitHub.[13] Generic upgrade documentation is also provided by Circle[14] which states that, assuming all the tests pass and the upgrade goes as expected, a human administrator should “Verify that the proxy admin role is transferred back to the Admin Key.”
Circle has, in effect, held continuous control via the current administrator EOA for years. The administrator changes to upgrader contracts were operational details of the upgrades. Each step was designed either to complete the upgrade and transfer administrative control back to Circle or, in case of failure, to revert everything and transfer administrative control back to Circle. Circle never relinquished control.
5. What Can an Upgrade Do?
The technical documentation is clear as to what can be upgraded. It is unnecessary to work through the code to demonstrate that Circle can add arbitrary functionality. The documentation states the following:
An upgraded token can have:
- New logic (functions)
- New state variables (data)
- New logic and new state variables
- Renamed state variables
- Updated logic for existing functions
- Each situation is addressed in a section below.
Further, the documentation explicitly addresses the addition of new functions:
All that remains is to add the new logic (functions) as part of the body (denoted by … in the code above) of the contract. Note that private functions will not be inherited in subsequent contract versions and should be added with care.
These are all public statements by Circle that have been publicly available for many quarters.
Readers familiar with Solidity can verify the precise mechanics. All the relevant code is linked in the footnotes to this document. In practice, the upgrade documentation makes the point more efficiently than the code itself, but we encourage readers to verify both.
We note also that allowing code upgrades while restricting what functionality those upgrades can affect is far harder to engineer than allowing arbitrary changes. Had Circle wished to limit what could be changed, a large amount of additional machinery would have been required. Such limits could also introduce future compliance problems,[15] including the possibility that the upgrade powers prove inadequate to satisfy a court order. Circle imposed no such restrictions, yet now represents to the court that it is unable to comply.
6. What Could Be Happening?
Unless Circle lost the private keys to the current administrator EOA, we cannot see how Circle is telling the Wisconsin court the truth. If Circle has lost the keys or has otherwise lost the power to upgrade these contracts, then all of the public documentation linked and quoted above is wrong. Either situation is serious for a public company. Circle appears caught between the two.
The Wisconsin charges may well be the lesser exposure compared with a large, heavily traded public company maintaining inaccurate documentation for its flagship product in public view for many quarters. Not only might this plausibly constitute securities fraud, but investors who purchased Circle stock and suffered losses during the period the documentation was inaccurate might have claims for damages. Given that Circle’s stock has declined more or less continuously since its listing approximately a year ago, that group is likely large.
For context, this is not the only matter of which we are aware in which Circle’s own code and documentation, paired with on-chain evidence, contradict Circle’s public statements. We expect the problems discussed in this document stem from an inadequate understanding of how Circle’s own products work, and of how Circle’s own employees have communicated how those products work, within or adjacent to the legal team. We find it unsurprising that inaccurate statements made their way into court documents. We hold documented evidence of discrepancies in other areas consistent with the same inadequate understanding in Circle’s legal and compliance functions.
Recall the excerpt above from Circle’s S-1. We concede it is theoretically possible that Circle’s legal team holds the incorrect belief that Circle is unable to seize USDC and that Circle’s legal team believes in good faith that regulated US stablecoin issuers are permitted to issue products where they knowingly cannot effect seizure. It is also possible, again referencing Circle’s S-1 as quoted above, that Circle’s legal team believes it “satisfies a safe harbor [] established by the Treasury Secretary” following the passage of the GENIUS Act. We can find no public references to any Treasury statements that US stablecoin issuers can issue products which are knowingly and intentionally designed in such a way as to frustrate US court orders. We nonetheless concede such a document may exist. Whether such a document would hold any value in court is a question we will leave to others.[16]
In any event, Circle can seize USDC. At best, the legal team holds mistaken “good faith” beliefs in this area because it was misinformed by the engineering team. In such a scenario, liability for fraud might not rest with Circle the company but rather with individual employees of Circle. We expect civil liability for the inaccurate statements would still fall on the company. In either case the company is the more likely target of litigation because it has greater resources than the engineers.
Circle therefore faces two alternatives, either of which might plausibly constitute securities fraud, and either of which concerns a substantial population of investors with losses. Either Circle’s statements in the Wisconsin court papers are false, or Circle has maintained inaccurate documentation about its core product for years. No third alternative is apparent.
7. What This Means for You
If you hold or accept USDC. Treat an issuer’s statements about what it can and cannot do as claims to verify rather than facts to accept. The controlling fact is the deployed code, and the deployed code is public. When an issuer’s representations and its own code disagree, the code is the better guide to what can actually happen to the USDC you hold.
If you rely on stablecoin issuers for compliance or risk. An issuer’s representations about its technical capabilities can be tested against its deployed contracts and published documentation before you rely on them. This case shows the test requires only public tools, a block explorer and the issuer’s own GitHub repositories. A representation that fails that test should not enter your risk model.
If you are pursuing recovery of stolen USDC. The on-chain record of the administrator role, the upgrade history, and the pattern of control is public and verifiable. Nothing in the deployed code prevents the issuer from complying with a seizure order. Parties seeking recovery can put that record before a court, as Wisconsin law enforcement has now done.
If you supervise, regulate, or study this field. The gap in this case is not technical opacity. Every fact needed to evaluate Circle’s claim is public. The open question is whether representations made by issuers to courts and to investors are routinely tested against the on-chain record. This case study shows what that test looks like.
Notes
- Jonathan Reiter, “Circle’s Claimed Impotence over USDC,” Blockhead. blockhead.co ↩︎
- “Crypto giant Circle rebuffed efforts to help scam victims, police say,” ICIJ. icij.org ↩︎
- Matt Levine, “Everything Everywhere Is Securities Fraud,” Bloomberg Opinion. bloomberg.com ↩︎
- Circle Internet Group, Inc., Form S-1 registration statement (SEC EDGAR). sec.gov ↩︎
- Circle developer documentation, ERC-20 token contract. developers.circle.com ↩︎
- USDC contract on Etherscan. etherscan.io ↩︎
- Circle API reference, create transaction estimate fee. developers.circle.com ↩︎
- USDC contract code on Etherscan. etherscan.io ↩︎
- Circle MiCA USDC Whitepaper. circle.com ↩︎
- Circle stablecoin-evm, token design documentation (GitHub). github.com ↩︎
- Were the power purely theoretical, our conclusion that Circle is making false statements to someone would be unchanged. We have observed, however, that many legal practitioners in the digital asset industry decline to engage with theoretical issues until those issues materialize, typically in the form of a hack or a theft. ↩︎
- Externally Owned Account (EOA) is the term used to describe blockchain addresses controlled off-chain by private keys. In colloquial terms this means nothing is automated and a person controls the address manually via an internet-connected computer. ↩︎
- Circle stablecoin-evm, v2.2 upgrade documentation (GitHub). github.com ↩︎
- Circle stablecoin-evm, upgrade documentation (GitHub). github.com ↩︎
- Scientific Reports (Nature). nature.com ↩︎
- Presumably the executive branch cannot empower anyone to defy the judicial branch any more than it can pardon future crimes. This is not a legal study but “It is emphatically the duty of the Judicial Department to say what the law is” (Marbury v Madison, 5 US 137, 1803) is perhaps the most settled principle of constitutional law in the US. ↩︎
