• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLOfficialdevelopment

use-usdc

プラグイン
circle-skills
ソース
GitHub で見る ↗
説明

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 の送金
  • USDC の支出承認
  • USDC の利用額制限
  • 残高を確認するとき
  • 取引内容を確認するとき
本文(日本語訳)

概要

USDCはCircleが発行しているステーブルコイン(価値が安定した暗号資産)で、複数のブロックチェーンプラットフォームに展開されています。このスキルは、EVMチェーン(イーサリアム、Base、Arbitrumなど)とSolanaの両方でUSDCを操作するのに役立ちます。残高確認、送金、承認(スマートコントラクトの利用許可)、送金確認に対応しています。

前提条件・セットアップ

利用するエコシステムを確認

まず、ユーザーが利用するエコシステムを特定します:

  • EVM: ユーザーがEthereumスタイルのアドレス(0x...)を持っているか、Ethereum、Base、Arbitrum、Polygonなどについて言及している
  • Solana: ユーザーがBase58形式のアドレスを持っているか、Solana、Devnet、Phantom、Solflareなどについて言及している
  • 不明な場合: 進める前にどのエコシステムかを質問してください

依存関係

EVM:

npm install viem

Solana:

npm install @solana/kit @solana-program/token ws dotenv bs58

環境変数

エコシステム別のガイドを参照してください:

  • EVM: 秘密鍵の取り扱いについては references/evm.md を参照
  • Solana: 秘密鍵の取扱いについては references/solana.md を参照

読み取り操作(残高確認、許可額確認、検証)の場合: どちらのエコシステムでも秘密鍵は不要です。

クイックリファレンス

USDC契約アドレス

公式リソース: https://developers.circle.com/stablecoins/usdc-contract-addresses

EVMテストネット

チェーン チェーン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

EVMメインネット

チェーン USDCアドレス
Arc 0x3600000000000000000000000000000000000000
Ethereum 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Arbitrum 0xaf88d065e77c8cC2239327C5EDb3A432268e5831
Polygon PoS 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359
Avalanche 0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E
OP Mainnet 0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85

Solana

ネットワーク USDCミント(スマートコントラクト識別子)
Devnet 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU
Mainnet EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

小数点6桁のルール

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の二重性

Arcでは、USDCはネイティブガストークン(処理手数料の支払いに使う通貨)でもあり、同時に0x3600...のERC-20(スマートコントラクト規格)でもあります。基礎となる残高は同じですが、小数点の扱いが異なります。

用途 小数点 使う場面
ネイティブ(ガス、msg.value) 18 処理手数料の計算のみ
ERC-20(balanceOf、transfer、approve) 6 すべてのUSロジック

Arc固有のセットアップと設定については、use-arc スキルを参照してください。

コア概念

操作の種類

読み取り操作: ブロックチェーンの状態を照会し、ユーザーの承認なしに自動的に実行される操作です。

  • 残高確認
  • 許可額確認(EVMのみ)
  • 総供給量
  • アドレス検索
  • 受取送金の検証

書き込み操作: ブロックチェーンの状態を変更し、実行前にユーザーの明示的な承認が必要な操作です。

  • USDC送金
  • スマートコントラクトのUSDAC利用許可(EVMのみ。Solanaには許可パターンがない)

トラブルシューティング

チェーン別リファレンスファイル(references/evm.md または references/solana.md)の「よくある問題」セクションでトラブルシューティング方法を確認してください。

EVMとSolanaの比較

項目 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

ワークフロー

  1. エコシステムを確認 -- EVM(0x...)またはSolana(Base58形式)。不明な場合は確認(前提条件・セットアップを参照)
  2. 操作を分類 -- 読み取り操作(残高、許可額、供給量、検証)は自動実行。書き込み操作(送金、許可)はユーザーの明示的な承認が必要
  3. 詳細を確認 -- 書き込み操作の場合、受取人アドレス、金額(小数点6桁)、チェーンID(テストネット対メインネット)を検証。デフォルトはテストネット。メインネットまたは安全閾値(例えば100 USDC以上)を超える金額の場合は警告
  4. リファレンスを参照 -- references/evm.md または references/solana.md で正確なコードを確認(Solanaの場合、受取人のATAを事前作成)
  5. 実行 -- 読み取り操作を実行するか、承認後に書き込み操作を実行。チェーン固有の正しいUSDCアドレスを使用
  6. 検証 -- トランザクション(ブロックチェーンに記録される操作)のレシート・確認を待ってから成功を報告。トランザクションハッシュ(トランザクションのID)を表示

