# Circle Wallet

> Circle Wallet Skill

- Skill: `kernel8901/circle-wallet` (Agent Skill, multi-file: 12 files)
- Install (CLI): `npx skillmds@latest add kernel8901/circle-wallet`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kernel8901/circle-wallet/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kernel8901 (https://skillmd.com/u/kernel8901)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kernel8901/circle-wallet

---

# Circle Wallet Skill

USDC wallet operations for OpenClaw agents via Circle Developer-Controlled Wallets.

## Features

- Create SCA wallets (Smart Contract Accounts)
- Check USDC balances across multiple chains
- Send USDC to any address
- Gas-free transactions via Circle Gas Station
- Multi-wallet management with address or ID
- Address validation and balance checking
- 21 supported blockchains (mainnets + testnets)

## Installation

```bash
clawhub install circle-wallet
cd ~/.openclaw/workspace/skills/circle-wallet
npm install
npm link
```

## Quick Start

### 1. Get API Key
Get your API key from https://console.circle.com

### 2. Setup

**New users:**
```bash
circle-wallet setup --api-key your-api-key
```

**Existing users:**
```bash
circle-wallet configure --api-key your-key --entity-secret your-secret
```

### 3. Create Wallet & Get Funds
```bash
circle-wallet create "My Wallet"
circle-wallet drip                    # Testnet only
circle-wallet balance
```

### 4. Send USDC
```bash
circle-wallet send 0x... 10 --from 0x...
```

## All Commands

```bash
# Setup
circle-wallet setup --api-key <key>                          # Generate and register entity secret
circle-wallet configure --api-key <key> --entity-secret <s>  # Use existing credentials
circle-wallet config                                         # View configuration

# Chains
circle-wallet chains                   # List all supported blockchains
circle-wallet chains --show-tokens     # Show USDC token IDs
circle-wallet chains --mainnet         # Mainnets only
circle-wallet chains --testnet         # Testnets only

# Wallets
circle-wallet create [name] [--chain <blockchain>]   # Create new SCA wallet
circle-wallet list                                    # List all wallets with balances
circle-wallet balance [wallet-id]                     # Check balance

# Transactions
circle-wallet send <to> <amount> [--from <wallet-id-or-address>]  # Auto-detects chain from wallet
circle-wallet drip [address]                                       # Get testnet USDC (sandbox only)
```

## Supported Chains

**Mainnets (10):**
APTOS, ARB, AVAX, BASE, ETH, MONAD, OP, MATIC, SOL, UNI

**Testnets (11):**
APTOS-TESTNET, ARB-SEPOLIA, ARC-TESTNET, AVAX-FUJI, BASE-SEPOLIA, ETH-SEPOLIA, MONAD-TESTNET, OP-SEPOLIA, MATIC-AMOY, SOL-DEVNET, UNI-SEPOLIA

Use `circle-wallet chains --show-tokens` to see USDC token IDs for each chain.

## Usage Examples

### Multi-Chain Wallets
```bash
# Create wallets on different chains (default: ARC-TESTNET for sandbox)
circle-wallet create "Arc Wallet" --chain ARC-TESTNET
circle-wallet create "Base Wallet" --chain BASE-SEPOLIA
circle-wallet create "Polygon Wallet" --chain MATIC-AMOY

# Send automatically uses the correct chain for each wallet
circle-wallet send 0xRecipient... 5 --from 0xArcWallet...
circle-wallet send 0xRecipient... 3 --from 0xPolygonWallet...
```

### Send Between Wallets
```bash
# Create two wallets
circle-wallet create "Wallet 1"
circle-wallet create "Wallet 2"

# Fund first wallet
circle-wallet drip

# Send from wallet 1 to wallet 2 (using addresses)
circle-wallet send 0xWallet2Address... 5 --from 0xWallet1Address...
```

### Agent Usage
```
User: "Check my wallet balance"
Agent: [circle-wallet balance] "You have 42.5 USDC"

User: "Send 10 USDC to 0x123..."
Agent: [circle-wallet send 0x123... 10] "Sent! TX: 0xabc..."
```

## Configuration

Credentials stored in: `~/.openclaw/circle-wallet/`

**Environment variables:**
- `CIRCLE_API_KEY` - Required for setup command
- `CIRCLE_ENV` - Optional: `sandbox` or `production` (default: sandbox)

## Troubleshooting

**"No wallet configured"**
```bash
circle-wallet create "My Wallet"
```

**"Insufficient balance"**
```bash
circle-wallet drip              # Testnet only
# Or fund wallet externally for mainnet
```

**"Entity secret already registered"**
```bash
circle-wallet configure --api-key <key> --entity-secret <secret>
```

**"Invalid Ethereum address format"**
Address must be `0x` followed by 40 hexadecimal characters.

## Resources

- Circle Developer Docs: https://developers.circle.com
- Circle Console: https://console.circle.com
- GitHub: https://github.com/eltontay/clawhub_circle_wallet_skill

## License

MIT

---

**Personal project for the OpenClaw community. Not officially endorsed by Circle.**

