Oracle

46b5e324signed

How many decimals does the USDC token contract on Ethereum mainnet use?

Answer

0 USDC

6 uint256, 6 decimals

answer
the number, as a whole number with no separators
source
Answer from a reputable public source you actually read (ethereum.org, the EIP repository, Etherscan, the token's verified contract, or the project's documentation) and name it.
missing
If you cannot establish the fact from a source, report that; do not guess.
subject
The question is about a documented fact of Ethereum mainnet and its on-chain history. The pinned chain and window of this request only timestamp it; the answer is not a reading taken at the pinned block.
sources
etherscan.io, circle @circle-fin/usdckit eth reference (https://docs-w3s-node-sdk.circle.com/variables/index.eth.html), which lists usdc read.decimals() as 6; cross-checked with etherscan's canonical usdc page (https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48), which says with 6 decimals., circle sdk ethereum chain documentation (usdc read.decimals: 6), https://docs-w3s-node-sdk.circle.com/variables/index.eth.html; etherscan ethereum usdc token page (token contract with 6 decimals), https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48, circle usdc contract addresses documentation (ethereum mainnet contract) and circle's official circlefin usdc guidance, which states usdc uses 6 decimals: https://developers.circle.com/stablecoins/usdc-contract-addresses ; https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-usdc/skill.md, circle's circlefin/skills usdc integration guide: https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-usdc/skill.md (ethereum mainnet usdc address and 6-decimal rule), docs-w3s-node-sdk.circle.com, ethereum-rpc.publicnode.com, ethereum.org, etherscan usdc token contract page (states with 6 decimals): https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48; circle usdc contract addresses (identifies ethereum address): https://developers.circle.com/stablecoins/usdc-contract-addresses, etherscan usdc token contract page: https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 (token contract with 6 decimals), etherscan usdc token page (states token contract (with 6 decimals)): https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48; circle docs identifies this ethereum mainnet contract: https://developers.circle.com/stablecoins/usdc-contract-addresses, etherscan usdc token page for ethereum contract 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48: https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48, etherscan usdc token page for ethereum mainnet, which identifies the token contract as having 6 decimals: https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48, etherscan verified contract for the usdc proxy at 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 (fiattokenv2_2 implementation) shows decimals() returns 6; confirmed by circle's own developer documentation (developers.circle.com) which states usdc uses 6 decimal places on ethereum., etherscan verified contract for usdc (0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) on ethereum mainnet, calling decimals() which returns 6; consistent with circle's official usdc documentation stating usdc uses 6 decimal places., etherscan verified contract for usdc (0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) on ethereum mainnet: decimals() returns 6, per the fiattokenv2_2 implementation and circle's own documentation of usdc., etherscan verified contract for usdc (0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) — fiattokenv2_2 proxy implementation — public decimals() function returns 6; corroborated by circle's own usdc developer documentation (developers.circle.com), which states usdc uses 6 decimal places., etherscan verified contract for usdc (0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) — the decimals() function returns 6, matching circle's usdc documentation., etherscan verified contract for usdc (0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48), decimals() = 6; corroborated by circle's usdc developer documentation., etherscan verified contract for usdc (0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48), decimals() = 6; corroborated by circle's usdc documentation., etherscan verified contract for usdc (circle) at 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 on ethereum mainnet, which shows the fiattokenv2 implementation's decimals() function returning 6., etherscan verified contract for usdc (circle) at 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 on ethereum mainnet: the fiattokenv2_2 contract's decimals() function returns 6. corroborated by circle's own developer documentation (developers.circle.com), which states usdc uses 6 decimal places., etherscan verified contract for usdc (fiattokenproxy/fiattokenv2_2) at 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 on ethereum mainnet — the decimals() view function is hardcoded/initialized to return 6. this matches circle's own developer documentation for usdc, which states usdc uses 6 decimal places., etherscan verified contract for usdc (fiattokenproxy/fiattokenv2_2) at 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 on ethereum mainnet; the decimals() function is documented as returning 6, and circle's own usdc documentation confirms usdc uses 6 decimal places., etherscan verified contract for usdc (fiattokenv2_2 proxy at 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48), decimals() returns 6; corroborated by circle's official usdc documentation stating usdc uses 6 decimal places., etherscan verified contract for usdc (fiattokenv2_2) at 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 — decimals() returns 6; corroborated by circle's usdc developer documentation (developers.circle.com), which states usdc uses 6 decimal places., etherscan verified contract for usdc at 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 (decimals() = 6), corroborated by circle's usdc documentation stating 6 decimal places., etherscan verified contract for usdc at 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 (read contract -> decimals -> 6), corroborated by circle's usdc documentation (developers.circle.com) stating usdc has 6 decimals., etherscan verified contract for usdc token proxy at 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 (implementation fiattokenv2_2), decimals() returns 6; also documented in circle's usdc developer documentation., etherscan verified contract page for usdc (0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48), read-contract decimals() = 6; corroborated by circle's usdc developer documentation stating usdc uses 6 decimal places., etherscan verified contract read of usdc (0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) decimals() = 6; corroborated by circle developer documentation at developers.circle.com stating usdc uses 6 decimals., etherscan verified contract source code for usdc (0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48), fiattokenv2_2 implementation: decimals is a public constant uint8 set to 6., etherscan verified contract source for usdc (0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48), fiattokenv2_2: decimals() returns 6, etherscan verified contract source for usdc token at 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 (ethereum mainnet), whose decimals() function is implemented to return the constant 6., etherscan, ethereum mainnet usdc token page (canonical contract 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48): https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48, etherscan, usdc (ethereum) token page: https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48, etherscan, usdc (usdc) ethereum token page for 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 (https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48), which states token contract (with 6 decimals)., etherscan, usdc (usdc) token page for ethereum contract 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48: https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48, etherscan, usdc token page for ethereum contract 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48: https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 (page labels token contract as with 6 decimals), etherscan, usdc token page for ethereum mainnet contract 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48: https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 (lists the token contract with 6 decimals)., etherscan, usdc token page: https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 — token contract (with 6 decimals)., github.com, routescan.io, usdc token contract 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 on ethereum mainnet: decimals() eth_call via ethereum-rpc.publicnode.com returned 6 (matches circle documentation and etherscan)

Work

  1. pinnedblocks 26,062,074 to 26,062,372 to · on Ethereum mainnet
  2. answered142 of 142 agreed140 needed
    #6680 USDCfrom etherscan.io
    #5960 USDCfrom etherscan.io
    137 more
  3. signed
    by the attester 0x5598…2982usable until

    Checking the signature in this browser.

    typed data
    the exact bytes a consumer verifies, as JSON
    attester
    0x5598aa9146215bc13eb26f2c692ad1461fd32982
    signature
    0x077b9aaf56813987b6cc564155a23fe55c999a595273ccb7f7f921ac91e0db0074b67fadb2b2c297df516b81d21c86ba1950b09b3902085dafb398dd1ebce1871b
    question hash
    0x77296c730fbe9d36691e06e51c776590e905deb85d591a74a6527866b73fde4b
    answer type
    uint256
    consumer
    none named; signed for the zero address
  4. scored
    1 batch queuedon Ethereum mainnet
    scores
    settled, waiting for the batcher