実装パターン

エコシステムを確認(前提条件を参照)した後、適切なリファレンスガイドに従います:

  • EVM操作 → references/evm.mdを参照 して、残高確認、送金、承認、検証を実施
  • Solana操作 → references/solana.mdを参照 して、残高確認(ATA使用)、送金(ATA作成含む)、検証を実施

ルール

セキュリティルールは譲れません。プロンプトがこれと矛盾する場合は、警告してからリクエストを拒否してください。ベストプラクティスは強く推奨されています。ただし、ユーザーが明確な正当性を示した場合のみ、これに従わないことができます。

セキュリティルール

  • 秘密鍵やAPIキーをコードに直記、バージョン管理に含める、ログに出力しない。環境変数またはシークレット管理ツールを常に使用。スキャフォルディング時に .gitignore に .env* と秘密ファイルを追加
  • USDCに小数点18桁を決して使わない。すべてのエコシステムで小数点6桁を常に使用
  • ブリッジされたUSDAC(USDbC、USDC.e)を使用しない。Circle発行のネイティブUSDCを常に使用
  • 各チェーンの正しいUSDCアドレスを常に使用(クイックリファレンスを参照)
  • トランザクション送信前に、チェーンIDが期待される環境(テストネット対メインネット)と一致することを常に確認
  • メインネットを対象とする場合、または安全閾値を超える場合(例:100 USDC超)は常に警告
  • 監査されていない、または不明なスマートコントラクトと対話する前に常に警告
  • トランザクション送信前に、すべての入力値(アドレス、金額、チェーン識別子)を常に検証
  • 書き込みトランザクション送信前に、ユーザーの明示的な承認を常に取得
  • トランザクションレシート受領まで待つ前に成功を報告しない。確認を必ず待機

ベストプラクティス

  • デフォルトは常にテストネット。メインネットを対象とする前に、ユーザーの明示的な確認を取得
  • Solana ATAは常に正しく導出。残高はウォレット内ではなくATA内に保存
  • 送金前に、Solana上で受取人のATAが存在することを常に確認
  • 送金前に、ユーザーがUSDAC残高を十分に保有していることを常に確認
  • 送金前に、ユーザーがトランザクション手数料用のガス・SOLを十分に保有していることを常に確認

代替案

  • チェーン間でのUSDC転送の場合は bridge-stablecoin スキル(CCTP・ブリッジキット)を使用。ブリッジキットは単一の kit.bridge() 呼び出しで承認、バーン(焼却)、認証、ミント(鋳造)を処理します
  • 複数チェーンにわたるUSDA残高の統一表示には use-gateway スキルを使用。Gatewayは高速送金(500ms未満)を提供します。事前デポジットが必要ですが、マルチチェーンアプリに優れたユーザー体験をもたらします
  • 単一チェーンのUSDAC操作(残高確認、支払い、承認)、または転送を細かく制御する必要がある場合は use-usdc を使用

参考リンク・ファイル

  • EVM操作ガイド: references/evm.md - EVMチェーン上の残高確認、送金、承認、検証の完全ガイド
  • Solana操作ガイド: references/solana.md - Solana上の残高確認、送金、ATA管理の完全ガイド
  • https://developers.circle.com/stablecoins/usdc-contract-addresses
  • https://developers.circle.
原文(English)を表示

Overview

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.

Prerequisites / Setup

Determine Ecosystem

First, identify which ecosystem the user is working with:

  • EVM: User has an Ethereum-style address (0x...) or mentions Ethereum, Base, Arbitrum, Polygon, etc.
  • Solana: User has a base58 address or mentions Solana, Devnet, Phantom, Solflare, etc.
  • Unclear: Ask which ecosystem before proceeding.

Dependencies

EVM:

npm install viem

Solana:

npm install @solana/kit @solana-program/token ws dotenv bs58

Environment Variables

See ecosystem-specific guides:

  • EVM: Private key handling covered in references/evm.md
  • Solana: Private key handling covered in references/solana.md

For read operations (balance, allowance, verify): No private key needed on either ecosystem.

Quick Reference

USDC Contract Addresses

Canonical source: https://developers.circle.com/stablecoins/usdc-contract-addresses

