No Fianto fee during the beta. Any fee comes with at least 30 days notice. See pricing
StablecoinsWallets8 min read

How to check that USDC on Solana is real: the mint address, native and bridged.

Real USDC on Solana is the token whose mint address is EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v, the address Circle publishes for USDC on Solana mainnet. Anyone can create a token called USDC with the same symbol and logo; nobody can give it that address, so the address is the check. Fianto's checkout accepts only this native mint: bridged versions of USDC and lookalikes are different mints, and a wallet that holds only those cannot pay.

On this page
What is the USDC mint address on Solana?How do you check a token on a Solana explorer?Can you trust the name and logo your wallet shows?What is the difference between native and bridged USDC?Which USDC does Fianto's checkout accept?What can you do if you hold the wrong USDC?SourcesQuestions
TL;DR
  • The USDC mint on Solana mainnet is EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v, as listed on Circle's contract-address page. Compare every character.
  • Bridged USDC is a separate token created by a third party; Circle says it is not issued nor redeemable by Circle. USDC moved with Circle's CCTP arrives as native USDC.
  • Fianto's checkout pays only in native USDC. The mint is written into Fianto's code, not read from a setting.

What is the USDC mint address on Solana?

The USDC mint address on Solana mainnet is EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v. A mint is the account that defines a token on Solana: its decimals, its supply and who may create more. Every token account, the account that holds one wallet's balance of one token, records which mint it belongs to, so the mint is what makes a balance "USDC" and not something else.

Circle lists the address in the mainnet table of its USDC contract addresses page, and its USDC on Solana page answers its own question "Is USDC on Solana a native form of USDC?" with a yes, adding: "Bridged versions of USDC are not issued by Circle and are not supported by Circle Mint or Circle APIs." We read the mint account from Solana mainnet on 15 October 2026 (slot 457,195,371). This is what it held:

FieldValue on 15 October 2026What it tells you
Owner programTokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DASolana's original Token program, not the newer Token-2022
Decimals61 USDC is 1,000,000 base units; 0.01 USDC is 10,000
SupplyAbout 7.77 billion USDC at that slotA snapshot only: supply changes whenever USDC is issued or redeemed; more figures are in USDC on Solana in numbers
Mint authorityBJE5MMbqXjVwjAF7oxwPYXnTXDyspzZyt4vwenNw5ruGThe one address that can create more
Freeze authority7dGbd2QZcCKcTndnHcTL8q7SMVXAkp688NTQYwrRCrarSet: a USDC token account can be frozen

Circle also lists a devnet address, 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU, under a heading that warns "Testnet tokens have no financial value". A balance of that token is test money, whatever the wallet calls it.

How do you check a token on a Solana explorer?

You check a token on an explorer by reading its mint address in a transaction or a token account and comparing it, character by character, with the one above. For a payment you received:

  1. Open the transaction on Solscan or the Solana Explorer by its signature. Fianto's receipt links the signature in its "Transaction" row straight to Solscan.
  2. Find the token transfer. It names the token, the amount, the sending and receiving accounts, and the token's mint.
  3. Open the mint, or copy it, and compare all 44 characters with EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v. A short form such as "EPjF...Dt1v" is not enough to tell two addresses apart.
  4. Check that the decimals are 6 and the owner program is the Token program. A lookalike can match both, so these checks only rule a token out; the address is what rules USDC in.

A Fianto payment uses the Token program's TransferChecked instruction, which, in Solana's words, "requires the caller to provide the mint and decimals and checks those values before moving tokens between token accounts of the same mint". The mint therefore sits in the instruction itself. How to read the rest of a payment on an explorer is in how to read a Solana payment on an explorer.

Can you trust the name and logo your wallet shows?

No: the name, symbol and logo a wallet shows come from metadata the token's creator chose and from third-party data, so they prove nothing about who issued the token. Phantom's token verification docs say it "displays token information using data from trusted third-party sources", naming CoinGecko and Jupiter, and add: "We're unable to provide specific details about how token verification status is determined in Phantom." Solflare, for its part, warns when you interact with assets it treats as unverified.

Those labels help, but the address decides. Open the token's detail in your wallet, copy its address where the wallet shows it, and compare it with the explorer. A token you never bought deserves suspicion on sight; Phantom's scam guide says "Assume any unsolicited token or NFT in your wallet is a scam, especially those offering something for free."

What is the difference between native and bridged USDC?

Native USDC is issued by Circle on the chain itself; bridged USDC is a token a third party creates on one chain against USDC locked on another. Circle set out the difference in its Bridged USDC Standard post (21 November 2023):

Native USDCBridged USDC
Issuer"Issued by Circle, a regulated fintech""Created by a third party"
Backing"Backed by US dollars and always redeemable 1:1""Backed by USDC on another blockchain locked in a smart contract"
Status"Official form of USDC on a given blockchain"Not in the table; the post says: "While bridged USDC is unofficial and not issued nor redeemable by Circle, it serves as a proxy to USDC that's extensible to any ecosystem where bridging is made possible."
Circle's CCTP"Interoperable with multiple blockchain networks via CCTP""Not compatible with CCTP"

