
Send Usdc
Let your coding agent send USDC, ETH, POL, or SOL on Base, Polygon, or Solana from an initialized Awal wallet when you ask to pay, tip, or transfer to an address or ENS name.
Overview
Send-usdc is an agent skill for the Build phase that transfers USDC, ETH, POL, or SOL on Base, Polygon, or Solana via the Awal CLI when you pay, tip, or send to a wallet address or ENS name.
Install
npx skills add https://github.com/coinbase/agentic-wallet-skills --skill send-usdcWhat is this skill?
- Pinned Awal CLI: `status`, `balance`, and `send` with optional `--json`
- Supports Base, Polygon, and Solana with USDC, ETH, POL, or SOL assets
- Recipients via raw address or ENS (e.g. vitalik.eth) with natural-language triggers
- User-invocable skill with scoped Bash tools for wallet checks before send
- Documents amount formats like dollar strings and chain/asset flags in send syntax
- Pinned CLI version awal@2.10.0 in allowed-tools and examples
- Three Awal subcommands scoped: status, send, balance
- Three chains: Base, Polygon, and Solana
Adoption & trust: 3k installs on skills.sh; 110 GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
You want your agent to pay someone on-chain from natural language, but you do not want ad-hoc scripts or unverified wallet commands in every chat.
Who is it for?
Solo builders using Coinbase Agentic Wallet (Awal) who need user-invocable, tool-scoped token sends inside Claude Code or compatible agents.
Skip if: Builders without an initialized Awal wallet, anyone needing swaps, staking, or multi-sig treasury flows—the skill only covers outbound sends and points to authenticate-wallet when auth is missing.
When should I use this skill?
User wants to send money, pay someone, transfer tokens, tip, donate, or send funds to a wallet address or .eth name (e.g. send $5 to, pay 0x..., send USDC on Solana).
What do I get? / Deliverables
After a successful status check, the agent runs a pinned `awal send` with the right chain and asset so funds leave your initialized wallet to the stated recipient.
- Completed on-chain send via `npx awal@2.10.0 send`
- Optional JSON output from `--json` flag
Recommended Skills
Journey fit
Wallet transfers are an integration capability you wire into agent workflows during product build, not a launch or growth marketing task. The skill shells out to pinned `npx awal@2.10.0` CLI commands (status, balance, send), which is classic third-party payment-rail integration for agent tooling.
How it compares
An agent skill package for Awal CLI sends, not a generic MCP server or manual browser wallet UI.
Common Questions / FAQ
Who is send-usdc for?
Indie and solo developers who already use the Coinbase agentic wallet stack and want their coding agent to execute sends on Base, Polygon, or Solana with explicit Bash tool allowances.
When should I use send-usdc?
Use it during Build when wiring payment or payout flows into an agent product, or whenever the user says send money, pay an address, transfer USDC, tip, or donate to a .eth name—after confirming wallet status.
Is send-usdc safe to install?
It grants shell access to specific Awal commands only; review the Security Audits panel on this Prism page and treat on-chain sends as irreversible—never skip the status and authentication checks documented in SKILL.md.
SKILL.md
READMESKILL.md - Send Usdc
# Sending Tokens Use the `npx awal@2.10.0 send` command to transfer tokens from the wallet to any address on Base, Polygon, or Solana. ## Confirm wallet is initialized and authed ```bash npx awal@2.10.0 status ``` If the wallet is not authenticated, refer to the `authenticate-wallet` skill. ## Command Syntax ```bash npx awal@2.10.0 send <amount> <recipient> [--chain <chain>] [--asset <asset>] [--json] ``` ## Arguments | Argument | Description | | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `amount` | Amount to send: '$1.00', '1.00', or atomic units (1000000 = $1). Always single-quote amounts that use `$` to prevent bash variable expansion. If the number looks like atomic units (no decimal or > 100), treat as atomic units. Assume that people won't be sending more than 100 USDC the majority of the time | | `recipient` | Ethereum address (0x...), ENS name (vitalik.eth), or Solana address (Base58) | ## Options | Option | Description | | ------------------ | ------------------------------------------------------------------- | | `--chain <name>` | Blockchain network: base, polygon, solana (default: base) | | `--asset <symbol>` | Token to send: usdc, eth, pol, sol (default: usdc) | | `--json` | Output result as JSON | ## Input Validation Before constructing the command, validate all user-provided values to prevent shell injection: - **amount**: Must match `^\$?[\d.]+$` (digits, optional decimal point, optional `$` prefix). Reject if it contains spaces, semicolons, pipes, backticks, or other shell metacharacters. - **recipient**: Must be a valid `0x` hex address (`^0x[0-9a-fA-F]{40}$`), an ENS name (`^[a-zA-Z0-9.-]+\.eth$`), or a Solana address (`^[1-9A-HJ-NP-Za-km-z]{32,44}$`). Reject any value containing spaces or shell metacharacters. - **chain**: Must be one of `base`, `polygon`, `solana`. Reject any other value. - **asset**: Must be one of `usdc`, `eth`, `pol`, `sol`. Reject any other value. Do not pass unvalidated user input into the command. ## Examples ```bash # Send $1.00 USDC to an address on Base (default) npx awal@2.10.0 send 1 0x1234...abcd # Send $0.50 USDC to an ENS name npx awal@2.10.0 send 0.50 vitalik.eth # Send with dollar sign prefix (note the single quotes) npx awal@2.10.0 send '$5.00' 0x1234...abcd # Send ETH on Base npx awal@2.10.0 send 0.01 0x1234...abcd --asset eth # Send USDC on Polygon npx awal@2.10.0 send 1 0x1234...abcd --chain polygon # Send USDC to a Solana address npx awal@2.10.0 send 1 AxW7...5fGz --chain solana # Get JSON output npx awal@2.10.0 send 1 vitalik.eth --json ``` ## ENS Resolution ENS names are automatically resolved to addresses via Ethereum mainnet. The command will: 1. Detect ENS names (any string containing a dot that is