• 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-gateway

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

Circle Gatewayを統合すると、複数のブロックチェーン間でUSDC(ステーブルコイン)の残高を一元管理でき、許可不要なデポジット・バーン・ミント(資産発行)のワークフローを通じて、500ミリ秒以下の超高速送金が実現できます。11のEVM互換チェーン(ブロックチェーン互換技術)+ Solana(メインネットとテストネット)、さらにArc(メインネットとテストネット)で利用可能です。 **次のような場合に使用:** - ユーザーがチェーン間の違いを意識しないシームレスな体験を提供したい - 極めて低い遅延または即座の確定が必要 - 複数チェーンの資金をまとめることで、資本効率を高めたい - チェーン間の残高を統一管理するアプリケーションを構築したい **トリガー対象:** Gateway、Gateway Wallet、Gateway Minter、gatewayMint、バーン意思、統一残高、即時チェーン間送金

原文を表示

Integrate Circle Gateway to hold a unified USDC balance across multiple blockchains and transfer USDC instantly (<500ms) via permissionless deposit, burn, and mint workflows. Available on 11 EVM chains + Solana (mainnet and testnet), plus Arc (mainnet and testnet). Use when: enabling chain-agnostic user experiences, low-latency or instant next-block finality is required, capital needs to be pooled across chains for greater capital efficiency, or building apps with consolidated crosschain balances. Triggers on: Gateway, Gateway Wallet, Gateway Minter, gatewayMint, burn intent, unified balance, instant crosschain transfer.

ユースケース
  • チェーン間でシームレスな送金体験を提供したい
  • 超高速な資金移動が必要
  • 複数チェーンの資金を一元管理したい
  • 資本効率を高めたい
本文(日本語訳)

概要

Circle Gateway は、複数のブロックチェーン間で USDC の残高を一元管理し、瞬時(500ミリ秒以下)でのクロスチェーン送金(ブロックチェーン間での資金移動)を実現します。ユーザーは任意のサポート対象チェーン上の Gateway Wallet に USDC を預け入れ、送信元チェーンで焼却(資金を無効化)し、送信元チェーンの確認完了を待たずに受け取り先チェーンで新規発行されます。

前提条件 / セットアップ

Gateway はコントラクトレベルの統合です。SDK をインストールする必要はありません。Gateway Wallet と Gateway Minter コントラクト(ブロックチェーン上で実行されるプログラム)および Gateway REST API(認証情報を取得するため)と直接やり取りします。

チェーン設定

デフォルトでは個別の設定ファイルを読み込まないようにします。ほとんどの Gateway 操作は、ユーザーの wallet モデルと送信元・受け取り先ネットワークに合致するシナリオリファレンスに直接進めます。

シナリオリファレンスを最初に確認し、以下を確認する必要がある場合のみ追加検証を行います。

  • Gateway REST ベース URL
    • テストネット: https://gateway-api-testnet.circle.com/v1/
    • メインネット: https://gateway-api.circle.com/v1/
  • チェーン固有の USDC アドレス: https://developers.circle.com/stablecoins/usdc-contract-addresses.md
  • Circle Wallet のブロックチェーン識別子: https://developers.circle.com/wallets/supported-blockchains.md

検証用の公式ドキュメント:

  • Gateway ガイド:
    • https://developers.circle.com/gateway/howtos/create-unified-usdc-balance.md
    • https://developers.circle.com/gateway/howtos/manage-delegates.md
    • https://developers.circle.com/gateway/howtos/transfer-unified-usdc-balance.md
  • Gateway クイックスタート:
    • https://developers.circle.com/gateway/quickstarts/unified-balance-evm.md
    • https://developers.circle.com/gateway/quickstarts/unified-balance-solana.md
  • Arc チュートリアル: https://docs.arc.io/arc/tutorials/access-usdc-crosschain.md

クイックリファレンス

主要アドレス

EVM メインネット(全チェーン共通)

  • Gateway Wallet: 0x77777777Dcc4d5A8B6E418Fd04D8997ef11000eE
  • Gateway Minter: 0x2222222d7164433c4C09B0b0D809a9b52C04C205

EVM テストネット(全チェーン共通)

  • Gateway Wallet: 0x0077777d7EBA4688BDeF3E311b846F25870A19B9
  • Gateway Minter: 0x0022222ABE238Cc2C7Bb1f21003F0a260052475B

Solana メインネット

  • Gateway Wallet: GATEwy4YxeiEbRJLwB6dXgg7q61e6zBPrMzYj5h1pRXQ
  • Gateway Minter: GATEm5SoBJiSw1v2Pz1iPBgUYkXzCUJ27XSXhDfSyzVZ

