use-usdc

Check balances, send transfers, and approve USDC spending on EVM chains and Solana.

Updated Mar 18, 2026
One-click install
npx skills add https://github.com/Surojit012/CMO --skill use-usdc-surojit012
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: use-usdc
Source: https://github.com/Surojit012/CMO/tree/main/.agents/skills/use-usdc
Command: npx skills add https://github.com/Surojit012/CMO --skill use-usdc-surojit012

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires viem, @solana/kit, @solana-program/token, ws, dotenv, bs58, and includes references (resource) components.

What problem does it solve? Interacting with USDC across multiple blockchains involves chain-specific contract addresses, a strict 6-decimal rule, and ecosystem differences like Solana's Associated Token Accounts, which are easy to get wrong and can cause failed or irreversible transactions. ## Core Features & Use Cases - Balance and Allowance Checks: Read USDC balances on EVM chains via viem and on Solana via ATA derivation, with no private key required. - Transfers and Approvals: Send USDC and approve contract spending on EVM, or transfer SPL USDC on Solana with automatic recipient ATA existence checks. - Transfer Verification: Verify incoming USDC transfers by querying Transfer events on EVM or transaction signatures on Solana. - Use Case: A developer building a payment feature on Base Sepolia can check a wallet's USDC balance, preview a 10 USDC transfer with gas estimates, and confirm the transaction on-chain after user approval. ## Quick Start Ask the assistant to check the USDC balance of your wallet address on Base Sepolia or send 10 USDC to a recipient on Solana devnet.

Frequently Asked Questions about use-usdc

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check a USDC balance on Ethereum or Base?

Call the balanceOf method on the USDC ERC-20 contract using viem's readContract, passing the wallet address. Format the result with formatUnits using 6 decimals, since USDC uses 6 decimals on all chains.

How do I send USDC on Solana?

Derive the sender and recipient Associated Token Accounts with findAssociatedTokenPda, then build a transfer instruction with getTransferInstruction from @solana-program/token. The recipient ATA must exist before transferring or the transaction fails.

Why does my USDC transfer show the wrong amount?

USDC uses 6 decimals on all ecosystems, not 18 like ETH or 9 like SOL. Use parseUnits(amount, 6) on EVM or Math.floor(amount * 1_000_000) on Solana to convert dollar amounts correctly.

Does USDC on Solana support the approve function?

No, Solana SPL tokens have no approve pattern like ERC-20. Protocols on Solana use Program Derived Addresses instead, so approvals only apply to EVM chains.

What is the difference between native USDC and bridged USDC?

Native USDC is issued directly by Circle on each chain, while bridged variants like USDbC or USDC.e come from third-party bridges. Always use the native Circle-issued contract addresses listed in the official Circle documentation.

When should I use CCTP bridging instead of direct USDC transfers?

Direct transfers only work within a single chain. For moving USDC between chains, use a bridging approach like CCTP or Bridge Kit, which handles burn, attestation, and mint across networks in one flow.