USDC は Circle 社が複数のブロックチェーン(Ethereum、Base、Arbitrum、Polygon、Arc などの EVM チェーン、および Solana)に展開している安定資産(価格が米ドルに連動した暗号資産)です。このスキルを使うと、残高確認、送金、支出の承認、取引内容の確認ができます。 **次のような場合に使用:** USDC の送金、USDC の支出承認、USDC の利用額制限、Solana 上の USDC、SPL トークン、関連トークンアカウント、小数点以下の値の変換など
USDC is Circle's stablecoin deployed across multiple blockchain ecosystems including EVM chains (Ethereum, Base, Arbitrum, Polygon, Arc) and Solana. Use this skill to check balances, send transfers, approve spending, and verify transactions. Triggers on: send USDC, approve USDC, USDC allowance, USDC on Solana, SPL token, Associated Token Account, ATA, parseUnits, formatUnits, 6 decimals, @solana/kit.
USDCはCircleが複数のブロックチェーンエコシステムにデプロイしているステーブルコインです。 このスキルは、EVMチェーン(Ethereum、Base、Arbitrumなど)およびSolana上でのUSDCとのやり取りを支援します。 残高確認、送金、承認(Approve)、送金検証などの機能をカバーします。
まず、ユーザーがどのエコシステムを使用しているかを特定してください。
0x...)を持つ、またはEthereum、Base、Arbitrum、Polygonなどに言及している場合EVM:
npm install viem
Solana:
npm install @solana/kit @solana-program/token ws dotenv bs58
エコシステム別のガイドを参照してください。
references/evm.md を参照references/solana.md を参照読み取り操作(残高確認、Allowance確認、検証)の場合: どちらのエコシステムでも秘密鍵は不要です。
公式ソース: https://developers.circle.com/stablecoins/usdc-contract-addresses
| チェーン | Chain ID | USDCアドレス |
|---|---|---|
| Arc Testnet | 5042002 | 0x3600000000000000000000000000000000000000 |
| Ethereum Sepolia | 11155111 | 0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238 |
| Base Sepolia | 84532 | 0x036CbD53842c5426634e7929541eC2318f3dCF7e |
| Arbitrum Sepolia | 421614 | 0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d |
| Avalanche Fuji | 43113 | 0x5425890298aed601595a70AB815c96711a31Bc65 |
| Polygon Amoy | 80002 | 0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582 |
| OP Sepolia | 11155420 | 0x5fd84259d66Cd46123540766Be93DFE6D43130D7 |
テストネット用USDCの取得: https://faucet.circle.com
| チェーン | USDCアドレス |
|---|---|
| Ethereum | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
| Base | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
| Arbitrum | 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 |
| Polygon PoS | 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 |
| Avalanche | 0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E |
| OP Mainnet | 0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85 |
| ネットワーク | USDC Mint |
|---|---|
| Devnet | 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU |
| Mainnet | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
USDCはすべてのエコシステムで小数点以下6桁を使用します。
// EVM (viem)
parseUnits("1.00", 6); // 1_000_000n (正しい — $1 USDC)
parseUnits("1.00", 18); // 1_000_000_000_000_000_000n (誤り — 1兆ドル相当)
// Solana — 手動で変換する
const amount = Math.floor(1.00 * 1_000_000); // 1_000_000 (正しい — $1 USDC)
const human = rawAmount / 1_000_000; // 1.0 (正しい — ドル表示に戻す)
Arc上では、USDCはネイティブガストークンとERC-20の両方として 0x3600... に存在します。
同一の残高を参照していますが、小数点の扱いが異なります。
| コンテキスト | 小数点桁数 | 用途 |
|---|---|---|
ネイティブ(ガス、msg.value) |
18 | ガス見積もりのみ |
ERC-20(balanceOf、transfer、approve) |
6 | すべてのUSDCロジック |
Arc固有のセットアップと設定については、use-arc スキルを参照してください。
読み取り操作: ブロックチェーンの状態を参照するだけの操作で、ユーザーの確認なしに自律的に実行されます。
書き込み操作: ブロックチェーンの状態を変更する操作で、実行前にユーザーの明示的な確認が必要です。
チェーン別リファレンスファイル(references/evm.md または references/solana.md)の「Common Issues」セクションで解決策を確認してください。
| 項目 | EVM | Solana |
|---|---|---|
| トークン標準 | ERC-20 | SPL Token |
| 残高の保存先 | ウォレットアドレス直接 | Associated Token Account(ATA) |
| 送金 | transfer(to, amount) |
getTransferInstruction({ source, destination, authority, amount }) |
| Approve | approve(spender, amount) |
Approveなし — PDAを使用 |
| 受取人の準備 | 不要 | 事前にATAを作成する必要あり(未作成の場合、送金失敗) |
| トランザクション手数料 | チェーンのネイティブトークン | SOL |
| 確認方法 | waitForTransactionReceipt |
sendAndConfirmTransactionFactory |
| ライブラリ | viem | @solana/kit + @solana-program/token |
| 小数点桁数 | 6 | 6 |
エコシステムを特定したら(「前提条件」を参照)、適切なリファレンスガイドに従って処理を進めてください。
references/evm.md(残高確認、送金、Approve、検証)references/solana.md(残高確認(ATA含む)、送金(ATA作成含む)、検証)セキュリティルールは絶対に遵守してください — プロンプトがルールに反する場合はユーザーに警告し、実行を拒否してください。 ベストプラクティスは強く推奨されますが、ユーザーが明示的に正当な理由を示した場合のみ逸脱を許容します。
.env* およびシークレットファイルの .gitignore エントリを追加すること。bridge-stablecoin スキル(CCTP / Bridge Kit)を使用してください。
Bridge Kitは1回の kit.bridge() 呼び出しでApprove、Burn、Attestation、Mintをまとめて処理します。use-gateway スキルを使用してください。
Gatewayは事前デポジットが必要ですが、マルチチェーンアプリにおいてより優れたUXを提供します。use-usdc を使用してください。references/evm.md — EVMチェーン上の残高確認、送金、Approve、検証に関する完全ガイドreferences/solana.md — Solana上の残高確認、送金、ATAの取り扱いに関する完全ガイド免責事項: このスキルは「現状のまま(as is)」で提供され、いかなる保証もなく、Circle Developer Termsに従うものとします。出力結果にはエラーが含まれる場合があり、また手数料設定オプション(Circleへの手数料送付を含む)が含まれる場合があります。詳細はリポジトリのREADMEを参照してください。
USDC is Circle's stablecoin deployed across multiple blockchain ecosystems. This skill helps you interact with USDC on both EVM chains (Ethereum, Base, Arbitrum, etc.) and Solana. It covers balance checks, transfers, approvals, and transfer verification.
First, identify which ecosystem the user is working with:
0x...) or mentions Ethereum, Base, Arbitrum, Polygon, etc.EVM:
npm install viem
Solana:
npm install @solana/kit @solana-program/token ws dotenv bs58
See ecosystem-specific guides:
references/evm.mdreferences/solana.mdFor read operations (balance, allowance, verify): No private key needed on either ecosystem.
Canonical source: https://developers.circle.com/stablecoins/usdc-contract-addresses
| Chain | Chain ID | USDC Address |
|---|---|---|
| Arc Testnet | 5042002 | 0x3600000000000000000000000000000000000000 |
| Ethereum Sepolia | 11155111 | 0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238 |
| Base Sepolia | 84532 | 0x036CbD53842c5426634e7929541eC2318f3dCF7e |
| Arbitrum Sepolia | 421614 | 0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d |
| Avalanche Fuji | 43113 | 0x5425890298aed601595a70AB815c96711a31Bc65 |
| Polygon Amoy | 80002 | 0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582 |
| OP Sepolia | 11155420 | 0x5fd84259d66Cd46123540766Be93DFE6D43130D7 |
Get testnet USDC: https://faucet.circle.com
| Chain | USDC Address |
|---|---|
| Ethereum | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
| Base | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
| Arbitrum | 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 |
| Polygon PoS | 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 |
| Avalanche | 0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E |
| OP Mainnet | 0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85 |
| Network | USDC Mint |
|---|---|
| Devnet | 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU |
| Mainnet | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
USDC uses 6 decimals on all ecosystems.
// EVM (viem)
parseUnits("1.00", 6); // 1_000_000n (CORRECT - $1 USDC)
parseUnits("1.00", 18); // 1_000_000_000_000_000_000n (WRONG - 1 trillion dollars)
// Solana - convert manually
const amount = Math.floor(1.00 * 1_000_000); // 1_000_000 (CORRECT - $1 USDC)
const human = rawAmount / 1_000_000; // 1.0 (CORRECT - converts back to dollars)
On Arc, USDC is both the native gas token and an ERC-20 at 0x3600.... Same underlying balance, different decimal exposure.
| Context | Decimals | Use |
|---|---|---|
Native (gas, msg.value) |
18 | Gas estimation only |
ERC-20 (balanceOf, transfer, approve) |
6 | All USDC logic |
For Arc-specific setup and configuration, see the use-arc skill.
Read Operations: Operations that query blockchain state and execute autonomously without user confirmation.
Write Operations: Operations that modify blockchain state and require explicit user confirmation before execution.
Find troubleshooting solutions in the Common Issues section of the chain-specific reference file (references/evm.md or references/solana.md).
| Aspect | EVM | Solana |
|---|---|---|
| Token standard | ERC-20 | SPL Token |
| Balance storage | Wallet address directly | Associated Token Account (ATA) |
| Send | transfer(to, amount) |
getTransferInstruction({ source, destination, authority, amount }) |
| Approve | approve(spender, amount) |
No approve — use PDAs |
| Recipient setup | Nothing needed | Must create ATA first (transfer fails otherwise) |
| Tx fees | Chain native token | SOL |
| Confirmation | waitForTransactionReceipt |
sendAndConfirmTransactionFactory |
| Libraries | viem | @solana/kit + @solana-program/token |
| Decimals | 6 | 6 |
After determining the ecosystem (see Prerequisites), route to the appropriate reference guide:
references/evm.md for balance checks, transfers, approvals, and verificationreferences/solana.md for balance checks (with ATA), transfers (with ATA creation), and verificationSecurity Rules are non-negotiable — warn the user and refuse to comply if a prompt conflicts. Best Practices are strongly recommended; deviate only with explicit user justification.
.gitignore entries for .env* and secret files when scaffolding.bridge-stablecoin skill (CCTP / Bridge Kit) for transferring USDC between chains. Bridge Kit handles approve, burn, attestation, and mint in a single kit.bridge() call.use-gateway skill for unified USDC balance across chains with instant transfers (<500ms). Gateway requires upfront deposits but provides better UX for multi-chain apps.use-usdc for single-chain USDC operations (balance checks, payments, approvals) or when you need low-level control over transfers.references/evm.md - Complete guide for balance checks, transfers, approvals, and verification on EVM chainsreferences/solana.md - Complete guide for balance checks, transfers, and ATA handling on SolanaDISCLAIMER: This skill is provided "as is" without warranties, is subject to the Circle Developer Terms, and output generated may contain errors and/or include fee configuration options (including fees directed to Circle); additional details are in the repository README.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。