- 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>
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
Option 1: Remove and Re-add Tokens (Recommended)
-
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"
-
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
- Token Contract Address:
- For cUSDC:
- Token Contract Address:
0xf22258f57794CC8E06237084b353Ab30fFfa640b - Token Symbol:
cUSDC - Decimals of Precision:
6⚠️ Make sure to enter 6 manually
- Token Contract Address:
-
Click "Add Custom Token" and confirm
Option 2: Use Updated Token List
-
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
- File:
- The token list now includes cUSDT and cUSDC with correct decimals (6)
-
Refresh MetaMask:
- Close and reopen MetaMask
- The tokens should now display with correct decimals
Option 3: Clear MetaMask Cache
-
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
-
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:
- Check token balance in MetaMask
- The balance should display as:
20,000,000.000000(with 6 decimal places) - If it shows as
20,000,000or20000000without decimals, the fix didn't work
Token Details
-
cUSDT:
- Address:
0x93E66202A11B1772E55407B32B44e5Cd8eda7f22 - Symbol:
cUSDT - Decimals:
6 - Name:
Compliant Tether USD
- Address:
-
cUSDC:
- Address:
0xf22258f57794CC8E06237084b353Ab30fFfa640b - Symbol:
cUSDC - Decimals:
6 - Name:
Compliant USD Coin
- Address:
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.jsondocs/04-configuration/metamask/METAMASK_TOKEN_LIST.tokenlist.jsonmetamask-integration/docs/METAMASK_TOKEN_LIST.jsontoken-lists/lists/dbis-138.tokenlist.json(already had them)
All token lists now specify "decimals": 6 for both tokens.