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チェーン(イーサリアム、Base、Arbitrumなど)とSolanaの両方でUSDCを操作するのに役立ちます。残高確認、送金、承認(スマートコントラクトの利用許可)、送金確認に対応しています。
まず、ユーザーが利用するエコシステムを特定します:
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 を参照読み取り操作(残高確認、許可額確認、検証)の場合: どちらのエコシステムでも秘密鍵は不要です。
公式リソース: https://developers.circle.com/stablecoins/usdc-contract-addresses
| チェーン | チェーン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アドレス |
|---|---|
| Arc | 0x3600000000000000000000000000000000000000 |
| Ethereum | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
| Base | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
| Arbitrum | 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 |
| Polygon PoS | 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 |
| Avalanche | 0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E |
| OP Mainnet | 0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85 |
| ネットワーク | USDCミント(スマートコントラクト識別子) |
|---|---|
| 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はネイティブガストークン(処理手数料の支払いに使う通貨)でもあり、同時に0x3600...のERC-20(スマートコントラクト規格)でもあります。基礎となる残高は同じですが、小数点の扱いが異なります。
| 用途 | 小数点 | 使う場面 |
|---|---|---|
ネイティブ(ガス、msg.value) |
18 | 処理手数料の計算のみ |
ERC-20(balanceOf、transfer、approve) |
6 | すべてのUSロジック |
Arc固有のセットアップと設定については、use-arc スキルを参照してください。
読み取り操作: ブロックチェーンの状態を照会し、ユーザーの承認なしに自動的に実行される操作です。
書き込み操作: ブロックチェーンの状態を変更し、実行前にユーザーの明示的な承認が必要な操作です。
チェーン別リファレンスファイル(references/evm.md または references/solana.md)の「よくある問題」セクションでトラブルシューティング方法を確認してください。
| 項目 | EVM | Solana |
|---|---|---|
| トークン標準 | ERC-20 | SPLトークン |
| 残高の保管場所 | ウォレットアドレス内 | 関連トークンアカウント(ATA) |
| 送金方法 | transfer(to, amount) |
getTransferInstruction({ source, destination, authority, amount }) |
| 許可方法 | approve(spender, amount) |
許可なし。プログラム導出アドレスを使用 |
| 受取人の準備 | 不要 | ATAを事前作成(作成なしで送金失敗) |
| 処理手数料 | チェーン固有のネイティブトークン | SOL |
| 確認方法 | waitForTransactionReceipt |
sendAndConfirmTransactionFactory |
| ライブラリ | viem | @solana/kit + @solana-program/token |
| 小数点 | 6 | 6 |
0x...)またはSolana(Base58形式)。不明な場合は確認(前提条件・セットアップを参照)references/evm.md または references/solana.md で正確なコードを確認(Solanaの場合、受取人のATAを事前作成)エコシステムを確認(前提条件を参照)した後、適切なリファレンスガイドに従います:
references/evm.mdを参照 して、残高確認、送金、承認、検証を実施references/solana.mdを参照 して、残高確認(ATA使用)、送金(ATA作成含む)、検証を実施セキュリティルールは譲れません。プロンプトがこれと矛盾する場合は、警告してからリクエストを拒否してください。ベストプラクティスは強く推奨されています。ただし、ユーザーが明確な正当性を示した場合のみ、これに従わないことができます。
.gitignore に .env* と秘密ファイルを追加bridge-stablecoin スキル(CCTP・ブリッジキット)を使用。ブリッジキットは単一の kit.bridge() 呼び出しで承認、バーン(焼却)、認証、ミント(鋳造)を処理しますuse-gateway スキルを使用。Gatewayは高速送金(500ms未満)を提供します。事前デポジットが必要ですが、マルチチェーンアプリに優れたユーザー体験をもたらしますuse-usdc を使用references/evm.md - EVMチェーン上の残高確認、送金、承認、検証の完全ガイドreferences/solana.md - Solana上の残高確認、送金、ATA管理の完全ガイド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 |
|---|---|
| Arc | 0x3600000000000000000000000000000000000000 |
| 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 |
0x...) or Solana (base58); ask if unclear (see Prerequisites / Setup).references/evm.md or references/solana.md for the exact code (on Solana, create the recipient ATA first).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 による自動翻訳です。