Solana Devnet

  • Gateway Wallet: GATEwdfmYNELfp5wDmmR6noSr2vHnAfBPMm2PvCzX5vu
  • Gateway Minter: GATEmKK2ECL1brEngQZWCgMWPbvrEYqsV6u29dAaHavr
  • USDC Mint: 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU

ドメイン ID(メインネット)

チェーン ドメイン
Ethereum 0
Avalanche 1
OP 2
Arbitrum 3
Solana 5
Base 6
Polygon PoS 7
Unichain 10
Sonic 13
World Chain 14
Sei 16
HyperEVM 19
Arc 26

ドメイン ID(テストネット)

チェーン ドメイン
Ethereum Sepolia 0
Avalanche Fuji 1
OP Sepolia 2
Arbitrum Sepolia 3
Solana Devnet 5
Base Sepolia 6
Polygon Amoy 7
Unichain Sepolia 10
Sonic Testnet 13
World Chain Sepolia 14
Sei Atlantic 16
HyperEVM Testnet 19
Arc Testnet 26

基本的な概念

一元管理される残高

Gateway はすべてのサポート対象チェーンに預け入れた USDC を、1 つの統合された残高に集約します。これはアカウンティング抽象化(複数の資産を 1 つの通帳で管理する仕組み)です。実際の USDC トークンは個別のブロックチェーン上に存在したままです。残高が統合されて見えても、すべての送金では sourceDomain(焼却するチェーン)と destinationDomain(新規発行するチェーン)を指定する必要があります。

複数通貨銀行口座のようなものと考えてください。合計額は 1 つに見えますが、引き出しは特定の預金から行われます。統合残高内の任意のチェーンから焼却し、サポート対象のいずれのチェーンにも新規発行できます。

例: Ethereum Sepolia に 10 USDC、Base Sepolia に 5 USDC、Solana Devnet に 5 USDC を預けた場合、統合残高は 20 USDC になります。Arc Testnet に 10 USDC を送金するには、十分な残高を持つ任意のチェーンの組み合わせから焼却できます。

送金フロー

  1. 預け入れ -- ユーザーが任意のチェーン上の Gateway Wallet に USDC を預け入れ(統合残高に追加)
  2. 焼却意思の作成 -- 送信元ドメイン、受け取り先ドメイン、受け取り人、金額を指定
  3. 署名 -- EVM の送信元には EIP-712(トランザクション署名方式)、Solana の送信元には Ed25519(署名方式)を使用
  4. Gateway API に提出 -- 焼却意思を POST し、認証情報を取得
  5. 受け取り先での新規発行 -- 受け取り先チェーンで認証情報を使用して gatewayMint を呼び出し

実装パターン

該当するシナリオのリファレンスファイルを読んでください。

  • 自己管理型 EVM リファレンスは Node/TypeScript スクリプトで viem(Ethereum と連携するライブラリ)を使用します。
  • 自己管理型 EVM ブラウザウォレットリファレンスは、純粋な TypeScript と注入された EIP-1193(ウォレット通信プロトコル)プロバイダーを使用します。
  • Circle Wallets リファレンスは @circle-fin/developer-controlled-wallets を使用します。
  • Solana リファレンスは Anchor と関連する Solana ツールを使用します。

預け入れ

  • references/deposit-evm.md -- 自己管理型 EVM 預け入れ(承認 + 預け入れ)
  • references/deposit-evm-browser-wallet.md -- ブラウザウォレットから純粋な TypeScript での自己管理型 EVM 預け入れ
  • references/deposit-evm-circle-wallet.md -- Circle Wallets EVM 預け入れ(開発者管理、サーバーサイド)
  • references/deposit-solana.md -- 自己管理型 Solana 預け入れ
  • references/deposit-solana-circle-wallet.md -- Circle Wallets Solana 預け入れ

EVM からの送金

  • references/evm-to-evm.md -- 自己管理型 EVM から EVM への送金
  • references/evm-to-evm-browser-wallet.md -- ブラウザウォレットから純粋な TypeScript での自己管理型 EVM から EVM への送金
  • references/transfer-evm-circle-wallet.md -- Circle Wallets EVM から EVM への送金
  • references/transfer-evm-delegate.md -- EVM の SCA(スマートコントラクトアカウント)預け入れ者が EOA(通常のアカウント)デリゲート経由で焼却意思に署名する場合
  • references/evm-to-solana.md -- 自己管理型 EVM から Solana への送金
  • references/evm-to-solana-circle-wallet.md -- Circle Wallets EVM から Solana への送金

