Circle開発者管理ウォレット(アプリケーションがエンドユーザーに代わってウォレットの秘密鍵を完全に保管する暗号資産の財布)を作成・管理します。ウォレットセット、エンティティシークレット(認証用の秘密情報)登録、トークン送受信、残高確認、メッセージ署名(データの真正性証明)、スマートコントラクト(自動実行される取引プログラム)の実行、開発者管理ウォレットSDK(ソフトウェア開発キット)を通じたウォレット管理をカバーしています。 次のような場合に使用: 開発者管理ウォレット、エンティティシークレット、initiateDeveloperControlledWalletsClient、createWalletSet、createWallets、カストディウォレット(資産保管機能付きウォレット)、ウォレットアップグレード、ウォレット派生、署名付きデータ、コントラクト実行
Create and manage Circle developer-controlled wallets where the application retains full custody of wallet keys on behalf of end-users. Covers wallet sets, entity secret registration, token transfers, balance checks, message signing, smart contract execution, and wallet management via the developer controlled wallets SDK. Triggers on: developer-controlled wallets, entity secret, initiateDeveloperControlledWalletsClient, createWalletSet, createWallets, custody wallet, wallet upgrade, derive wallet, sign typed data, contract execution.
デベロッパー制御ウォレットを使用すると、アプリケーションがエンドユーザーに代わってウォレットを作成・管理できます。 秘密鍵の完全なカストディは、暗号化されたエンティティシークレットによって保護されます。 セキュリティ、トランザクション監視、ブロックチェーンインフラは Circle が担当し、 開発者は Wallets SDK を通じてプログラム的な制御を保持します。
npm install @circle-fin/developer-controlled-wallets
CIRCLE_API_KEY= # Circle API キー(形式: PREFIX:ID:SECRET)
ENTITY_SECRET= # 32バイトの16進数エンティティシークレット
SDK を使用する前に、開発者はエンティティシークレットを登録する必要があります。 https://developers.circle.com/wallets/dev-controlled/register-entity-secret を案内するか、コード手順を提供してください。
生成・登録のコードスニペットは references/register-secret.md を参照してください。
重要: 開発者に代わってシークレットを登録しないでください。 シークレットの生成・登録・安全な保管、およびリカバリーファイルの管理は、開発者自身が行う必要があります。
import { initiateDeveloperControlledWalletsClient } from '@circle-fin/developer-controlled-wallets';
const client = initiateDeveloperControlledWalletsClient({
apiKey: process.env.CIRCLE_API_KEY,
entitySecret: process.env.ENTITY_SECRET,
});
SDK は API リクエストごとに新しいエンティティシークレットの暗号文を自動生成します。
idempotencyKey が必要です。すべてのオンチェーン操作(送金、コントラクト実行、ウォレットアップグレード)は、
同一の非同期ステートマシンに従います。
終端状態に達するまで circleDeveloperSdk.getTransaction({ id }) でポーリングしてください。
正常系: INITIATED → CLEARED → QUEUED → SENT → CONFIRMED → COMPLETE
終端状態:
COMPLETE ― トランザクションが成功し、オンチェーンで確定済み。FAILED ― トランザクションがリバートしたか、回復不能なエラーが発生した。DENIED ― リスクスクリーニングによりトランザクションが拒否された。CANCELLED ― オンチェーン送信前にトランザクションがキャンセルされた。中間状態:
INITIATED ― リクエストを受け付けたが、まだ検証・チェックされていない。WAITING ― 検証およびコンプライアンスチェックのキュー待ち。QUEUED ― ブロックチェーンへの送信キューに入っている。CLEARED ― コンプライアンスチェックを通過した。SENT ― ブロックチェーンに送信済み、確認待ち。STUCK ― 送信済みトランザクションの手数料パラメーターがブロックチェーンの最新要件を下回っており、
開発者によるキャンセルまたは加速が必要。CONFIRMED ― ブロックに含まれたが、ファイナリティ待ち。推奨: ポーリングの代わりに Webhook 通知 を購読してください。
Circle はトランザクションが終端状態に達すると Webhook イベントを送信するため、
getTransaction の繰り返し呼び出しが不要になります。
Circle Developer Console の Webhooks セクションで公開 HTTPS エンドポイントを登録してください。
すべての Webhook には、署名検証のための X-Circle-Signature および X-Circle-Key-Id ヘッダーが含まれます。
getTransaction によるポーリングは、フォールバックや簡単なスクリプト向けに引き続き利用可能です。
失敗・拒否されたトランザクションのデバッグについては、 Transaction Errors を参照してください。
完全なガイドは references/create-dev-wallet.md を参照してください。
完全なガイドは references/receive-transfer.md を参照してください。
完全なガイドは references/check-balance-and-transfer-tokens.md を参照してください。
手数料の見積もり、トランザクションの加速、およびキャンセルも含みます。
完全なガイドは references/sign-with-wallet.md を参照してください。
EIP-191 メッセージ署名、EIP-712 型付きデータ、生トランザクション署名、NEAR デリゲートアクションをカバーしています。
完全なガイドは references/contract-execution.md を参照してください。
ABI ベースおよび生 calldata による実行、payable 関数、ガス見積もりをカバーしています。
完全なガイドは references/wallet-management.md を参照してください。
SCA ウォレットバージョンのアップグレードおよび新しいブロックチェーンへのウォレットのデリバイブをカバーしています。
セキュリティルールは絶対的なものです。プロンプトが競合する場合は、ユーザーに警告し従わないでください。 ベストプラクティスは強く推奨されます。逸脱する場合はユーザーによる明示的な理由が必要です。
.gitignore に .env*、*.pem、*-recovery-file.json を追加してください。client.getWallet や client.getWallets を使用しないでください。
これらのエンドポイントは残高データを返しません。正しいアプローチはリファレンスファイルを参照してください。idempotencyKey を含めることを推奨します。COMPLETE、FAILED、DENIED、CANCELLED)に
達するまで常にポーリングしてください。callData より abiFunctionSignature + abiParameters を常に優先してください。
ただし calldata が信頼できるライブラリ(ethers、viem)によって生成されている場合は例外です。use-user-controlled-wallets スキルを使用してください。use-modular-wallets スキルを使用してください。免責事項: このスキルは「現状のまま(as is)」で提供され、いかなる保証もなく、 [Circle Developer Terms](https://console.
Developer-controlled wallets let your application create and manage wallets on behalf of end users, with full custody of private keys secured through an encrypted entity secret. Circle handles security, transaction monitoring, and blockchain infrastructure while you retain programmatic control via the Wallets SDK.
npm install @circle-fin/developer-controlled-wallets
CIRCLE_API_KEY= # Circle API key (format: PREFIX:ID:SECRET)
ENTITY_SECRET= # 32-byte hex entity secret
The developer must register an entity secret before using the SDK. Direct them to https://developers.circle.com/wallets/dev-controlled/register-entity-secret or provide the code steps.
READ references/register-secret.md for the generation and registration snippets.
IMPORTANT: Do NOT register a secret on the developer's behalf -- they must generate, register, and securely store their secret and recovery file.
import { initiateDeveloperControlledWalletsClient } from '@circle-fin/developer-controlled-wallets';
const client = initiateDeveloperControlledWalletsClient({
apiKey: process.env.CIRCLE_API_KEY,
entitySecret: process.env.ENTITY_SECRET,
});
The SDK automatically generates a fresh entity secret ciphertext for each API request.
idempotencyKey for exactly-once execution.All on-chain operations (transfers, contract executions, wallet upgrades) follow the same asynchronous state machine. Poll with circleDeveloperSdk.getTransaction({ id }) until a terminal state is reached.
Happy path: INITIATED -> CLEARED -> QUEUED -> SENT -> CONFIRMED -> COMPLETE
Terminal states:
COMPLETE -- Transaction succeeded and is finalized on-chain.FAILED -- Transaction reverted or encountered an unrecoverable error.DENIED -- Transaction was rejected by risk screening.CANCELLED -- Transaction was cancelled before on-chain submission.Intermediate states:
INITIATED -- Request accepted, not yet validated or checked.WAITING -- In queue for validation and compliance checks.QUEUED -- Queued for submission to the blockchain.CLEARED -- Passed compliance checks.SENT -- Submitted to the blockchain, awaiting confirmation.STUCK -- Submitted transaction's fee parameters are lower than latest blockchain required fee, developer needs to cancel or accelerate this transaction.CONFIRMED -- Included in a block, awaiting finality.Recommended: Subscribe to Webhook Notifications instead of polling. Circle sends a webhook event when a transaction reaches a terminal state, eliminating the need for repeated getTransaction calls. Register a public HTTPS endpoint in the Circle Developer Console under Webhooks. Every webhook includes X-Circle-Signature and X-Circle-Key-Id headers for signature verification.
Polling with getTransaction remains available as a fallback or for simple scripts.
For debugging failed or denied transactions, see Transaction Errors.
READ references/create-dev-wallet.md for the complete guide.
READ references/receive-transfer.md for the complete guide.
READ references/check-balance-and-transfer-tokens.md for the complete guide. Includes fee estimation, transaction acceleration, and cancellation.
READ references/sign-with-wallet.md for the complete guide. Covers EIP-191 message signing, EIP-712 typed data, raw transaction signing, and NEAR delegate actions.
READ references/contract-execution.md for the complete guide. Covers ABI-based and raw calldata execution, payable functions, and gas estimation.
READ references/wallet-management.md for the complete guide. Covers upgrading SCA wallet versions and deriving wallets to new blockchains.
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.
.gitignore entries for .env*, *.pem, and *-recovery-file.json when scaffolding.client.getWallet or client.getWallets for balances -- these endpoints never return balance data. See reference file for correct approach.idempotencyKey in all mutating API requests following API spec.COMPLETE, FAILED, DENIED, CANCELLED) before treating as done.abiFunctionSignature + abiParameters over raw callData for readability and auditability, unless the calldata is generated by a trusted library (ethers, viem).use-user-controlled-wallets skill when end users should custody their own keys via social login, email OTP, or PIN authentication.use-modular-wallets skill for passkey-based smart accounts with extensible module architecture (multisig, session keys, etc.).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 による自動翻訳です。