use-usdc

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

1|Updated Jul 20, 2026
One-click install
npx skills add https://github.com/Lightupwrld/Cycuxio --skill use-usdc-lightupwrld
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: use-usdc
Source: https://github.com/Lightupwrld/Cycuxio/tree/main/.agents/skills/use-usdc
Command: npx skills add https://github.com/Lightupwrld/Cycuxio --skill use-usdc-lightupwrld

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 different blockchains involves chain-specific contract addresses, decimal handling, and account models that are easy to get wrong. This Skill provides verified contract addresses, correct 6-decimal handling, and step-by-step patterns for balance checks, transfers, approvals, and transfer verification on both EVM chains and Solana. ## Core Features & Use Cases - Balance and Allowance Checks: Read USDC balances via ERC-20 balanceOf on EVM or by deriving the Associated Token Account on Solana, with no private key required. - Transfers and Approvals: Send USDC with pre-flight balance and gas checks, transaction previews, and explicit user confirmation; approve contracts to spend USDC on EVM. - Transfer Verification: Query Transfer events on EVM or recent signatures on Solana to confirm incoming payments. - Use Case: An agent needs to pay 10 USDC to a recipient on Arc Testnet. The Skill checks the sender's balance and gas, presents a preview with the correct USDC contract address, and submits the transfer only after confirmation. ## Quick Start Check my USDC balance on Base Sepolia for address 0xYourAddress using the use-usdc skill.

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 ERC-20 balanceOf method on the chain's USDC contract using viem's readContract, then format the result with 6 decimals via formatUnits. No private key is needed for read operations.

How to send USDC on Solana with @solana/kit?

Derive the sender and recipient Associated Token Accounts with findAssociatedTokenPda, build a transfer instruction with getTransferInstruction, and submit via sendAndConfirmTransactionFactory. The recipient ATA must exist before the transfer or the transaction fails.

What is the USDC contract address on each chain?

Each chain has a distinct native USDC address, such as 0xA0b8...eB48 on Ethereum mainnet and 0x8335...2913 on Base. The canonical list is maintained at developers.circle.com/stablecoins/usdc-contract-addresses; never use bridged variants like USDbC.

Why does my USDC transfer show the wrong amount?

USDC uses 6 decimals on all chains, not 18. Use parseUnits(amount, 6) on EVM or Math.floor(amount * 1_000_000) on Solana; using 18 decimals produces amounts a trillion times too large.

Does Solana USDC support the approve pattern like ERC-20?

No, Solana SPL tokens have no approve method. Protocols on Solana use Program Derived Addresses instead, so you transfer directly or delegate through program instructions rather than granting allowances.

When should I use bridging instead of a direct USDC transfer?

Direct transfers only work within a single chain. To move USDC between chains, use a bridging approach such as Circle's CCTP, which burns USDC on the source chain and mints it on the destination chain.