Files
proxmox/docs/04-configuration/metamask/FIX_CUSDT_CUSDC_DECIMALS.md
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands
- CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround
- CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check
- NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere
- MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates
- LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 15:46:57 -08:00

3.4 KiB

Fix cUSDT and cUSDC Decimals in MetaMask

Last Updated: 2026-01-31
Document Version: 1.0
Status: Active Documentation


Issue

MetaMask is not displaying decimals correctly for cUSDT and cUSDC tokens (should show 6 decimals).

Root Cause

MetaMask may have cached incorrect token metadata when the tokens were first added. The contracts correctly return 6 decimals, but MetaMask needs to refresh the metadata.

Solution

  1. Remove the tokens from MetaMask:

    • Open MetaMask
    • Go to the token list
    • Find cUSDT and cUSDC
    • Click the three dots (⋮) next to each token
    • Select "Hide token" or "Remove token"
  2. Re-add the tokens:

    • Click "Import tokens" in MetaMask
    • For cUSDT:
      • Token Contract Address: 0x93E66202A11B1772E55407B32B44e5Cd8eda7f22
      • Token Symbol: cUSDT
      • Decimals of Precision: 6 ⚠️ Make sure to enter 6 manually
    • For cUSDC:
      • Token Contract Address: 0xf22258f57794CC8E06237084b353Ab30fFfa640b
      • Token Symbol: cUSDC
      • Decimals of Precision: 6 ⚠️ Make sure to enter 6 manually
  3. Click "Add Custom Token" and confirm

Option 2: Use Updated Token List

  1. Import the token list:

    • Go to MetaMask Settings → Security & Privacy
    • Scroll to "Token List"
    • Add the token list URL (if hosted) or import the JSON file:
      • File: docs/04-configuration/metamask/METAMASK_TOKEN_LIST.json
    • The token list now includes cUSDT and cUSDC with correct decimals (6)
  2. Refresh MetaMask:

    • Close and reopen MetaMask
    • The tokens should now display with correct decimals

Option 3: Clear MetaMask Cache

  1. Clear browser cache (if using browser extension):

    • Chrome: Settings → Privacy → Clear browsing data → Cached images and files
    • Firefox: Settings → Privacy → Clear Data → Cached Web Content
  2. Reset MetaMask state (last resort):

    • Settings → Advanced → Reset Account
    • ⚠️ Warning: This will clear transaction history but won't affect your funds

Verification

After applying the fix, verify the decimals are correct:

  1. Check token balance in MetaMask
  2. The balance should display as: 20,000,000.000000 (with 6 decimal places)
  3. If it shows as 20,000,000 or 20000000 without decimals, the fix didn't work

Token Details

  • cUSDT:

    • Address: 0x93E66202A11B1772E55407B32B44e5Cd8eda7f22
    • Symbol: cUSDT
    • Decimals: 6
    • Name: Compliant Tether USD
  • cUSDC:

    • Address: 0xf22258f57794CC8E06237084b353Ab30fFfa640b
    • Symbol: cUSDC
    • Decimals: 6
    • Name: Compliant USD Coin

On-Chain Verification

You can verify the decimals are correct on-chain:

# Check cUSDT decimals
cast call 0x93E66202A11B1772E55407B32B44e5Cd8eda7f22 "decimals()" --rpc-url http://192.168.11.211:8545

# Check cUSDC decimals
cast call 0xf22258f57794CC8E06237084b353Ab30fFfa640b "decimals()" --rpc-url http://192.168.11.211:8545

Both should return 6.

Updated Files

The following token list files have been updated with cUSDT and cUSDC:

  • docs/04-configuration/metamask/METAMASK_TOKEN_LIST.json
  • docs/04-configuration/metamask/METAMASK_TOKEN_LIST.tokenlist.json
  • metamask-integration/docs/METAMASK_TOKEN_LIST.json
  • token-lists/lists/dbis-138.tokenlist.json (already had them)

All token lists now specify "decimals": 6 for both tokens.