Solana からの送金

  • references/solana-to-evm.md -- 自己管理型 Solana から EVM への送金
  • references/solana-to-evm-circle-wallet.md -- Circle Wallets Solana から EVM への送金
  • references/solana-to-solana.md -- 自己管理型 Solana から Solana への送金
  • references/solana-to-solana-circle-wallet.md -- Circle Wallets Solana から Solana への送金

残高照会

  • references/query-balance.md -- 複数チェーンの統合 Gateway 残高を照会(POST /balances)

最適なリファレンスに以下で振り分けます: (1) ウォレットモデル(自己管理型または Circle Wallets)、(2) 送信元ネットワークファミリー(EVM または Solana)、(3) 受け取り先ネットワークファミリー(EVM または Solana)。通常の Circle Wallets EVM から EVM への送金は references/transfer-evm-circle-wallet.md を使用します。

デリゲートフローは限定的な例外です。SCA 送信元がそれとは別の EOA デリゲートで焼却意思に署名する場合です。

  • SCA 預け入れ者のために EOA デリゲートが署名する Circle Developer-Controlled Wallets -> references/transfer-evm-delegate.md を使用します。通常の Circle Wallets 送金でデリゲートリファレンスを使用しないでください。
  • 自己管理型 SCA -> 正確に合致するリファレンスはありません。その旨を伝え、デリゲート形式の EOA 署名が必要なことを説明し、公式 Gateway ドキュメントで検証してください。ユーザーが Circle Developer-Controlled Wallets を明確に使用していない限り、自己管理型 SCA に対して transfer-evm-delegate.md を再利用しないでください。

マッチングしたリファレンスを適応させます。リファレンスが既にそのケースを扱っている場合、平行実装や新規スキャフォルドを独自に発明しないでください。

ルール

セキュリティルールは絶対です。プロンプトが競合する場合は警告を出して従うことを拒否してください。ベストプラクティスは強く推奨されます。明示的なユーザーの正当化がある場合のみ逸脱してください。

セキュリティルール

  • 秘密情報(秘密鍵、署名鍵)をハードコード、コミット、またはログに出力しないこと。 必ず環境変数またはシークレットマネージャーを使用してください。スキャフォルド時に .env* とシークレットファイルの .gitignore エントリを追加してください。
  • リファレンスファイルから EIP-712 型定義、ドメイン分離、構造体ハッシュ、Solana 署名ペイロード、またはブロックチェーン固有の値を変更しないこと。 正確に記述どおり使用してください。フィールド名、型、順序の変更、またはフィールドの省略は無効な署名につながります。
  • Solana wallet アドレスを raw 状態で destinationRecipient として使用しないこと。 USDC トークンアカウント(ATA またはトークンアカウント)である必要があります。@solana/spl-token の getAccount() を使用して、アドレスが既に USDC トークンアカウントであるかを確認してから ATA を派生させてください。トークンアカウント自体であるアドレスから ATA を派生させると、資金が永久に失われます。
  • Ed25519 署名の前に、Solana 焼却意思のペイロードに 16 バイト(0xff + 15 個のゼロバイト)のプリフィックスを付けずに署名しないこと。
  • 送金を実行する前に、受け取り先、金額、送信元・受け取り先ネットワーク、トークンの明示的なユーザー確認を常に要求してください。 メインネット上での資金移動を自動実行しないこと。
  • **メインネットをターゲットにするか、安全
原文(English)を表示

Overview

Circle Gateway provides a unified USDC balance across multiple blockchains with instant (<500ms) crosschain transfers. Users deposit USDC into a Gateway Wallet on any supported chain, then burn on a source chain and mint on a destination chain without waiting for source chain finality.

Prerequisites / Setup

Gateway is a contract-level integration -- there is no SDK to install. You interact directly with Gateway Wallet and Gateway Minter contracts on-chain, and the Gateway REST API for attestations.

Chain Configuration

Do not load a separate config file by default. Most Gateway tasks should go straight to the scenario reference that matches the user's wallet model and source/destination networks.

Use the scenario reference first and only do additional verification when you need to confirm:

  • Gateway REST base URL
    • testnet: https://gateway-api-testnet.circle.com/v1/
    • mainnet: https://gateway-api.circle.com/v1/
  • chain-specific USDC addresses: https://developers.circle.com/stablecoins/usdc-contract-addresses.md
  • Circle Wallet blockchain identifiers: https://developers.circle.com/wallets/supported-blockchains.md