CCTP, Circle's Cross-Chain Transfer Protocol, is why moving USDC between chains does not have to produce a bridged token. Circle's CCTP docs say "CCTP natively transfers USDC across blockchains using burn-and-mint": USDC is destroyed on the chain it leaves and created by Circle on the chain it arrives on, so USDC that arrives on Solana this way is the native mint. Circle's EU entity also publishes a MiCA white paper for USDC that lists Solana among its networks, as MiCA and stablecoins notes.

On Solana a bridged USDC is simply another mint, often with "USDC" in its name. Circle's address page gives an example from another chain: "X Layer also has a separate bridged USDC representation, labeled USDC.e, which is not issued or backed by Circle." The test on Solana stays the same: a mint other than EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v is not Circle's USDC, whatever it is called.

Which USDC does Fianto's checkout accept?

Fianto's checkout accepts native USDC only, on Solana mainnet. The mint is written into Fianto's backend as a constant, not read from configuration, so no setting or environment variable can point payments at another token. Every step compares against that one mint:

  • The checkout looks up your USDC account for the native mint, the associated token account (the standard address for one wallet and one token) that an associated token account explainer covers.
  • The transaction it builds moves that mint, with 6 decimals, and a signed transaction that moves any other mint is refused before it is sent.
  • A payment counts only from the change in the merchant's balance of that mint once the transaction is finalized on chain.

A wallet that holds only bridged or fake USDC usually has no account for the native mint at all, and the checkout says so before your wallet asks you to sign anything: "This wallet does not hold any USDC yet. Add USDC to it, or pay from a different wallet, then try again." A wallet whose native USDC account is frozen sees: "This wallet's USDC account is frozen, so it cannot send USDC. Pay from a different wallet." Nothing is charged in either case. What the checkout refuses after signing, and why, is in crypto payment mistakes.

Merchants get the same guarantee from the other side: the wallet a merchant is paid to must already have a USDC account for this mint, and the money lands there directly. A merchant never has to check whether a payment through Fianto was real USDC. A merchant who also takes USDC at a bare wallet address still does.

Get paid in native USDC, straight to your own wallet, from a checkout that checks the mint for you.

How to accept USDC on Solana

What can you do if you hold the wrong USDC?

What you can do with the wrong USDC depends on which kind it is. A lookalike token that appeared in your wallet unasked is worth nothing to you: leave it alone, and do not visit any site its name or memo points to. Bridged USDC is a real claim, but on the bridge that issued it, not on Circle, and Fianto cannot convert it.

Before you pay a Fianto checkout, check the mint of what you hold. If it is not EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v, get native USDC into that wallet first, plus a little SOL for the network fee (why you need SOL to send USDC). Paying from an exchange account instead of a wallet is a separate question, answered in can I pay from Coinbase or Binance instead of a wallet. The payer docs list everything a payment needs on Paying with Fianto.

Sources
Questions

Questions about the USDC mint on Solana.

What is the USDC token address on Solana?

EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v on mainnet, as listed on Circle's USDC contract addresses page. The devnet address, 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU, is test money with no value.

Is USDC on Solana native or bridged?

Circle issues USDC natively on Solana: its Solana page answers "Is USDC on Solana a native form of USDC?" with a yes. Bridged versions, which Circle says it does not issue, exist as separate tokens with their own mint addresses.

Can someone create fake USDC on Solana?

Anyone can create a token named USDC with the same symbol and logo. Nobody else can use the native mint address, which is why you check the address and not the name.

How many decimals does USDC have on Solana?

Six. One USDC is 1,000,000 base units, and the mint account showed 6 decimals when we read it on 15 October 2026.

Can I pay a Fianto checkout with bridged USDC?

No. The checkout pays only in native USDC, mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v. A wallet holding only another USDC token is stopped before it signs, told it holds no USDC or not enough, and nothing is charged.

Read next.

Wallets6 min read

Can I pay from Coinbase or Binance instead of a wallet?

No: a Fianto checkout needs a wallet that signs a Solana transaction in your browser, and a balance on an exchange such as Coinbase or Binance has no way to do that. Withdraw the USDC on the Solana network to a wallet you control, add a little SOL for the network fee, and pay from that wallet. The same wallet is the one you later use to manage or cancel a subscription, so pick one you will keep.

Stablecoins9 min read

MiCA and stablecoins: what EU businesses can accept, from the regulation and the regulators

MiCA, the EU's Markets in Crypto-Assets Regulation, addresses its rules to stablecoin issuers, people who offer crypto-assets to the public and crypto-asset service providers. An e-money token, a stablecoin that tracks one currency, may be offered to the public in the EU only by its issuer, authorised as a bank or e-money institution with a published white paper, or by others with the issuer's written consent; as of 15 October 2026 ESMA's register lists Circle's EU entity, authorised in France, with a USDC white paper. This post quotes the regulation and the regulators with dates, is not legal advice, and does not say whether MiCA applies to your business.

Solana8 min read

How to read a Solana payment on Solscan or Solana Explorer

Paste the transaction signature into Solscan or Solana Explorer and check five things: the status says success and finalized, the fee payer is the customer's wallet, the token is USDC (mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v), the merchant's USDC account went up by the price, and the transfer carries one extra read-only account, Fianto's reference. A one-off Fianto payment is one transaction with two compute-budget instructions and one USDC transfer, plus a second transfer to Fianto's treasury only when a service fee applies, which it does not during the beta.

Check the address, not the label.

Fianto checks the mint on every payment, so your customers pay in real USDC.

New posts are announced on X and Discord.