> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polygon.technology/llms.txt
> Use this file to discover all available pages before exploring further.

# Stablecoins on Polygon

> Overview of stablecoins available on Polygon Chain, with integration guides for USDC and cross-chain transfers.

export const StablecoinTable = () => {
  const STABLECOINS = [{
    region: "NA",
    market: "USA",
    stablecoin: "USDC",
    issuer: "Circle",
    contract: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    decimals: 6
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "USDC.e",
    issuer: "Circle",
    contract: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
    decimals: 6
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "USDT0",
    issuer: "Tether",
    contract: "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
    decimals: 6
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "DAI",
    issuer: "MakerDAO",
    contract: "0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",
    decimals: 18
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "AUSD",
    issuer: "Agora",
    contract: "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a",
    decimals: 6
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "FRAX",
    issuer: "Frax Finance",
    contract: "0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89",
    decimals: 18
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "FRXUSD",
    issuer: "Frax Finance",
    contract: "0x80eede496655fb9047dd39d9f418d5483ed600df",
    decimals: 18
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "TUSD",
    issuer: "TrustToken",
    contract: "0x2e1AD108fF1D8C782fcBbB89AAd783aC49586756",
    decimals: 18
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "USD+",
    issuer: "Overnight Finance",
    contract: "0x236eeC6359fb44CCe8f97E99387aa7F8cd5cdE1f",
    decimals: 6
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "MIM",
    issuer: "Abracadabra",
    contract: "0x49a0400587A7F65072c87c4910449fDcC5c47242",
    decimals: 18
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "USDM",
    issuer: "Mountain Protocol",
    contract: "0x59d9356e565ab3a36dd77763fc0d87feaf85508c",
    decimals: 18
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "USDGLO",
    issuer: "Glo Foundation",
    contract: "0x4F604735c1cF31399C6E711D5962b2B3E0225AD3",
    decimals: 18
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "LUSD",
    issuer: "Liquity",
    contract: "0x23001f892c0C82b79303EDC9B9033cD190bB21c7",
    decimals: 18
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "GYD",
    issuer: "Gyroscope",
    contract: "0xCA5d8F8a8d49439357d3CF46Ca2e720702F132b8",
    decimals: 18
  }, {
    region: "NA",
    market: "USA",
    stablecoin: "BOB",
    issuer: "ZKBob",
    contract: "0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0B",
    decimals: 18
  }, {
    region: "NA",
    market: "Canada",
    stablecoin: "CADC",
    issuer: "Paytrie",
    contract: "0x9de41aFF9f55219D5bf4359F167d1D0c772A396D",
    decimals: 18
  }, {
    region: "EMEA",
    market: "Europe",
    stablecoin: "EUROP",
    issuer: "Schuman Financial",
    contract: "0x888883b5F5D21fb10Dfeb70e8f9722B9FB0E5E51",
    decimals: 6
  }, {
    region: "EMEA",
    market: "Europe",
    stablecoin: "EURQ",
    issuer: "Quantoz",
    contract: "0xD571Edb2EF29DF10fcd6200fd6D0Ed2389983db3",
    decimals: 6
  }, {
    region: "EMEA",
    market: "Europe",
    stablecoin: "EURe",
    issuer: "Monerium",
    contract: "0x18ec0A6E18E5bc3784fDd3a3634b31245ab704F6",
    decimals: 18
  }, {
    region: "EMEA",
    market: "Europe",
    stablecoin: "EURC",
    issuer: "Circle",
    contract: "0x2e508500695D7d1bc3EaC69d0A7D71d6EDd727f3",
    decimals: 18
  }, {
    region: "EMEA",
    market: "Europe",
    stablecoin: "EURS",
    issuer: "Stasis",
    contract: "0xE111178A87A3BFf0c8d18DECBa5798827539Ae99",
    decimals: 2
  }, {
    region: "EMEA",
    market: "Europe",
    stablecoin: "EURAU",
    issuer: "AllUnity",
    contract: "0x4933A85b5b5466Fbaf179F72D3DE273c287EC2c2",
    decimals: 6
  }, {
    region: "EMEA",
    market: "Europe",
    stablecoin: "TRYB",
    issuer: "Bilira",
    contract: "0x4Fb71290Ac171E1d144F7221D882BECAc7196EB5",
    decimals: 6
  }, {
    region: "EMEA",
    market: "Europe",
    stablecoin: "VEUR",
    issuer: "VNX",
    contract: "0xE4095d9372E68d108225c306A4491cacfB33B097",
    decimals: 18
  }, {
    region: "EMEA",
    market: "Europe",
    stablecoin: "VCHF",
    issuer: "VNX",
    contract: "0xCdB3867935247049e87c38eA270edD305D84c9AE",
    decimals: 18
  }, {
    region: "EMEA",
    market: "Europe",
    stablecoin: "EURO3",
    issuer: "3A DAO",
    contract: "0xA0e4c84693266a9d3BBef2f394B33712c76599Ab",
    decimals: 18
  }, {
    region: "EMEA",
    market: "Europe",
    stablecoin: "EURA",
    issuer: "Angle Protocol",
    contract: "0xe0b52e49357fd4daf2c15e02058dce6bc0057db4",
    decimals: 18
  }, {
    region: "EMEA",
    market: "Europe",
    stablecoin: "EUROe",
    issuer: "Membrane Finance",
    contract: "0x820802Fa8a99901F52e39acD21177b0BE6EE2974",
    decimals: 6
  }, {
    region: "EMEA",
    market: "United Kingdom",
    stablecoin: "tGBP",
    issuer: "Tokenized GBP",
    contract: "0x27f6c8289550fCE67f6B50BeD1F519966aFE5287",
    decimals: 18
  }, {
    region: "EMEA",
    market: "United Kingdom",
    stablecoin: "GILTS",
    issuer: "Etherfuse",
    contract: "0x46080F31351A6568f44575E3EFfDE7f0C86867f9",
    decimals: 6
  }, {
    region: "EMEA",
    market: "Africa",
    stablecoin: "xZAR",
    issuer: "xZAR",
    contract: "0x30DE46509Dbc3a491128F97be0aAf70dc7Ff33cB",
    decimals: 6
  }, {
    region: "EMEA",
    market: "Africa",
    stablecoin: "ZARP",
    issuer: "Inves Capital",
    contract: "0xb755506531786C8aC63B756BaB1ac387bACB0C04",
    decimals: 18
  }, {
    region: "EMEA",
    market: "Africa",
    stablecoin: "NGNC",
    issuer: "Linkio World",
    contract: "0xAb9aD9089f23e6779a8727900709427719f753e1",
    decimals: 6
  }, {
    region: "EMEA",
    market: "Switzerland",
    stablecoin: "ZCHF",
    issuer: "Frankencoin",
    contract: "0xD4dD9e2F021BB459D5A5f6c24C12fE09c5D45553",
    decimals: 18
  }, {
    region: "LATAM",
    market: "Brazil",
    stablecoin: "BRZ",
    issuer: "Transfero",
    contract: "0x4eD141110F6EeeAbA9A1df36d8c26f684d2475Dc",
    decimals: 18
  }, {
    region: "LATAM",
    market: "Brazil",
    stablecoin: "BRL1",
    issuer: "Bitso",
    contract: "0x5C067C80C00eCd2345b05E83A3e758eF799C40B5",
    decimals: 18
  }, {
    region: "LATAM",
    market: "Brazil",
    stablecoin: "BRLA",
    issuer: "Avenia",
    contract: "0xE6A537a407488807F0bbeb0038B79004f19DDDFb",
    decimals: 18
  }, {
    region: "LATAM",
    market: "Mexico",
    stablecoin: "MXNe",
    issuer: "Etherfuse",
    contract: "0x615c2F42919c7fED56a44a5C62D5Ef73f748fd0F",
    decimals: 6
  }, {
    region: "LATAM",
    market: "Mexico",
    stablecoin: "MXNB",
    issuer: "Juno",
    contract: "0xF197FFC28c23E0309B5559e7a166f2c6164C80aA",
    decimals: 6
  }, {
    region: "LATAM",
    market: "Mexico",
    stablecoin: "eMXN",
    issuer: "Telcoin",
    contract: "0x68727e573D21a49c767c3c86A92D9F24bd933c99",
    decimals: 6
  }, {
    region: "LATAM",
    market: "Colombia",
    stablecoin: "COPM",
    issuer: "Minteo",
    contract: "0x12050c705152931cFEe3DD56c52Fb09Dea816C23",
    decimals: 18
  }, {
    region: "APAC",
    market: "Japan",
    stablecoin: "JPYC",
    issuer: "JPYC Inc",
    contract: "0xE7C3D8C9a439feDe00D2600032D5dB0Be71C3c29",
    decimals: 18
  }, {
    region: "APAC",
    market: "Japan",
    stablecoin: "JPYC_old",
    issuer: "JPYC Inc",
    contract: "0x431D5dFf03120AFA4bDf332c61A6e1766eF37BDB",
    decimals: 18
  }, {
    region: "APAC",
    market: "Singapore",
    stablecoin: "XSGD",
    issuer: "StraitsX",
    contract: "0xDC3326e71D45186F113a2F448984CA0e8D201995",
    decimals: 6
  }, {
    region: "APAC",
    market: "Singapore",
    stablecoin: "XIDR",
    issuer: "StraitsX",
    contract: "0x2c826035c1C36986117A0e949bD6ad4baB54afE2",
    decimals: 6
  }, {
    region: "APAC",
    market: "Indonesia",
    stablecoin: "IDRX",
    issuer: "IDRX",
    contract: "0x649a2DA7B28E0D54c13D5eFf95d3A660652742cC",
    decimals: 18
  }, {
    region: "APAC",
    market: "Indonesia",
    stablecoin: "IDRT",
    issuer: "RupiahToken",
    contract: "0x554cd6bdD03214b10AafA3e0D4D42De0C5D2937b",
    decimals: 6
  }, {
    region: "APAC",
    market: "Indonesia",
    stablecoin: "IDRP",
    issuer: "IDRP",
    contract: "0xADb603C1D0a1b3943C9df35a50099f22fEaCaA58",
    decimals: 6
  }, {
    region: "APAC",
    market: "Philippines",
    stablecoin: "PHPC",
    issuer: "CoinsPH",
    contract: "0x006E1D324FA995f1c1B8318b058Ae9c117A72c20",
    decimals: 18
  }, {
    region: "APAC",
    market: "Philippines",
    stablecoin: "PHT",
    issuer: "APACX",
    contract: "0xe75220cB014Dfb2D354bb59be26d7458bB8d0706",
    decimals: 18
  }, {
    region: "APAC",
    market: "Australia",
    stablecoin: "AUDF",
    issuer: "Forte",
    contract: "0xd2a530170D71a9Cfe1651Fb468E2B98F7Ed7456b",
    decimals: 6
  }, {
    region: "APAC",
    market: "New Zealand",
    stablecoin: "NZDS",
    issuer: "Techemynt",
    contract: "0xFbBE4b730e1e77d02dC40fEdF9438E2802eab3B5",
    decimals: 6
  }];
  const [search, setSearch] = useState('');
  const [copied, setCopied] = useState(null);
  const hasFilters = search.length > 0;
  const filtered = STABLECOINS.filter(s => {
    const q = search.toLowerCase();
    return !q || s.market.toLowerCase().includes(q) || s.stablecoin.toLowerCase().includes(q) || s.issuer.toLowerCase().includes(q) || s.contract.toLowerCase().includes(q);
  });
  const copyAddress = addr => {
    navigator.clipboard.writeText(addr);
    setCopied(addr);
    setTimeout(() => setCopied(null), 1500);
  };
  const truncate = addr => addr.slice(0, 6) + '\u2026' + addr.slice(-4);
  const rowBg = i => i % 2 === 0 ? 'bg-white dark:bg-transparent' : 'bg-gray-50/50 dark:bg-white/[0.02]';
  return <div className="not-prose space-y-4">
      <div className="relative w-full">
        <svg className="absolute left-3.5 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none" fill="none" stroke="currentColor" viewBox="0 0 24 24">
          <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M21 21l-4.35-4.35M17 11A6 6 0 1 1 5 11a6 6 0 0 1 12 0z" />
        </svg>
        <input type="text" placeholder="Search by market, stablecoin, issuer, or contract address" value={search} onChange={e => setSearch(e.target.value)} className="w-full pl-10 pr-4 py-2 rounded-full bg-gray-100 dark:bg-white/10 text-sm text-gray-800 dark:text-gray-100 placeholder-gray-400 dark:placeholder-gray-500 outline-none border border-transparent focus:border-[#670DE5] transition-colors" />
      </div>

      {hasFilters && <p className="text-sm text-gray-500 dark:text-gray-400">
          {filtered.length} {filtered.length === 1 ? 'stablecoin' : 'stablecoins'} found
        </p>}

      <div className="overflow-x-auto rounded-2xl border border-gray-200 dark:border-white/10">
        <table className="w-full text-sm">
          <thead>
            <tr className="border-b border-gray-200 dark:border-white/10 bg-gray-50 dark:bg-white/5">
              <th className="text-left px-4 py-3 font-semibold text-gray-600 dark:text-gray-400 whitespace-nowrap">Market</th>
              <th className="text-left px-4 py-3 font-semibold text-gray-600 dark:text-gray-400 whitespace-nowrap">Stablecoin</th>
              <th className="text-left px-4 py-3 font-semibold text-gray-600 dark:text-gray-400 whitespace-nowrap">Issuer</th>
              <th className="text-left px-4 py-3 font-semibold text-gray-600 dark:text-gray-400 whitespace-nowrap">Contract Address</th>
            </tr>
          </thead>
          <tbody>
            {filtered.length === 0 ? <tr>
                <td colSpan={4} className="px-4 py-10 text-center text-sm text-gray-500 dark:text-gray-400">
                  No stablecoins match your search.
                </td>
              </tr> : filtered.map((s, i) => <tr key={s.market + '-' + s.stablecoin} className={'border-b border-gray-100 dark:border-white/5 last:border-0 ' + rowBg(i)}>
                <td className="px-4 py-3 text-gray-700 dark:text-gray-300 whitespace-nowrap">
                  <span className="inline-flex items-center gap-1.5">
                    <span className="text-xs font-medium px-1.5 py-0.5 rounded bg-gray-100 dark:bg-white/10 text-gray-500 dark:text-gray-400">{s.region}</span>
                    {s.market}
                  </span>
                </td>
                <td className="px-4 py-3 font-semibold text-gray-900 dark:text-white whitespace-nowrap">{s.stablecoin}</td>
                <td className="px-4 py-3 text-gray-600 dark:text-gray-400 whitespace-nowrap">{s.issuer}</td>
                <td className="px-4 py-3">
                  <div className="flex items-center gap-2">
                    <a href={'https://polygonscan.com/token/' + s.contract} target="_blank" rel="noopener noreferrer" className="font-mono text-xs text-[#670DE5] dark:text-[#9551F5] hover:underline whitespace-nowrap">
                      {truncate(s.contract)}
                    </a>
                    <button onClick={() => copyAddress(s.contract)} className="text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 transition-colors flex-shrink-0">
                      {copied === s.contract ? <svg className="w-3.5 h-3.5 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                          <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2.5} d="M5 13l4 4L19 7" />
                        </svg> : <svg className="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                          <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2M16 8h2a2 2 0 012 2v8a2 2 0 01-2 2h-8a2 2 0 01-2-2v-2" />
                        </svg>}
                    </button>
                  </div>
                </td>

              </tr>)}
          </tbody>
        </table>
      </div>
    </div>;
};

