Anatomy of a USDC Transaction: From Bank Dollars to Tokens and Back
Disclaimer: Figures for fees, gas, timings, and reserves are illustrative or approximate, and change over time. This article is educational and is not legal or financial advice.
This article follows US dollars as they leave a bank, become USDC tokens on Ethereum, move between two companies, and turn back into dollars, showing every function call, every party, and the structures that make one USDC worth one dollar.
A USDC payment is different from a plain ETH payment in an important way: ETH is built into Ethereum, but USDC exists only because a smart contract says so, and is worth a dollar only because a company holds real dollars behind it.
So this journey has two halves: the on-chain mechanics of a token contract, and the off-chain world of banks, reserves, auditors, and regulators.
The Scenario
Al Noor Trading, an import company, needs to pay Lion City Components, a supplier in Singapore, $10,000 for electronic parts. Instead of an international wire that could take two to three days, the two companies agree to settle in USDC on Ethereum.
- Al Noor converts $10,000 from its bank into USDC: Circle mints new tokens.
- Al Noor transfers 10,000 USDC to Lion City.
- Lion City redeems the USDC for dollars: Circle burns the tokens and sends dollars to its bank.
Who Can Deal With Circle Directly?
Not everyone can send dollars to Circle. Only institutions that have passed Circle's know-your-business (KYB) checks and opened a Circle Mint account can wire US dollars to Circle and receive newly minted USDC, or send USDC back and receive dollars. Everyone else, including most individuals and smaller businesses, has to buy and sell USDC through exchanges or payment providers, many of which hold Circle Mint accounts themselves.
This article uses the direct route, through Circle Mint, because it shows minting and burning most clearly. Both Al Noor and Lion City have passed Circle's KYB checks and hold Circle Mint accounts.
The sections below walk through these three moves in five steps: getting dollars to Circle, minting, building the transfer, executing it, and redeeming.
In This Article, You'll Learn
- ✓ What keeps one USDC worth one dollar: reserves, custody, attestations and redemption
- ✓ What the USDC smart contract stores, and the functions that mint, move and burn tokens
- ✓ How a USDC transfer is built, signed and executed, and why the fee is paid in ETH
- ✓ The powers Circle holds over USDC, and the trust trade-off they create
- ✓ Who earns what along the way, how long each step takes, and what can go wrong
1. The Cast
A USDC payment involves every party in a plain ETH payment (the sender, the recipient, their wallets, and Ethereum's validators), plus an issuer, banks, a fund manager, a custodian, an auditor, and a smart contract with special administrative roles.
| Party | Who or what it is | Role |
|---|---|---|
| Al Noor Trading | The payer, an import company | Sends dollars to Circle, receives USDC, pays the supplier |
| Lion City Components | The payee, a Singapore company | Receives USDC, redeems it for dollars |
| Banks | Al Noor's local bank, correspondent banks in the US, Lion City's bank in Singapore | Move US dollars through the traditional system |
| Circle | The company that issues USDC | Mints and burns USDC, manages reserves, runs compliance |
| Circle Mint | Circle's service for businesses | Lets verified companies turn dollars into USDC and back |
| Reserve banks | Major US banks holding part of Circle's reserves as cash | Hold the cash portion of the backing |
| BlackRock | The world's largest asset manager | Manages the Circle Reserve Fund, where most reserves are invested |
| BNY (Bank of New York Mellon) | A large custodian bank | Holds the reserve fund's assets in safekeeping |
| Deloitte | An independent accounting firm | Checks and reports monthly that reserves match or exceed USDC in circulation |
| The USDC smart contract | Code at a fixed address on Ethereum | Records every holder's balance and enforces the rules for minting, burning, and transferring |
| Contract roles | Keys held by Circle: owner, master minter, minters, pauser, blacklister, rescuer, and proxy admin | Control who can create or destroy USDC, and the emergency powers |
| Wallets | Al Noor's and Lion City's company wallets, often with multiple approvers | Hold the keys and sign transactions |
| Ethereum validators | The computers that run Ethereum's proof-of-stake network | Include, execute, and finalise every USDC transaction |
| Regulators | US federal and state regulators, the EU under MiCA, and national regulators in each company's home country, such as the Monetary Authority of Singapore (MAS) | Set rules on reserves, disclosure, and where and how USDC can be used |
2. Behind USDC: The Structure That Keeps It at One Dollar
The Corporate Side
Circle Internet Group is a US company, listed on the New York Stock Exchange since 2025. Its subsidiaries issue USDC in different regions under local rules: for example, a US entity issues USDC under US rules, and a French entity issues USDC that complies with the EU's MiCA regulation.
The Reserves
As of mid-2026, about 84% to 86% of the assets backing USDC were held in the Circle Reserve Fund, with the rest held mainly as cash at banks.
| Feature | What it means |
|---|---|
| A registered money market fund | The Circle Reserve Fund is a US government money market fund, regulated by the US Securities and Exchange Commission |
| Managed by BlackRock | BlackRock runs the fund. Circle is its only shareholder, and BlackRock publishes the fund's holdings and value daily under the ticker USDXX |
| Held at BNY | The fund's assets are held in custody by Bank of New York Mellon. BlackRock sends trade instructions; BNY settles them and holds the assets in the fund's name, so the manager never handles the assets itself |
| Very safe, short-term assets | Mainly US Treasury bills maturing in weeks or months, and overnight repurchase agreements backed by Treasuries |
| Segregated | Reserves are kept separate from Circle's own funds, intended to protect token holders if Circle got into financial trouble |
| Disclosed and checked | Circle publishes weekly reserve figures, and Deloitte publishes a monthly independent attestation that reserves equal or exceed USDC in circulation |
The Regulatory Side
- United States: a federal stablecoin law passed in 2025 (the GENIUS Act) requires full one-to-one backing with high-quality assets, regular public disclosure, and supervision of issuers.
- European Union: under MiCA, USDC issued by Circle's French entity is regulated as an electronic money token, with rules including keeping a share of reserves in bank deposits.
- Singapore: the Monetary Authority of Singapore (MAS) has a framework for single-currency stablecoins issued in Singapore. USDC is issued outside Singapore, so it is not a MAS-regulated stablecoin under that framework, and services that deal in digital payment tokens fall under the Payment Services Act.
- Other countries: many countries have their own stablecoin rules, and some limit the use of foreign stablecoins such as USDC for paying for goods and services. Al Noor's advisers would need to confirm, before it starts, which rules apply in its home country and whether this kind of supplier payment is permitted.
The Redemption Promise
The peg works because eligible customers can normally swap one USDC for one dollar with Circle. If USDC traded at $0.99 on an exchange, a Circle Mint customer (a verified business with direct access to Circle) could buy it cheaply and redeem it for $1.00, profiting and pushing the price back up. If it traded at $1.01, they could mint new USDC for $1.00 and sell it.
Individuals usually can't redeem directly with Circle, but they benefit because businesses that can keep the price in line.
3. Inside the USDC Smart Contract
On Ethereum, USDC is a single ERC-20 smart contract that keeps a ledger of who owns how much, with extra features that give Circle control over creating, destroying, and in emergencies freezing tokens.
The Address and the Proxy Design
USDC on Ethereum lives at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Every wallet, exchange, and app that handles USDC on Ethereum uses this one address.
It's built with the proxy pattern, a common way to make smart contracts upgradeable:
The proxy keeps the permanent address and all the data. When someone calls it, it borrows the code from a separate implementation contract and runs it against its own data. Circle can upgrade USDC by pointing the proxy at a new implementation, without changing the address or anyone's balance. It has done this several times to add features.
A Detail That Trips People Up: Six Decimals
ETH uses 18 decimal places, but USDC uses 6. Inside the contract, every amount is a whole number of tiny units:
Wallets divide by a million before showing it. Software that assumes 18 decimals would display amounts wildly wrong, a classic integration bug.
What the Contract Stores
| Data | What it records |
|---|---|
| Balances | For each address, how many units of USDC it holds |
| Allowances | For each owner, how much each approved spender may move on their behalf |
| Total supply | The total USDC in existence on Ethereum |
| Minters and their allowances | Which addresses may mint, and how much each may still mint |
| Blacklist | Addresses Circle has blocked from sending or receiving |
| Paused | Whether the contract is paused, which halts transfers, minting, burning, and approvals |
| Roles | The addresses holding each administrative role |
| Signature records | Which signed authorisations have already been used, so none can be replayed |
The Functions
| Group | Function | Who can call it | What it does |
|---|---|---|---|
| Everyday ERC-20 | transfer(to, amount) | Any holder | Sends USDC from the caller to another address |
approve(spender, amount) | Any holder | Lets another address spend up to an amount | |
transferFrom(from, to, amount) | An approved spender | Moves USDC on the owner's behalf, using the allowance | |
balanceOf(address), totalSupply(), allowance(…) | Anyone, free | Read-only questions | |
| Signature-based | permit(…) | Anyone, with the owner's signature | Sets an allowance from a signed message (ERC-2612) |
transferWithAuthorization(…) | Anyone, with the owner's signature | Executes a signed transfer for the owner, so someone else can pay the gas (EIP-3009) | |
| Issuance | mint(to, amount) | Approved minters only | Creates new USDC, within the minter's allowance |
burn(amount) | Approved minters only | Destroys USDC from the minter's own balance | |
configureMinter(…), removeMinter(…) | The master minter | Adds minters and sets how much each may mint | |
| Emergency and admin | pause(), unpause() | The pauser | Halts or resumes all transfers, minting, burning, and approvals |
blacklist(address), unBlacklist(address) | The blacklister | Blocks or unblocks an address | |
upgradeTo(…) | The proxy admin | Switches to new contract code |
Events: The Contract's Public Announcements
Whenever something important happens, the contract emits an event, a log entry in the transaction receipt: Transfer, Approval, Mint, Burn, Blacklisted, Pause, and others. Wallets, exchanges, and Etherscan watch these events to update balances and histories, which is why token transfers show up instantly in apps.
4. Step 1: Dollars Travel to Circle
Before any USDC exists, Al Noor's dollars must travel through the traditional banking system to Circle, the slow, old-fashioned part of the journey that USDC is designed to minimise.
Onboarding to Circle Mint
Al Noor first opens a Circle Mint account. Because Circle must follow anti-money laundering rules, this involves know-your-business (KYB) checks:
- Its business licence and company registration documents
- Who owns and controls the company, including directors and major shareholders
- The nature of its business and where its funds come from
- Screening against sanctions lists
Al Noor then links its bank account and registers its company wallet address on Ethereum, so Circle knows where to send newly minted USDC.
The International Wire
Al Noor keeps a US dollar account at its local bank. It sends a $10,000 wire to Circle's bank account in the US, quoting its Circle Mint reference. Banks outside the US usually reach the US banking system through a correspondent bank.
Along the way:
- Each bank screens the payment for sanctions and suspicious activity.
- Timing depends on banking hours. Payments sent before cut-off times on weekdays may arrive the same day; others take one to two working days. Nothing moves at weekends or on US bank holidays.
- Fees may be charged by the sending bank and correspondent banks.
Circle Receives the Dollars
When the $10,000 arrives, Circle's systems match it to Al Noor's account using the reference, and Al Noor's Circle Mint balance shows $10,000.
The dollars become part of USDC's reserves. They sit as cash at a reserve bank at first, and Circle's treasury team regularly moves cash into the Circle Reserve Fund, where BlackRock invests it in short-term Treasury bills and repurchase agreements.
5. Step 2: Minting USDC on Ethereum
With $10,000 in Al Noor's Circle Mint account, Circle calls the USDC contract's mint function, which creates 10,000 brand-new USDC in Al Noor's wallet and raises the total supply by exactly the same amount.
Circle Prepares the Mint
Al Noor asks Circle Mint to convert its $10,000 to USDC on Ethereum, sent to its registered wallet. Circle's systems:
- Check that Al Noor's dollar balance covers the request and the destination address is the one it registered.
- Prepare a transaction from one of Circle's minter addresses. Minter keys are protected by specialised security systems with multiple internal approvals, because whoever controls them can create dollars on-chain.
- Sign and broadcast the transaction, paying the gas in ETH. Al Noor doesn't need ETH for this step.
What the Transaction Looks Like
Compare it with a plain ETH payment:
| Field | A plain ETH payment | Circle's mint |
|---|---|---|
| From (via signature) | The sender | Circle's minter address |
| To | The recipient's address | The USDC contract, not Al Noor |
| Value (ETH) | 0.1 ETH | 0 ETH: no ether moves |
| Data | Empty | The function to call and its inputs (below) |
| Gas used | 21,000 | Typically several tens of thousands, because contract code runs and storage changes |
The data field is where the instruction lives. It's written in a standard format that every Ethereum app understands:
| Part | Value | Meaning |
|---|---|---|
| Function selector | 0x40c10f19 | A 4-byte fingerprint meaning "call mint(address, uint256)" |
| First input | Al Noor's address, padded to 32 bytes | Who receives the new tokens |
| Second input | 10,000,000,000, padded to 32 bytes | How many units to create (10,000 USDC × 1,000,000) |
What the Contract Checks
When validators execute the transaction (the same way they execute any Ethereum transaction), the USDC code runs these checks in order. If any fails, the whole transaction is reversed:
The minting allowance is an important safety limit. Circle's master minter gives each minter a ceiling, so even if one minter key were compromised, the damage would be capped.
What Changes
| Data in the contract | Before | After |
|---|---|---|
| Al Noor's balance | 0 | 10,000,000,000 units (10,000 USDC) |
| Total supply | X | X + 10,000 USDC |
| Minter's remaining allowance | Y | Y − 10,000 USDC |
The contract then emits two events:
Mint(minter, Al Noor, 10,000 USDC)Transfer(0x0000…0000, Al Noor, 10,000 USDC): a transfer from the zero address is the ERC-20 convention for "newly created"
Al Noor's wallet spots the Transfer event and shows 10,000 USDC. Its Circle Mint dollar balance drops to $0.
The Accounting Picture
On Circle's books, two things have changed together: its reserves are $10,000 higher, and its obligations to USDC holders are $10,000 higher. Every mint is matched by dollars in; every burn is matched by dollars out. That's what keeps reserves equal to supply.
6. Step 3: Building and Signing the Transfer
To pay Lion City, Al Noor doesn't send anything to Lion City directly: it sends a transaction to the USDC contract asking it to move 10,000 USDC from Al Noor's balance to Lion City's.
Business Checks First
Before any blockchain step, sensible companies follow their usual payment controls:
- Verify the address. Lion City's address arrives with its invoice. Al Noor confirms it by phone with a known contact, because fake invoices with changed payment details are a common fraud.
- Send a test payment. Many companies send 1 USDC first and wait for Lion City to confirm receipt.
- Record the reference. A USDC transfer has no memo field, so Al Noor records the transaction hash against the invoice number in its accounting system.
- Check it has ETH for gas. Paying in USDC still needs a small amount of ETH for the fee, a common surprise for new users. With a multisignature wallet (below), the ETH must be in the account of the approver who submits the final transaction, not in the company wallet itself.
The Transaction
| Field | Value |
|---|---|
| To | The USDC contract, 0xA0b8…eB48 |
| Value | 0 ETH |
| Data | Function selector 0xa9059cbb, meaning transfer(address, uint256); Lion City's address; and 10,000,000,000 units |
| Nonce | Al Noor's next transaction number |
| Gas limit | Around 65,000, estimated by the wallet by simulating the transfer |
| Fees | Max fee and tip, set by the wallet as for any Ethereum transaction |
The gas estimate comes from the wallet asking its RPC provider to simulate the transaction against the current state: "If this ran now, would it succeed, and how much gas would it use?" A first-ever transfer to an address that has never held USDC uses more gas than a transfer to one that has, because the contract must create a new storage entry rather than update an existing one.
The Confirmation Screen
A good wallet decodes the data field and shows something human-readable: "Send 10,000 USDC to 0x5A3c…91fE. Network fee: about 0.00003 ETH (around $0.08)." A poor wallet that showed only raw data would leave Al Noor's staff signing blind, the very weakness exploited in the Bybit hack of February 2025.
Signing With Company Controls
A company rarely lets one person move $10,000 alone. Al Noor uses a multisignature smart wallet that requires two of three approvers, for example the finance manager and the CFO:
- The finance manager proposes the transfer in the wallet's app.
- Each approver checks the details on their own device and signs.
- When two signatures are collected, one approver submits a transaction to the company's wallet contract, paying the gas from their own address, which checks the signatures and then calls
transferon the USDC contract on the company's behalf.
This adds one more contract call to the chain of events, and a little more gas, but gives the company the same kind of approval controls it has with its bank. The signing itself works as for any Ethereum transaction: each approver's private key produces a signature over the exact details, and any change would invalidate it.
7. Step 4: Executing the Transfer
The transfer travels through the network exactly like any other Ethereum transaction, but when validators execute it, USDC's contract code runs, checks the rules, and changes two numbers in its ledger, while the fee is paid separately in ETH.
The Journey Through the Network
The standard Ethereum process applies: the RPC node checks the transaction and gossips it to mempools; a builder includes it; a randomly selected proposer publishes the block; committees attest within seconds; and the block is finalised after about 13 to 15 minutes. Validators treat a USDC transfer like any other transaction; they don't know or care that it represents dollars.
What the Execution Client Does, Step by Step
The rule checks inside transfer are:
| Check | Why it exists |
|---|---|
| Is the contract paused? | Circle can halt all transfers in an emergency |
| Is the sender blacklisted? | Blocked addresses can't send |
| Is the recipient blacklisted? | Blocked addresses can't receive |
| Is the recipient the zero address? | Prevents tokens being lost by accident |
| Does the sender have enough? | Al Noor needs at least 10,000,000,000 units |
All pass, so the contract updates its ledger:
Why the Gas Is Higher Than an ETH Payment
Most of the gas goes on writing to storage. Changing a stored number from zero to non-zero, as with Lion City's first-ever USDC balance, is one of the most expensive operations on Ethereum, because every node must keep that new data permanently. Updating an existing non-zero balance costs much less. That's why a first transfer to a new address costs noticeably more than later ones.
The Fee Is Paid in ETH
At the end, the execution client settles the fee from the ETH balance of the address that submitted the transaction: the base fee is burned, and the tip goes to the block's fee recipient. Two assets were involved in one transaction: USDC moved inside the contract, while ETH paid for the work.
The Receipt and the Transfer Event
The transaction's receipt records success and one log entry, the Transfer event:
| Part of the log | Content |
|---|---|
| Emitting contract | The USDC contract address |
| Topic 1 | A fingerprint identifying the event type: Transfer(address, address, uint256) |
| Topic 2 | The sender: Al Noor |
| Topic 3 | The recipient: Lion City |
| Data | The amount: 10,000,000,000 units |
This log is how Lion City's wallet, Etherscan's "Token Transfers" tab, accounting software, and compliance tools all learn about the payment, typically within seconds of the block. Lion City's finance team might release the goods once the payment is final, about 15 minutes later.
8. Other Ways to Move USDC
A direct transfer is the simplest route, but USDC also supports approvals and signed authorisations, which let apps and payment processors move funds for users, sometimes without the user needing any ETH at all.
| Method | How it works | Who pays the gas | Typical use |
|---|---|---|---|
transfer | The holder sends USDC directly | The holder | Simple payments, like Al Noor's |
approve + transferFrom | The holder approves an app to spend up to an amount; the app later pulls the funds | The holder pays for the approval; the app pays for the pull | Trading apps, subscriptions, invoices paid through a platform |
permit + transferFrom | The holder signs a message granting the approval, instead of sending an approval transaction | The app | Smoother app experiences with one fewer transaction |
transferWithAuthorization | The holder signs a message authorising one specific transfer; anyone can submit it | Whoever submits it, often a payment processor | Gasless payments, point-of-sale, payroll services |
Gasless Payments in Practice
transferWithAuthorization (from a standard called EIP-3009) is especially useful for businesses. Imagine Lion City wants to accept USDC from small customers who hold no ETH:
- The customer's wallet asks them to sign a structured message: "Authorise transfer of 50 USDC to Lion City, valid until 3 pm, unique number 0x7f…".
- The signature costs nothing; no transaction is sent.
- Lion City's payment processor submits the signed message to the USDC contract and pays the gas.
- The contract checks the signature, the time window, and that the unique number hasn't been used, then moves the funds.
Combined with smart wallets and Layer 2 networks, this is how USDC payments can feel as simple as tapping a card.
The Safety Reminder
9. Step 5: Redemption and Burning
When Lion City wants dollars, it sends its USDC back to Circle, Circle destroys the tokens with the burn function, and the matching dollars leave the reserves and travel by wire to Lion City's bank.
Lion City's Two Options
| Option | What happens to the USDC | Who it suits |
|---|---|---|
| Redeem with Circle | The tokens are burned; total supply falls; dollars come out of the reserves | Businesses with a Circle Mint account |
| Sell on an exchange | The tokens move to a buyer; total supply is unchanged | Businesses and individuals without direct access to Circle |
Lion City has a Circle Mint account, so it redeems directly.
The Redemption, Step by Step
- Send to Circle. Lion City transfers 10,000 USDC to its unique Circle Mint deposit address. This is an ordinary transfer, like Step 4, and Lion City pays the gas in ETH.
- Detect and wait. Circle's systems spot the
Transferevent to Lion City's deposit address and wait for the transaction to be final. - Screen. Compliance tools check where the USDC came from. It traces cleanly back to USDC that Circle issued to Al Noor, a verified customer.
- Credit. Lion City's Circle Mint account shows a $10,000 dollar balance.
- Burn. Circle moves the deposited USDC to a minter address and calls
burn(10,000,000,000). Circle often combines many customers' redemptions into a single burn.
Inside the Burn Function
| Check | Result |
|---|---|
| The contract is not paused | Pass |
| The caller is an approved minter | Pass |
| The caller is not blacklisted | Pass |
| The amount is greater than zero | Pass |
| The minter's own balance covers the amount | Pass: a minter can only burn tokens it holds itself |
| Data in the USDC contract | Before | After |
|---|---|---|
| Minter's balance | 10,000 USDC | 0 |
| Total supply | X + 10,000 | X: the tokens no longer exist |
The contract emits Burn(minter, 10,000 USDC) and Transfer(minter, 0x0000…0000, 10,000 USDC), a transfer to the zero address being the convention for "destroyed."
Dollars Back to the Bank
Lion City asks Circle Mint to withdraw $10,000 to its bank account in Singapore. Circle draws on the reserves, using cash on hand or redeeming shares in the Circle Reserve Fund, and sends an international wire: from Circle's US bank, through the correspondent banking network, to Lion City's Singapore bank. Depending on banking hours, it arrives the same day or within one to two working days. Lion City can then convert it to Singapore dollars if it wishes.
The Life Cycle Closes
10. Circle's Special Powers
Unlike ETH, which nobody controls, USDC gives its issuer powers to freeze addresses, halt transfers, and change the contract's code, which is both a key safeguard and a key trade-off.
| Power | Role that holds it | What it can do | Why it exists |
|---|---|---|---|
| Minting control | Master minter and minters | Create new USDC, within limits | Issue tokens when dollars arrive |
| Blacklisting | Blacklister | Block an address from sending or receiving, effectively freezing its USDC | Comply with sanctions and court orders; respond to theft |
| Pausing | Pauser | Halt all USDC transfers, minting, burning, and approvals on that network | Emergency response, such as a discovered bug |
| Upgrading | Proxy admin | Replace the contract's code | Fix bugs and add features |
| Rescue | Rescuer | Recover other tokens accidentally sent to the USDC contract itself | Help users who made mistakes |
Freezing in Practice
Circle has frozen addresses in response to legal requirements. In August 2022, after the US government placed sanctions on the crypto mixing service Tornado Cash, Circle froze the USDC held in the addresses named in the sanctions. Frozen USDC stays visible on-chain but can't be moved.
The story didn't end there. In November 2024, a US appeals court ruled that Tornado Cash's immutable smart contracts couldn't be sanctioned as property, and in March 2025 the US Treasury removed the sanctions. That raises a useful question about freezing: when the legal basis for a freeze goes away, how and when should frozen funds be released?
The Trust Trade-off
| ETH | USDC | |
|---|---|---|
| Who can freeze it | Nobody | Circle, at the contract level |
| Who can change the rules | Only the Ethereum community, through network-wide upgrades | Circle, through contract upgrades |
| What backs its value | Market demand | Dollars held in reserves |
| Main risk | Price volatility | Issuer, reserve, and regulatory risk |
Critics argue that these powers make USDC little more than a bank balance on a blockchain. Supporters reply that they are exactly what regulators, banks, and large businesses need before they can use stablecoins at scale. Both have a point, and the trade-off is real: USDC trades some of Ethereum's censorship resistance for the stability and legal certainty of the dollar.
11. USDC Across Networks
USDC exists natively on many blockchains, including Ethereum and Layer 2s like Base and Arbitrum, and Circle moves it between them by burning it on one network and minting it on another, rather than locking it in a bridge.
One Brand, Many Contracts
Each network has its own, separate USDC contract with its own balances and its own supply. Circle can mint and burn on each of them. The total USDC in existence is the sum across all networks, and the reserves back that total.
Moving USDC Between Networks: Burn and Mint
Suppose Al Noor wants to move its 10,000 USDC from Ethereum to Base to pay future invoices more cheaply. Circle's Cross-Chain Transfer Protocol (CCTP) handles it:
- Al Noor calls a CCTP contract on Ethereum, which burns 10,000 USDC there and records where the funds should go.
- Circle's attestation service sees the burn and, once it's final, signs a message confirming it.
- That signed message is submitted to the CCTP contract on Base, which checks Circle's signature and mints 10,000 USDC to Al Noor's address on Base.
Total USDC across networks stays the same: 10,000 fewer on Ethereum, 10,000 more on Base.
Native Versus Bridged USDC
| Native USDC | Bridged USDC | |
|---|---|---|
| Issued by | Circle, directly on that network | A third-party bridge, which locks real USDC on one network and issues a stand-in token on another |
| Redeemable with Circle | Yes | No; it's a claim on the bridge, not on Circle |
| Main risk | Circle and its reserves | Circle plus the bridge's security |
| How to tell | Contract address listed on Circle's website | Often a different name, such as "USDC.e" |
12. Following the Money: Who Earns What
Circle doesn't charge for each USDC transfer; it earns mainly from the interest on the reserves while tokens are in circulation, while banks, fund managers, validators, and others earn smaller amounts along the way.
Circle's Business Model: Interest on the Float
While Al Noor's $10,000 sits in the reserves as USDC, it's invested in short-term Treasury bills. Circle keeps the interest; USDC holders receive none. US rules for stablecoin issuers generally prohibit paying interest directly to holders. Some platforms, notably Coinbase, still offer USDC “rewards” to their own users, funded from their share of reserve income; whether that should be allowed is an active policy debate.
With reserve yields of around 3.5% to 4% in recent periods, a rough illustration:
Across tens of billions of dollars of USDC, this adds up to very large revenues: Circle reported $701 million of revenue for the second quarter of 2026 alone. A substantial share goes to distribution partners, most notably Coinbase, which receives part of the reserve income in exchange for promoting USDC to its users.
This model also explains a key risk for Circle's business: if interest rates fall, its income falls, even if USDC usage grows.
Everyone Else in the Chain
| Party | What they earn | From |
|---|---|---|
| Circle | Interest on reserves, possibly some service fees | Reserve assets |
| Coinbase and other partners | A share of reserve income | Agreements with Circle |
| BlackRock | Fund management fees | Circle Reserve Fund |
| BNY and reserve banks | Custody and banking fees; use of deposits | Circle |
| Deloitte | Attestation fees | Circle |
| Al Noor's and Lion City's banks; correspondent banks | Wire fees and any currency conversion margins | The two companies |
| Ethereum validators and builders | Tips and MEV | Gas paid in ETH by Circle, Al Noor, and Lion City |
| ETH holders (indirectly) | ETH burned from base fees | Every transaction's base fee |
| Wallet providers | Possible subscription or service fees for company wallets | Al Noor and Lion City |
What Did the Payment Cost Al Noor and Lion City?
| Cost | Approximate amount |
|---|---|
| Bank wire fees at each end | Typically tens of dollars each, depending on the banks |
| Gas for the transfer, including the multisignature wallet step | Usually well under a dollar on Ethereum's main network; a fraction of a cent on a Layer 2 |
| Gas for Lion City's redemption transfer | Similar |
| Circle Mint fees | Depends on Circle's current terms; often none for standard minting and redemption |
In this one-off example, the two bank wires still dominate the cost and time, so the saving over a single international wire is modest.
13. Timeline and What Can Go Wrong
The on-chain parts take minutes; the banking parts take hours or days; and the most serious risks sit off-chain, with the issuer, the reserves, and the people sending money.
The Timeline
| Stage | Typical time | Runs on |
|---|---|---|
| Circle Mint onboarding (one-off) | Days to weeks | Compliance checks |
| Al Noor's wire reaches Circle | Same day to 2 working days | Banking system |
| Mint to Al Noor's wallet | Minutes after the dollars are credited | Ethereum |
| Internal approvals for the transfer | Minutes to hours, depending on the company | Al Noor's multisignature wallet |
| Transfer to Lion City confirmed | About 12 to 24 seconds | Ethereum |
| Transfer final | About 13 to 15 minutes | Ethereum |
| Lion City's redemption deposit credited | Minutes, after finality | Ethereum and Circle |
| Burn | Minutes, often batched | Ethereum |
| Dollars reach Lion City's bank | Same day to 2 working days | Banking system |
What Can Go Wrong
| Where | What could happen | Consequence | Protection |
|---|---|---|---|
| Banking leg | Wire delayed, rejected, or held for checks | Minting delayed | Send early; use banks experienced with crypto firms |
| Address | Wrong or fraudulent address on an invoice | 10,000 USDC sent to the wrong party; generally unrecoverable | Verify by phone; test payment; address allow-lists |
| Gas | Al Noor holds no ETH | Transfer can't be sent | Keep a small ETH balance, or use gasless methods |
| Decimals | Software assumes 18 decimals instead of 6 | Wildly wrong amounts shown or sent | Use well-tested wallets and accounting tools |
| Wrong token | Receiving bridged or fake "USDC" | Holding a token that isn't redeemable with Circle | Check contract addresses against Circle's official list |
| Approvals | A malicious approval or permit | USDC drained from the wallet | Review approvals; read every signature |
| Freezing | Funds linked to sanctioned or illicit activity | USDC frozen by Circle | Screen counterparties and incoming funds |
| Issuer and reserves | Problems at Circle, a reserve bank, or the fund | Delays in redemption, or USDC trading below $1 | Diversify; follow reserve reports; prefer well-regulated issuers |
| Banking stress | A reserve bank fails, as with Silicon Valley Bank in March 2023 | USDC briefly fell to about $0.88 before recovering | Reserves now concentrated in a regulated fund of Treasury bills |
| Regulation | Rules change in the US, EU, or other countries where USDC is used | USDC uses or access restricted in some places | Monitor rules; take local legal advice |
| Contract | A bug, or a compromised administrative key | Unauthorised minting, freezing, or upgrade | Audits, limits on minters, multiple approvals; ultimately trust in Circle |
Key Takeaways
- USDC is an ERC-20 smart contract whose value depends on Circle holding at least one dollar of safe assets for every token, mostly in a BlackRock-managed Treasury fund held at BNY, checked monthly by Deloitte.
- Dollars enter through the banking system; Circle then calls mint, creating new tokens and raising the total supply. Dollars leave when Circle calls burn, destroying tokens and lowering supply. Reserves and supply move together.
- A transfer is a call to the USDC contract, not a payment to the recipient: the transaction goes to the contract, with 0 ETH value and the instruction in the data field.
- USDC uses 6 decimals, so 10,000 USDC is stored as 10,000,000,000 units.
- The contract checks pause status, blacklists, and balances, updates two ledger entries, and emits a Transfer event that wallets and explorers rely on.
- Fees are paid in ETH, not USDC, unless a gasless method like transferWithAuthorization lets someone else pay.
- Validators treat USDC transactions like any other: the standard proof-of-stake process applies.
- Circle can mint, burn, freeze, pause, and upgrade. That enables compliance and stability, at the cost of trusting Circle.
- Across networks, Circle burns on one chain and mints on another; native USDC is safer than bridged versions.
- Circle earns interest on the reserves; holders earn none. The real benefit for businesses comes from moving dollars repeatedly on-chain without returning to banks each time.





