PluginBench
Skill
Official
Review
Audit score 70

send-usdc

coinbase/agentic-wallet-skills

Send USDC, ETH, POL, or SOL to any address or ENS name on Base, Polygon, or Solana.

What is send-usdc?

Transfer tokens from your authenticated wallet to another address or ENS name across multiple blockchains. Use this when you need to send money, pay someone, tip, donate, or transfer funds to a wallet address or .eth name.

  • Send USDC, ETH, POL, or SOL tokens to Ethereum addresses, ENS names, or Solana addresses
  • Support for Base, Polygon, and Solana blockchains
  • Automatic ENS name resolution to wallet addresses
  • Flexible amount input: dollar amounts, decimals, or atomic units
  • JSON output option for programmatic use
  • Input validation to prevent shell injection attacks

How to install send-usdc

npx skills add https://github.com/coinbase/agentic-wallet-skills --skill send-usdc
Prerequisites
  • Wallet must be authenticated (run `npx awal@2.10.0 status` to verify)
  • Sufficient token balance for the transfer amount
  • Valid recipient: Ethereum address (0x...), ENS name (.eth), or Solana Base58 address
Claude Code
Cursor
Windsurf
Cline

How to use send-usdc

  1. 1.Verify wallet is authenticated by running `npx awal@2.10.0 status`
  2. 2.Determine the amount, recipient address or ENS name, and target chain
  3. 3.Run `npx awal@2.10.0 send <amount> <recipient> [--chain <chain>] [--asset <asset>]`
  4. 4.For dollar amounts with $ prefix, use single quotes: `npx awal@2.10.0 send '$5.00' address`
  5. 5.Check the output to confirm the transaction was submitted

Use cases

Good for
  • Send $5 USDC to a friend's wallet address on Base
  • Pay someone using their ENS name (e.g., vitalik.eth)
  • Transfer USDC to a Polygon address for lower fees
  • Tip content creators with SOL on Solana
  • Send ETH on Base for gas or contract interactions
Who it's for
  • Users managing cryptocurrency wallets
  • Developers building payment or tipping features
  • Anyone sending tokens across Base, Polygon, or Solana networks

send-usdc FAQ

What chains and tokens are supported?

Base, Polygon, and Solana. Tokens: USDC (all chains), ETH (Base only), POL (Polygon only), SOL (Solana only).

How do I format the amount?

Use dollar amounts ('$1.00'), decimals (1.00), or atomic units (1000000 = $1). Amounts with $ must be single-quoted to prevent bash expansion.

Can I send to an ENS name?

Yes. ENS names like vitalik.eth are automatically resolved to Ethereum addresses on mainnet.

What if I get an 'Insufficient balance' error?

Check your balance with `npx awal@2.10.0 balance`. You may need to fund your wallet or use a different token.

How do I know if the transaction succeeded?

The command will display the transaction details. Use `--json` flag for machine-readable output.

Full instructions (SKILL.md)

Source of truth, from coinbase/agentic-wallet-skills.


name: send-usdc description: Send tokens (USDC, ETH, POL, or SOL) to an address or ENS name on Base, Polygon, or Solana. Use when you or the user want to send money, pay someone, transfer tokens, tip, donate, or send funds to a wallet address or .eth name. Covers phrases like "send $5 to", "pay 0x...", "transfer to vitalik.eth", or "send USDC on Solana". user-invocable: true disable-model-invocation: false allowed-tools: ["Bash(npx awal@2.10.0 status*)", "Bash(npx awal@2.10.0 send )", "Bash(npx awal@2.10.0 balance)"]

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

npx awal@2.10.0 status

If the wallet is not authenticated, refer to the authenticate-wallet skill.

Command Syntax

npx awal@2.10.0 send <amount> <recipient> [--chain <chain>] [--asset <asset>] [--json]

Arguments

ArgumentDescription
amountAmount 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
recipientEthereum address (0x...), ENS name (vitalik.eth), or Solana address (Base58)

Options

OptionDescription
--chain <name>Blockchain network: base, polygon, solana (default: base)
--asset <symbol>Token to send: usdc, eth, pol, sol (default: usdc)
--jsonOutput 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

# 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 isn't a hex address)
  2. Resolve the name to an address
  3. Display both the ENS name and resolved address in the output

Prerequisites

  • Must be authenticated (npx awal@2.10.0 status to check, npx awal@2.10.0 auth login to sign in, see skill authenticate-wallet for more information)
  • Wallet must have sufficient USDC balance (npx awal balance to check)

Error Handling

Common errors:

  • "Not authenticated" - Run awal auth login <email> first
  • "Insufficient balance" - Check balance with awal balance
  • "Could not resolve ENS name" - Verify the ENS name exists
  • "Invalid recipient" - Must be valid 0x address, ENS name, or Solana Base58 address
  • "SOL only supported on Solana chains" - Use --chain solana when sending SOL
  • "ETH/POL only supported on EVM chains" - ETH on base, POL on polygon

Related skills

More from coinbase/agentic-wallet-skills and the wider catalog.

trade logo

trade

Official
coinbase/agentic-wallet-skills

Swap or trade tokens on Base or Polygon networks via the CDP Swap API.

3.1k installs
x402 logo

x402

Official
coinbase/agentic-wallet-skills

Search and call paid APIs using the x402 payment protocol with automatic USDC payments on Base.

3.0k installs
agentic-wallet logo

agentic-wallet

Official
coinbase/agentic-wallet-skills

Crypto wallet operations via the awal CLI — sign in, check balances, send USDC/ETH/POL/SOL, trade tokens, fund the wallet, and use the x402 payment protocol to discover paid services, pay for API calls, monetize an API, or query onchain data. Use whenever the user mentions signing in, login, authentication, wallet status, balance, address, sending money, paying someone, transferring tokens, ENS names, swapping/trading/converting tokens, funding/topping up/onramp, USDC, ETH, POL, SOL, the x402 bazaar, paid APIs, monetizing an endpoint, or querying onchain data on Base.

617 installs
authenticate-wallet logo

authenticate-wallet

Official
coinbase/agentic-wallet-skills

Sign in to your wallet via email OTP before sending, trading, or funding.

2.4k installs
add-lang logo

add-lang

colbymchenry/codegraph

Add tree-sitter language support to codegraph end-to-end — wire the grammar + extractor, write tests, then benchmark extraction quality and retrieval value on 3 popular real-world repos. Use when the user runs /add-lang <language> or asks to add/support a new language (e.g. Lua, Elixir, Zig, OCaml) in codegraph.

651 installs
agent-eval logo

agent-eval

colbymchenry/codegraph

Benchmark CodeGraph retrieval quality on a real codebase by comparing agent behavior with vs without CodeGraph. Use when the user runs /agent-eval or asks to test, benchmark, audit, or validate a codegraph version (the local dev build or a published npm version) against a language's repo.

1.0k installs