Polygon Chain supports 50+ stablecoins covering USD, EUR, GBP, and local currencies. All are available as native ERC-20 tokens. USDC additionally supports cross-chain transfers via Circle's Cross-Chain Transfer Protocol (CCTP).

## Stablecoins available on Polygon

Search by market, stablecoin ticker, issuer, or contract address. Click a truncated address to view on Polygonscan, or copy the full address with the copy button. This list is not exhaustive.

<StablecoinTable />

## USDC integration

USDC is the most commonly used stablecoin for payment applications on Polygon. There are two integration paths depending on whether your use case is single-chain or cross-chain.

**Native USDC** is a standard ERC-20 token on Polygon. Use it for payments, balances, and transfers within Polygon.

**Gateway USDC (CCTP)** uses Circle's Cross-Chain Transfer Protocol to move USDC between chains by burning on the source chain and minting on the destination. Use it for cross-chain settlement.

<CardGroup cols={2}>
  <Card title="USDC native integration" icon="coins" href="/payment-services/stablecoins/usdc-native-integration">
    Read balances and transfer native USDC on Polygon using viem.
  </Card>

  <Card title="USDC gateway integration" icon="arrow-right-arrow-left" href="/payment-services/stablecoins/usdc-gateway-integration">
    Deposit, attest, and mint USDC cross-chain via Circle's CCTP gateway.
  </Card>
</CardGroup>

## Onramps to stablecoins

To help users acquire stablecoins from fiat, see the [Onramps](/stablecoins-payments/onramps) page for the full list of supported providers, including Stripe, MoonPay, and Transak.
