From circle
Creates and manages Circle developer-controlled wallets for end-users with full custody, covering wallet sets, entity secret registration, token transfers, and balance checks via SDK.
npx claudepluginhub circlefin/skills --plugin circle-skillsThis skill uses the workspace's default tool permissions.
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.
Selects optimal Circle wallet type (developer-controlled, user-controlled, modular) for onchain apps by comparing custody, auth methods, account types (EOA/SCA/MSCA), and blockchain support. Guides implementation for wallet integrations.
Guides Ethereum wallet creation/management: EOAs, smart wallets, Safe multisig, EIP-7702 delegation, ERC-4337. For safe transactions, signing, fund handling.
Connects to EmblemVault for wallet-aware workflows on Solana, Ethereum, Base, BSC, Polygon, Hedera, Bitcoin with review-first, operator-controlled actions. Explains Emblem's unified browser and agent auth model.
Share bugs, ideas, or general feedback.
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.INITIATED -> PENDING_RISK_SCREENING -> SENT -> CONFIRMED -> COMPLETE. Failure states: FAILED, DENIED, CANCELLED.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.
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.COMPLETE, FAILED, DENIED, CANCELLED) before treating as done.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.