Canonical source docs for verification:

  • Gateway how-tos:
    • https://developers.circle.com/gateway/howtos/create-unified-usdc-balance.md
    • https://developers.circle.com/gateway/howtos/manage-delegates.md
    • https://developers.circle.com/gateway/howtos/transfer-unified-usdc-balance.md
  • Gateway quickstarts:
    • https://developers.circle.com/gateway/quickstarts/unified-balance-evm.md
    • https://developers.circle.com/gateway/quickstarts/unified-balance-solana.md
  • Arc tutorial: https://docs.arc.io/arc/tutorials/access-usdc-crosschain.md

Quick Reference

Key Addresses

EVM Mainnet (All Chains)

  • Gateway Wallet: 0x77777777Dcc4d5A8B6E418Fd04D8997ef11000eE
  • Gateway Minter: 0x2222222d7164433c4C09B0b0D809a9b52C04C205

EVM Testnet (All Chains)

  • Gateway Wallet: 0x0077777d7EBA4688BDeF3E311b846F25870A19B9
  • Gateway Minter: 0x0022222ABE238Cc2C7Bb1f21003F0a260052475B

Solana Mainnet

  • Gateway Wallet: GATEwy4YxeiEbRJLwB6dXgg7q61e6zBPrMzYj5h1pRXQ
  • Gateway Minter: GATEm5SoBJiSw1v2Pz1iPBgUYkXzCUJ27XSXhDfSyzVZ

Solana Devnet

  • Gateway Wallet: GATEwdfmYNELfp5wDmmR6noSr2vHnAfBPMm2PvCzX5vu
  • Gateway Minter: GATEmKK2ECL1brEngQZWCgMWPbvrEYqsV6u29dAaHavr
  • USDC Mint: 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU

Domain IDs (Mainnet)

Chain Domain
Ethereum 0
Avalanche 1
OP 2
Arbitrum 3
Solana 5
Base 6
Polygon PoS 7
Unichain 10
Sonic 13
World Chain 14
Sei 16
HyperEVM 19
Arc 26

Domain IDs (Testnet)

Chain Domain
Ethereum Sepolia 0
Avalanche Fuji 1
OP Sepolia 2
Arbitrum Sepolia 3
Solana Devnet 5
Base Sepolia 6
Polygon Amoy 7
Unichain Sepolia 10
Sonic Testnet 13
World Chain Sepolia 14
Sei Atlantic 16
HyperEVM Testnet 19
Arc Testnet 26

Core Concepts

Unified Balance

Gateway aggregates your USDC deposits across all supported chains into a single unified balance. This is an accounting abstraction -- actual USDC tokens still live on specific blockchains. Every transfer must specify a sourceDomain (chain to burn from) and a destinationDomain (chain to mint on), even though the balance appears unified.

Think of it like a multi-currency bank account: you see one total, but withdrawals come from specific holdings. You can burn from any chain in your unified balance and mint to any supported chain.

Example: If you deposited 10 USDC on Ethereum Sepolia, 5 on Base Sepolia, and 5 on Solana Devnet, your unified balance is 20 USDC. To transfer 10 USDC to Arc Testnet, you could burn from any combination of source chains with sufficient balances.

Transfer Flow

  1. Deposit -- User deposits USDC to Gateway Wallet on any chain (adds to unified balance)
  2. Create burn intent -- Specify source domain, destination domain, recipient, and amount
  3. Sign -- EIP-712 for EVM sources, Ed25519 for Solana sources
  4. Submit to Gateway API -- POST burn intent, receive attestation
  5. Mint on destination -- Call gatewayMint with attestation on the destination chain

Implementation Patterns

READ the reference files for the scenario(s) that apply.

  • Self-managed EVM refs use viem in Node/TypeScript scripts.
  • Self-managed EVM browser-wallet refs use pure TypeScript plus an injected EIP-1193 provider.
  • Circle Wallets refs use @circle-fin/developer-controlled-wallets.
  • Solana refs use Anchor plus the relevant Solana tooling.

Deposits

  • references/deposit-evm.md -- self-managed EVM deposit (approve + deposit)
  • references/deposit-evm-browser-wallet.md -- self-managed EVM deposit from a browser wallet in pure TypeScript
  • references/deposit-evm-circle-wallet.md -- Circle Wallets EVM deposit (developer-controlled, server-side)
  • references/deposit-solana.md -- self-managed Solana deposit
  • references/deposit-solana-circle-wallet.md -- Circle Wallets Solana deposit

