{"openapi":"3.1.0","info":{"title":"Stablecoin Chain Distribution API","version":"1.0.0","description":"Where dollar stablecoin liquidity actually lives, read live and keyless from each blockchain. USDC and USDT are issued natively on many chains, and the split between them is one of the most-watched signals in the layer-2 wars: Ethereum mainnet still holds the bulk, but Base, Arbitrum and the other rollups have been pulling stablecoin supply across as activity migrates. This API reads the native USDC and USDT supply directly from the token contract on each chain — Ethereum, Base, Arbitrum, Optimism, Polygon and Avalanche — not a single chain and not an aggregator, so you see the real on-chain distribution. The stablecoin endpoint takes a symbol (USDC or USDT) and returns its supply on every tracked chain, ranked, each with its share of that stablecoin and the Ethereum-versus-rollup split. The chains endpoint ranks the chains by their total native stablecoin liquidity (USDC and USDT together) — which chain hosts the most dollars. The summary endpoint is the top-down view: total USDC, total USDT, the combined total, the USDT-to-USDC ratio, and Ethereum's dominance versus the share that has moved to the rollups. Because USDC and USDT are dollar-pegged and read at the token's own on-chain decimals (read live from each contract, never assumed), the supply equals the dollars of stablecoin on that chain; only natively-issued supply is counted (bridged and peg tokens are excluded). This is the stablecoin chain-distribution cut — distinct from the single-chain token feeds, the generic stablecoin-supply aggregators and the price feeds: it is specifically the cross-chain liquidity map. Amounts are in US dollars. No key, nothing stored beyond a short cache.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/stablecoinchains-api","description":"oanor gateway"}],"tags":[{"name":"Stablecoin"},{"name":"Chains"},{"name":"Summary"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/stablecoin":{"get":{"operationId":"get_v1_stablecoin","tags":["Stablecoin"],"summary":"One stablecoin's supply per chain + Ethereum/rollup split","description":"","parameters":[{"name":"symbol","in":"query","required":true,"description":"USDC or USDT","schema":{"type":"string"},"example":"USDC"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Native USDC supply on every tracked chain, ranked — each chain's dollars and its share of all USDC. ethereum_share_pct is how much still sits on mainnet versus the rollups and alt-L1s. USDC is dollar-pegged and read at its on-chain decimals, so supply equals dollars. Live, cached ~5m.","source":"public JSON-RPC per chain (USDC contracts), keyless","symbol":"USDC","distribution":[{"usd":51392209705,"chain":"Ethereum","layer":"L1","share_pct":85.3},{"usd":4260717363,"chain":"Base","layer":"rollup","share_pct":7.07},{"usd":3280562875,"chain":"Arbitrum","layer":"rollup","share_pct":5.44},{"usd":754240445,"chain":"Polygon","layer":"altL1","share_pct":1.25},{"usd":396576506,"chain":"Avalanche","layer":"altL1","share_pct":0.66},{"usd":165402875,"chain":"Optimism","layer":"rollup","share_pct":0.27}],"chains_tracked":6,"dominant_chain":"Ethereum","total_supply_usd":60249709769,"ethereum_share_pct":85.3},"meta":{"timestamp":"2026-06-12T19:35:39.900Z","request_id":"d2fcf3aa-e667-4f11-9631-a0aa4cfa5e8c"},"status":"ok","message":"Stablecoin retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/chains":{"get":{"operationId":"get_v1_chains","tags":["Chains"],"summary":"Chains ranked by total native stablecoin liquidity","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Every tracked chain ranked by its total native stablecoin liquidity (USDC + USDT) — which chain hosts the most dollars. Ethereum mainnet still leads, but the rollups (Base, Arbitrum, Optimism) have been taking share. usdc and usdt are each chain's native supply in dollars. Live, cached ~5m.","count":6,"chains":[{"usdc":51392209705,"usdt":97070655230,"chain":"Ethereum","layer":"L1","total":148462864935,"share_pct":92.07},{"usdc":4260717363,"usdt":26171294,"chain":"Base","layer":"rollup","total":4286888657,"share_pct":2.66},{"usdc":3280562875,"usdt":999875327,"chain":"Arbitrum","layer":"rollup","total":4280438202,"share_pct":2.65},{"usdc":396576506,"usdt":1847205574,"chain":"Avalanche","layer":"altL1","total":2243782080,"share_pct":1.39},{"usdc":754240445,"usdt":879267241,"chain":"Polygon","layer":"altL1","total":1633507686,"share_pct":1.01},{"usdc":165402875,"usdt":177446399,"chain":"Optimism","layer":"rollup","total":342849274,"share_pct":0.21}],"leader":"Ethereum","source":"public JSON-RPC per chain, keyless","total_stablecoin_usd":161250330834},"meta":{"timestamp":"2026-06-12T19:35:40.089Z","request_id":"6efbe0f3-48e6-4702-a62a-ee4b40fe0300"},"status":"ok","message":"Chains retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/summary":{"get":{"operationId":"get_v1_summary","tags":["Summary"],"summary":"Total USDC/USDT, ratio, Ethereum dominance vs rollup share","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"The top-down stablecoin map across the tracked chains: total native USDC and USDT, the combined total, the USDT-to-USDC ratio (USDT leads overall), and how the dollars split between Ethereum mainnet (ethereum_dominance_pct) and the rollups (rollup_share_pct). A read on Ethereum's grip on stablecoin liquidity versus the L2 migration. Live, cached ~5m.","source":"public JSON-RPC per chain, keyless","total_usdc_usd":60249709769,"total_usdt_usd":101000621065,"rollup_share_pct":5.53,"combined_total_usd":161250330834,"usdt_to_usdc_ratio":1.68,"ethereum_dominance_pct":92.07},"meta":{"timestamp":"2026-06-12T19:35:40.285Z","request_id":"2f4297c1-3f4c-4f74-a8a8-bee90e52d61e"},"status":"ok","message":"Summary retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"stablecoin takes symbol (USDC or USDT, required). chains, summary and meta take no parameters. Amounts are in US dollars (native supply ÷ the token's on-chain decimals). Only natively-issued supply is counted (bridged/peg tokens excluded). A ~5-minute cache fronts the per-chain RPCs.","sample":{"usd":51392209705,"chain":"Ethereum","symbol":"USDC"},"source":"public JSON-RPC per chain (USDC + USDT contracts), keyless, live","service":"stablecoinchains-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/chains":"Chains ranked by total native stablecoin liquidity.","GET /v1/summary":"Total USDC/USDT, ratio, Ethereum dominance vs rollup share.","GET /v1/stablecoin":"One stablecoin's supply per chain + Ethereum/rollup split (symbol=USDC)."},"description":"Where dollar stablecoin liquidity lives across blockchains, read live and keyless from each chain's RPC. USDC and USDT are issued natively on many chains; this reads their supply directly from the token contract on Ethereum, Base, Arbitrum, Optimism, Polygon and Avalanche. The stablecoin endpoint gives one stablecoin's supply per chain (USDC or USDT) with the Ethereum-versus-rollup split; chains ranks the chains by their total native stablecoin liquidity; summary is the top-down view — total USDC, total USDT, the ratio and Ethereum's dominance versus the rollup share. Dollar-pegged and read at each token's on-chain decimals, so supply equals dollars. The stablecoin chain-distribution cut — distinct from the single-chain token feeds, the generic stablecoin-supply aggregators and the price feeds.","tracked_chains":["Ethereum","Base","Arbitrum","Optimism","Polygon","Avalanche"],"upstream_status":"ok","tracked_stablecoins":["USDC","USDT"]},"meta":{"timestamp":"2026-06-12T19:35:40.505Z","request_id":"88a78127-d2fd-4248-b9a6-fd2e6f78fa18"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":1100,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1700,"monthly_call_quota":21000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":6700,"monthly_call_quota":148000,"rps_limit":16,"hard_limit":true},{"slug":"scale","name":"Scale","price_cents_month":18900,"monthly_call_quota":520000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/stablecoinchains-api"}