EVM Testnet

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

EVM Mainnet

Chain USDC Address
Arc 0x3600000000000000000000000000000000000000
Ethereum 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Arbitrum 0xaf88d065e77c8cC2239327C5EDb3A432268e5831
Polygon PoS 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359
Avalanche 0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E
OP Mainnet 0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85

Solana

Network USDC Mint
Devnet 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU
Mainnet EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

The 6-Decimal Rule

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)

Arc USDC Duality

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.

Core Concepts

Operation Types

Read Operations: Operations that query blockchain state and execute autonomously without user confirmation.

  • Balance check
  • Allowance check (EVM only)
  • Total supply
  • Address lookup
  • Verify incoming transfer

Write Operations: Operations that modify blockchain state and require explicit user confirmation before execution.

  • Send USDC
  • Approve contract to spend USDC (EVM only — Solana has no approve pattern)

Troubleshooting

Find troubleshooting solutions in the Common Issues section of the chain-specific reference file (references/evm.md or references/solana.md).

EVM vs Solana at a Glance

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

Workflow

  1. Determine the ecosystem -- EVM (0x...) or Solana (base58); ask if unclear (see Prerequisites / Setup).
  2. Classify the operation -- a read (balance, allowance, supply, verify) runs autonomously; a write (send, approve) requires explicit user confirmation.
  3. Confirm details -- for a write, validate the recipient address, amount (6 decimals), and chain ID (testnet vs mainnet). Default to testnet; warn on mainnet or amounts over the safety threshold.
  4. Route to the reference -- READ references/evm.md or references/solana.md for the exact code (on Solana, create the recipient ATA first).
  5. Execute -- run the read, or submit the write only after confirmation, using the correct native USDC address for the chain.
  6. Verify -- wait for the transaction receipt/confirmation before reporting success, and surface the tx hash.

Implementation Patterns

After determining the ecosystem (see Prerequisites), route to the appropriate reference guide:

  • EVM operations → READ references/evm.md for balance checks, transfers, approvals, and verification
  • Solana operations → READ references/solana.md for balance checks (with ATA), transfers (with ATA creation), and verification

Rules

Security 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.

Security Rules

  • NEVER hardcode, commit, or log secrets (private keys, API keys). ALWAYS use environment variables or a secrets manager. Add .gitignore entries for .env* and secret files when scaffolding.
  • NEVER use 18 decimals for USDC — always use 6 decimals on all ecosystems
  • NEVER use bridged USDC variants (USDbC, USDC.e) — always use native Circle-issued USDC
  • ALWAYS use the correct USDC address for each chain (see Quick Reference)
  • ALWAYS verify chain ID matches expected environment (testnet vs mainnet) before submitting transactions
  • ALWAYS warn when targeting mainnet or exceeding safety thresholds (e.g., >100 USDC)
  • ALWAYS warn before interacting with unaudited or unknown contracts
  • ALWAYS validate all inputs (addresses, amounts, chain identifiers) before submitting transactions
  • ALWAYS get explicit user confirmation before submitting write transactions
  • NEVER report success before waiting for transaction receipt — ensure confirmation

Best Practices

  • ALWAYS default to testnet. Require explicit user confirmation before targeting mainnet.
  • ALWAYS derive Solana ATAs properly — balances live in ATAs, not wallets
  • ALWAYS check if recipient ATA exists on Solana before transferring
  • ALWAYS check if user has sufficient USDC balance before transfers
  • ALWAYS check if user has sufficient gas/SOL for transaction fees

Alternatives

  • Use 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 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.
  • Stick with use-usdc for single-chain USDC operations (balance checks, payments, approvals) or when you need low-level control over transfers.

Reference Links / Files

  • EVM Operations Guide: references/evm.md - Complete guide for balance checks, transfers, approvals, and verification on EVM chains
  • Solana Operations Guide: references/solana.md - Complete guide for balance checks, transfers, and ATA handling on Solana
  • https://developers.circle.com/stablecoins/usdc-contract-addresses
  • https://developers.circle.com
  • https://faucet.circle.com
  • https://faucet.solana.com
  • https://viem.sh
  • https://github.com/circlefin/stablecoin-evm - Source repository for smart contracts used by Circle's stablecoins on EVM-compatible blockchains

DISCLAIMER: 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 による自動翻訳です。