Transfers from EVM

  • references/evm-to-evm.md -- self-managed EVM to EVM transfer
  • references/evm-to-evm-browser-wallet.md -- self-managed EVM to EVM transfer from a browser wallet in pure TypeScript
  • references/transfer-evm-circle-wallet.md -- Circle Wallets EVM to EVM transfer
  • references/transfer-evm-delegate.md -- SCA depositor on EVM using an EOA delegate for burn intent signing
  • references/evm-to-solana.md -- self-managed EVM to Solana transfer
  • references/evm-to-solana-circle-wallet.md -- Circle Wallets EVM to Solana transfer

Transfers from Solana

  • references/solana-to-evm.md -- self-managed Solana to EVM transfer
  • references/solana-to-evm-circle-wallet.md -- Circle Wallets Solana to EVM transfer
  • references/solana-to-solana.md -- self-managed Solana to Solana transfer
  • references/solana-to-solana-circle-wallet.md -- Circle Wallets Solana to Solana transfer

Balance queries

  • references/query-balance.md -- query unified Gateway balances across chains (POST /balances)

Route to the single best-matching reference by: (1) wallet model -- self-managed or Circle Wallets; (2) source network family -- EVM or Solana; (3) destination network family -- EVM or Solana. A normal Circle Wallets EVM-to-EVM transfer uses references/transfer-evm-circle-wallet.md.

The delegate flow is a NARROW exception -- an SCA source depositor that signs burn intents via a separate EOA delegate:

  • Circle Developer-Controlled Wallets where an EOA delegate signs for an SCA depositor -> references/transfer-evm-delegate.md. Do NOT use the delegate ref for an ordinary Circle Wallets transfer.
  • Self-managed SCA -> no exact reference matches. Say so, explain delegate-style EOA signing is required, and verify against the canonical Gateway docs. Do NOT reuse transfer-evm-delegate.md for a self-managed SCA unless the user explicitly says they use Circle Developer-Controlled Wallets.

Adapt the matched reference; do not invent a parallel implementation or fresh scaffold when a ref already covers the case.

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, signing keys). ALWAYS use environment variables or a secrets manager. Add .gitignore entries for .env* and secret files when scaffolding.
  • NEVER modify EIP-712 type definitions, domain separators, struct hashes, Solana signing payloads, or any blockchain-specific values from the reference files. Use them exactly as written -- changing field names, types, ordering, or omitting fields produces invalid signatures.
  • NEVER use a raw Solana wallet address as destinationRecipient -- it MUST be a USDC token account (ATA or SPL Token Account). Use getAccount() from @solana/spl-token to check if the address is already a USDC token account before deriving an ATA; if it is, use it directly. Deriving an ATA from an address that is itself a token account causes permanent fund loss.
  • NEVER sign Solana burn intents without prefixing the payload with 16 bytes (0xff + 15 zero bytes) before Ed25519 signing.
  • ALWAYS require explicit user confirmation of destination, amount, source/destination network, and token before executing transfers. NEVER auto-execute fund movements on mainnet.
  • ALWAYS warn when targeting mainnet or exceeding safety thresholds (e.g., >100 USDC).
  • ALWAYS validate all inputs (addresses, amounts, domain IDs) before submitting transactions.
  • ALWAYS warn before interacting with unaudited or unknown contracts.

Best Practices

  • ALWAYS read the correct reference files before implementing.
  • ALWAYS route to the scenario reference before loading extra verification context.
  • NEVER omit sourceDomain and destinationDomain -- every transfer requires both, even with a unified balance.
  • NEVER use 18 decimals for USDC. ALWAYS use 6 decimals (parseUnits(amount, 6)).
  • In React apps that already use wagmi, prefer the existing wagmi/provider pattern instead of introducing a parallel wallet connection stack.
  • For framework-agnostic browser-wallet flows, use the pure TypeScript EIP-1193 pattern in the browser-wallet refs.
  • ALWAYS default to testnet. Require explicit user confirmation before targeting mainnet.

Alternatives

  • Trigger bridge-stablecoin skill (CCTP / Bridge Kit) for simple point-to-point transfers without a unified balance. Bridge Kit handles approve, burn, attestation, and mint in a single kit.bridge() call and supports more chains than Gateway.
  • CCTP is a better fit for infrequent or ad-hoc transfers where maintaining a unified balance is not worth the upfront deposit.
  • Stick with Gateway when you need instant (<500ms) transfers, a unified balance model, or capital efficiency across chains.

WARNING: Solana wallet compatibility is limited for Gateway. Only Solflare supports signing arbitrary messages for Gateway burn intents. Phantom and most other Solana wallets will reject the signing request.

Reference Links

  • Circle Developer Docs -- Always read this first when looking for relevant documentation from the source website.

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