
fund-agent-wallet
Fund a Circle agent wallet with USDC via the circle CLI. payments are gas-abstracted. users can pay with USDC only, no ETH required. Covers two top-level paths — fiat on-ramp (buy USDC with USD/credit card) and crypto transfer (send existing USDC to the wallet via QR or direct address). Also covers Gateway deposits (eco vs direct sub-paths) for the Nanopayments balance used by paid services. Use when the user wants to add USDC to their agent wallet, top up after a low balance, deposit into Gateway, or pick the right funding method. Triggers on: fund agent wallet, add USDC, fiat on-ramp, Gateway deposit, eco deposit, direct deposit, top up wallet, withdraw USDC, nanopayments.
- Installs
- 797
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/circlefin/skills --skill fund-agent-wallet- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads fund-agent-wallet automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Overview
For an overview of the Circle CLI's full capability set — bridging, smart contract execution, x402 payment, and more — see the use-circle-cli master skill. This skill is the narrower funding flow.
Funding an agent wallet means putting USDC where the CLI can spend it. There are two balance pools to be aware of:
- On-chain (vanilla x402) — USDC sitting at the wallet address on a specific chain. Each chain is separate. Used to pay endpoints whose
accepts[]does not includeGatewayWalletBatched. Settles in one block. - Nanopayments (powered by Gateway) — USDC held off-chain in your Circle Gateway balance, batched and settled for you across supported chains. Per source chain — no cross-chain pooling at payment time. Used to pay endpoints whose
accepts[]includesGatewayWalletBatched. Settles in <500ms once the balance exists.
Gas note
Agent wallet payment flows are gas-abstracted — users can pay with USDC without pre-funding native gas.
This skill covers funding both pools. Pick the path with the shortest time-to-result and hide chain complexity from the user.
Prerequisites
# Confirm session is good
circle wallet status
# Get the wallet address
circle wallet list --chain ARC --type agent --output json
# Check current on-chain balance (per chain)
circle wallet balance --address <addr> --chain ARC --output json
# Check current Gateway balance (per chain)
circle gateway balance --address <addr> --chain ARC --output json
If circle wallet status errors with "Not logged in" or "Terms acceptance is required", hand off to the use-agent-wallet skill — it covers install, terms, login, and wallet creation.
Step 1 — Pick a funding path
Ask the user: "How would you like to fund your wallet?"
- Fiat (USD or local currency) — Buy USDC with a card or bank transfer via the CLI's built-in fiat on-ramp. Best for users who don't have crypto yet.
- Existing USDC — Send USDC from a wallet they already have (MetaMask, Coinbase, Phantom, etc.). Faster and free of on-ramp fees.
- Gateway deposit (advanced) — Move existing on-chain USDC into the Gateway balance for low-latency batched payments. Only useful if the seller they're paying supports Gateway on a specific chain.
Default recommendation: existing USDC → Arc. Arc uses USDC as its native gas token (no separate gas asset to hold) and has sub-second finality, so a direct Gateway deposit on Arc settles fast — and an eco deposit from BASE lands on Arc too, so either path ends up on the same chain. Use BASE/Polygon when paying sellers that only accept those chains.
Step 2 — Required flags for non-interactive use
The CLI prompts for missing values when run interactively. Agents are non-interactive, so every circle wallet fund invocation against mainnet MUST include:
--address <addr>— wallet address fromcircle wallet list--chain <chain>— e.g.ARC(orBASE,MATIC, …)--method <fiat|crypto>— without it:Error: --method is required in non-interactive mode.--amount <number>— USDC amount; without it:Error: --amount is required.
--token usdc is the default and can be omitted, but pass it explicitly when the user asked for USDC specifically.
Path A — Fiat on-ramp
Opens a fiat on-ramp window in the user's default browser. Funds deposit directly to the wallet on the selected chain.
READ references/fiat-on-ramp.md for the circle wallet fund --method fiat --open command, settlement notes, and post-purchase balance verification.
Path B — Crypto transfer (existing USDC)
The user already holds USDC somewhere (another wallet, an exchange, etc.) and wants to send it to the agent wallet.
Recommended — browser-rendered QR (best UX)
circle wallet fund --address <addr> --chain ARC --amount 10 --token usdc --method crypto --open
--open renders the EIP-681 QR code on a local HTML page in the user's default browser. Use this by default. Terminal-rendered QR codes are frequently truncated or unscannable inside agent UIs (Claude Code, Codex, etc.); the browser page renders the QR at full resolution and works on both desktop and mobile.
The user scans the QR with any mobile wallet (MetaMask, Coinbase Wallet, Rainbow, Phantom) and confirms the transfer.
Alternatives — PNG export or manual transfer
If the user can't scan a browser QR, READ references/crypto-transfer-alternatives.md (QR-to-PNG via --export, manual transfer details including USDC contract addresses).
Verify after transfer
Verify with circle wallet balance after the transfer confirms — see the "Verify after transfer" section of references/crypto-transfer-alternatives.md.
Path C — Gateway deposit (powered by Gateway, advanced)
Only suggest a Gateway deposit when:
- The user has on-chain USDC, AND
- They want to pay a service whose
accepts[]includesGatewayWalletBatchedon a specific chain, AND - That chain is one Gateway supports (Arc, Polygon, BASE, ETH, ARB, OP, AVAX, UNI).
Eco vs direct — pick eco unless one of four conditions holds
circle gateway deposit --method eco deposits BASE vanilla USDC into Gateway and lands on Arc (Gateway domain 26) in ~30-50s for a $0.03 flat fee. The follow-up payment is pay --chain ARC.
Use --method direct only when:
- The user explicitly asked for direct — e.g. "deposit on BASE without going to Arc", "stay on BASE", "use direct deposit". Implicit preferences and your own inferences do not count.
- The source chain isn't supported by eco — eco only supports BASE as a source today; check
circle gateway deposit --helpfor the current list. Trying an unsupported source returns "Unknown method" or chain-not-supported. - The seller does NOT accept Gateway on Arc — verify by reading the seller's raw 402
accepts[](notcircle services inspect). Eco lands on Arc, so if the seller can't pay there (e.g. a Polygon-only Gateway seller), the Gateway balance won't be reachable for this payment; deposit directly on a chain the seller accepts instead. - The user already has vanilla on a fast chain the seller accepts —
direct --chain <fast-chain>is fast only on fast-finality chains (Arc, MATIC, AVAX) and skips the eco fee. (e.g., user has 5 USDC vanilla on Polygon →direct --chain MATIC; or vanilla on Arc →direct --chain ARC.)
If none of conditions 1–4 holds, the answer is eco. Picking direct anyway is slow on BASE: direct on BASE (and ETH/ARB/OP/UNI) waits ~13–19 minutes for finality + gas, vs eco's ~30-50s + $0.03. (The fast timings above are Arc/MATIC/AVAX only — never quote them for BASE.)
Compare per-workflow, not per-call
Eco's cold-start (~30-50s + $0.03) is paid once; every Gateway call after is <500ms. Vanilla has no deposit but every call costs ~2s forever with no amortization. Agentic workflows are rarely single-call, so treat the deposit as one-time wallet onboarding, not a per-call cost. (Time breakeven is ~N=7-13 calls, but Gateway-only seller access and <500ms future calls already win at call 1.)
Eco deposit (BASE → Arc)
READ references/gateway-eco-deposit.md for the circle gateway deposit --method eco command (all of --amount, --address, --chain, --method are required) and Gateway balance verification.
Once the deposit verifies, hand off to the pay-via-agent-wallet skill for the actual payment — that skill owns the circle services pay flow (including its allowed-tools whitelist and gotchas).
Common mistake: using --chain BASE on the pay call when the Gateway balance landed on Arc. The chain on pay must match where the balance lives.
Direct deposit and Gateway withdrawals
When a condition for --method direct holds (above), or the user wants USDC back out of Gateway, READ references/gateway-direct-and-withdraw.md — direct command syntax, supported chains and timings, and the same-chain-only withdraw + circle bridge transfer pattern.
Troubleshooting
On ANY funding error (missing flags, unscannable QR, Wallet not deployed, Insufficient balance, wrong chain after eco, withdraw limits), READ references/troubleshooting.md for the error table and reference links.
If a legacy Eco intent expired, is WaitingForRefund, or refunded USDC to eoaOwnerAddress, stop funding and hand off to the recover-eco-funds skill. Verify the onchain fixed refund recipient before using any executable recovery phase. Current Gateway v2 deposits set refundRecipient to the SCA and should use normal status and balance reconciliation instead.
Rules
- NEVER prompt users to send USDC to addresses you generated. ALWAYS use the user's own wallet from
circle wallet list. - NEVER store, log, or display private keys.
- ALWAYS pass
--method <fiat|crypto>tocircle wallet fund— agents are non-interactive and the CLI will not prompt. - ALWAYS pass
--amount <number>tocircle wallet fund— confirm the amount with the user first. - ALWAYS prefer
--method crypto --openover rendering QR codes in the terminal — terminal QR codes get truncated inside Claude Code, Codex, and similar agent UIs and become unscannable. - For fiat: use
--method fiat --openso the on-ramp loads in the browser. - NEVER suggest a Gateway eco deposit unless you have verified the target service supports Gateway on Arc via the discovery API or the seller's raw 402
accepts[]. - NEVER deposit 100% of the user's vanilla balance into Gateway. The wallet needs vanilla headroom for vanilla-only sellers the user may hit next.
- Sizing formula:
amount = max(price × N + fee + slack, Gateway minimum), where N is the workflow's expected call count. Typically reserve ~50% of vanilla as a soft headroom floor. Gateway enforces a server-side minimum deposit; sizing below it returns an error, so floor your suggestion to that minimum. Runcircle gateway deposit --helpfor current bounds. - Surface to the user before depositing when the required amount is materially larger than the workflow's total cost (cheap-endpoint case: $0.0024/call × 5 = $0.012, but the Gateway minimum sets the floor) or above the user's stated
--max-amountcap. Don't silently deposit ~100× the task cost. - The first real transaction on a new chain deploys the SCA — there is no dedicated "deploy" command today. Consult
circle wallet --helpfor the current options if aWallet not deployederror appears. - ALWAYS use
--chainmatching where the balance lives. Eco lands on Arc →pay --chain ARC. Direct lands on the source chain →pay --chain <same>. - Gateway does NOT do cross-chain transfers at payment time. Source chain matters.
- Abstract chain details from the user unless they explicitly want technical specifics. The user asked to fund the wallet; they don't need a tour of EVM finality.
- If the
circleCLI itself causes friction during funding (unexpected error, confusing output, missing capability), file feedback per theuse-circle-cliskill's Report friction (feedback) section.
Alternatives
Trigger the recover-eco-funds skill instead when:
- A legacy Eco intent expired, is waiting for refund, or is missing from Gateway.
- Refunded USDC landed at the SCA's API-verified backing EOA.
- The user needs a permissionless Eco self-refund after the onchain deadline.
Trigger the use-agent-wallet skill instead when:
- The user has not yet logged in to the CLI or accepted Terms.
circle wallet statuserrors with "Not logged in" or "Terms acceptance is required".- The user is asking about wallet setup, login, or session state — not funding.
Trigger the pay-via-agent-wallet skill instead when:
- The user wants to call or pay for a paid x402 service.
- Funding has completed and the user is ready to use the marketplace.
- The user mentions
circle services pay,circle services search, or any "pay for" prompt.
Trigger the agent-wallet-policy skill instead when:
- The user wants to set spending limits before funding (rare — most users fund first, set limits later).
- The user mentions per-tx / daily / weekly / monthly caps, spending policy, or wallet rules.
For cross-chain USDC moves the agent should use circle bridge transfer directly — it is part of the Circle CLI (see references/gateway-direct-and-withdraw.md for the withdraw-then-bridge pattern).
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.
FAQ
What does the fund-agent-wallet skill do?
Fund a Circle agent wallet with USDC via the circle CLI. payments are gas-abstracted. users can pay with USDC only, no ETH required. Covers two top-level paths — fiat on-ramp (buy USDC with USD/credit card) and crypto transfer (send existing USDC to the wallet via QR or direct address). Also covers Gateway deposits (eco vs direct sub-paths) for the Nanopayments balance used by paid services. Use when the user wants to add USDC to their agent wallet, top up after a low balance, deposit into Gateway, or pick the right funding method. Triggers on: fund agent wallet, add USDC, fiat on-ramp, Gateway deposit, eco deposit, direct deposit, top up wallet, withdraw USDC, nanopayments.
How do I install fund-agent-wallet?
Run npx skills add https://github.com/circlefin/skills --skill fund-agent-wallet in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/fund-agent-wallet/ (personal) or .claude/skills/fund-agent-wallet/ (project).
Which AI agents can use fund-agent-wallet?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is fund-agent-wallet safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains fund-agent-wallet?
It is published by circlefin in circlefin/skills. It has 797 recorded installs.
More from circlefin/skills
use-usdc
circlefin/skills
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.
use-arc
circlefin/skills
Provide instructions on how to build with Arc, Circle's blockchain where USDC is the native gas token. Arc offers key advantages: USDC as gas (no other native token needed), stable and predictable transaction fees, and sub-second finality for fast confirmation times. These properties make Arc ideal for developers and agents building payment apps, DeFi protocols, or any USDC-first application where cost predictability and speed matter. Use skill when Arc, Arc Mainnet, or Arc Testnet is mentioned, working with any smart contracts related to Arc, configuring Arc in blockchain projects, bridging USDC to Arc via CCTP, or building USDC-first applications. Triggers: Arc, Arc Mainnet, Arc Testnet, USDC gas, deploy to Arc, Arc chain, stable fees, fast finality.
use-developer-controlled-wallets
circlefin/skills
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.
use-smart-contract-platform
circlefin/skills
Deploy, import, interact with, and monitor smart contracts using Circle Smart Contract Platform APIs. Supports bytecode deployment, template contracts (ERC-20/721/1155/Airdrop), ABI-based read/write calls, and webhook event monitoring. Keywords: contract deployment, smart contract, ABI interactions, template contracts, event monitoring, contract webhooks, bytecode, ERC-1155, ERC-20, ERC-721.
use-gateway
circlefin/skills
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.
use-circle-wallets
circlefin/skills
Choose and implement the right Circle wallet type for your application. Compares developer-controlled, user-controlled, and modular (passkey) wallets across custody model, key management, account types, blockchain support, and use cases. Use whenever blockchain wallet integrations are required for onchain application development. Triggers on: which wallet, choose wallet, wallet comparison, EOA vs SCA vs Modular Wallet, custody model, programmable wallets.
Popular business & finance skills
sales-enablement
coreyhaines31/marketingskills
When the user wants to create sales collateral, pitch decks, one-pagers, objection handling docs, or demo scripts. Also use when the user mentions 'sales deck,' 'pitch deck,' 'one-pager,' 'leave-behind,' 'objection handling,' 'deal-specific ROI analysis,' 'demo script,' 'talk track,' 'sales playbook,' 'proposal template,' 'buyer persona card,' 'battle card,' 'battlecard,' 'competitive one-pager,' 'win-loss analysis,' 'why are we losing deals,' 'loss reasons,' 'how do I respond to this objection,' 'prospect just said,' 'help my sales team,' 'sales materials,' or 'what should I give my sales reps,' 'cold call script,' or 'voicemail script.' Use this for any document or asset that helps a sales team close deals. For public competitor comparison pages, see competitors. For running buyer interviews or churn research, see customer-research. For marketing website copy, see copywriting. For cold outreach emails, see cold-email. For the offer being sold (bonuses, guarantees, pricing structure),
revops
coreyhaines31/marketingskills
When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes. Also use when the user mentions 'RevOps,' 'revenue operations,' 'lead scoring,' 'outbound pipeline stages,' 'lead routing,' 'MQL,' 'SQL,' 'pipeline stages,' 'deal desk,' 'CRM automation,' 'marketing-to-sales handoff,' 'data hygiene,' 'leads aren't getting to sales,' 'pipeline management,' 'lead qualification,' or 'when should marketing hand off to sales.' Use this for anything involving the systems and processes that connect marketing to revenue. For cold outreach emails, see cold-email. For email drip campaigns, see emails. For pricing decisions, see pricing.
sales-funnel-blueprint
autonnel/autonnel-skills
Turn an offer into a concrete multi-step sales funnel spec - page-by-page structure, price ladder, copy outline and the metrics each step must hit. Use when asked to build a sales funnel, marketing funnel, landing page flow, lead magnet funnel, webinar funnel, tripwire or VSL funnel, when planning a product launch page flow, or when someone asks "what pages do I need" for selling something online.
pricing
coreyhaines31/marketingskills
When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' 'monetization,' 'how much should I charge,' 'my pricing is wrong,' 'pricing page,' 'annual vs monthly,' 'per seat pricing,' 'should I offer a free plan,' 'pricing page teardown,' 'pricing page audit,' 'is my pricing page AI-readable,' or 'can AI read my pricing.' Use this whenever someone is figuring out what to charge, how to structure their plans, or wants to audit a pricing page (for humans and for the AI agents that shortlist tools). For in-app upgrade screens, see paywalls. For offer construction (bonuses, guarantees, value framing, naming) on services/courses/coaching/high-ticket B2B, see offers.
cross-border-ecommerce
nexscope-ai/ecommerce-skills
Cross-border e-commerce expansion advisor. Scores target markets on 8 weighted dimensions (market size, ecommerce penetration, competition, regulatory complexity, logistics infrastructure, payment ecosystem, cultural distance, IP protection), compares 5 fulfillment models with cost and transit data, provides country-by-country tax/duty compliance guides (EU VAT/IOSS, UK VAT, US sales tax, CA GST, AU GST, JP consumption tax), maps local payment preferences by market, and builds a phased expansion roadmap. No API key required.
pricing-strategy
coreyhaines31/marketingskills
When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' 'monetization,' 'how much should I charge,' 'my pricing is wrong,' 'pricing page,' 'annual vs monthly,' 'per seat pricing,' or 'should I offer a free plan.' Use this whenever someone is figuring out what to charge or how to structure their plans. For in-app upgrade screens, see paywall-upgrade-cro.