send-usdcby coinbase

Transfer USDC to Ethereum addresses or ENS names on Base. Accepts both hex addresses (0x...) and ENS names (.eth) as recipients, with automatic ENS resolution Supports flexible amount formats: dollar notation ($5.00), decimal (1.50), or atomic units (1000000) Requires wallet authentication via the authenticate-wallet skill and sufficient USDC balance before sending Includes input validation to prevent shell injection and optional JSON output for programmatic use

npx skills add https://github.com/coinbase/agentic-wallet-skills --skill send-usdc

Sending Tokens

Use the npx [email protected] send command to transfer tokens from the wallet to any address on Base, Polygon, or Solana.

Confirm wallet is initialized and authed

npx [email protected] status

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

Command Syntax

npx [email protected] 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 [email protected] send 1 0x1234...abcd

# Send $0.50 USDC to an ENS name
npx [email protected] send 0.50 vitalik.eth

# Send with dollar sign prefix (note the single quotes)
npx [email protected] send '$5.00' 0x1234...abcd

# Send ETH on Base
npx [email protected] send 0.01 0x1234...abcd --asset eth

# Send USDC on Polygon
npx [email protected] send 1 0x1234...abcd --chain polygon

# Send USDC to a Solana address
npx [email protected] send 1 AxW7...5fGz --chain solana

# Get JSON output
npx [email protected] 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 [email protected] status to check, npx [email protected] 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

More skills from coinbase

authenticate-wallet
by coinbase
Email OTP-based wallet authentication with validation and status checking. Two-step login flow: initiate with email to receive a 6-digit OTP, then verify with the flowId and code to complete authentication Includes input validation rules for email, flowId, and OTP to prevent shell injection before executing commands Provides status checking, balance queries, address retrieval, and wallet window access via companion CLI commands All commands support --json output for machine-readable...
fund
by coinbase
Deposit USDC to wallet via Coinbase Onramp or direct transfer. Opens a companion UI where users select preset amounts ($10, $20, $50) or custom values and choose from Apple Pay, debit card, bank transfer, or Coinbase account funding Supports multiple payment methods with varying settlement times: instant for card and Apple Pay, 1–3 days for ACH bank transfers Deposits funds as USDC on the Base network; alternatively, users can send USDC directly to the wallet address via npx [email protected]...
monetize-service
by coinbase
Deploy a paid API endpoint that other agents can discover and pay for via x402 protocol. Charges USDC per request on Base using HTTP 402 payment protocol; clients pay with signed transactions, no API keys or accounts required Automatically registers endpoints with the x402 Bazaar for agent discovery when you declare discovery extensions Supports multiple pricing tiers, wildcard routes, and multiple payment options per endpoint using Express middleware Built on @x402/express and @x402/core...
pay-for-service
by coinbase
Call paid APIs on Base with automatic USDC payment via x402 protocol. Executes HTTP requests (GET, POST, etc.) to x402-enabled endpoints with atomic USDC payments handled automatically Supports request customization through method, JSON body, query parameters, and custom headers Includes payment controls: set maximum USDC amount per request and group related operations with correlation IDs Requires wallet authentication and sufficient USDC balance; validates all user input to prevent shell...
query-blockchain-data
by coinbase
Query onchain blockchain data on Base using the CDP SQL API via x402. Use when you or your user want to view onchain information about decoded blocks,…
query-onchain-data
by coinbase
Query onchain data on Base using SQL with per-query x402 payments. Access decoded events, transactions, and blocks via CoinbaseQL, a ClickHouse-based SQL dialect supporting joins, CTEs, subqueries, and standard functions Three main tables available: base.events (decoded smart contract logs), base.transactions (full transaction data), and base.blocks (block metadata) Requires filtering on indexed fields ( event_signature , address , block_timestamp ) in event queries to avoid full table...
search-for-service
by coinbase
Search and discover paid API services available on the x402 bazaar marketplace. Query the marketplace using BM25 relevance search, list all available resources, or inspect specific endpoints to see pricing and payment requirements without paying Supports filtering by network (base, base-sepolia) and output formats (human-readable or JSON) Results are cached locally and auto-refresh every 12 hours; no authentication required for any search or discovery operation Use as a fallback when no...
trade
by coinbase
Execute token swaps on Base network using flexible amount formats and built-in token aliases. Supports three common token aliases (USDC, ETH, WETH) plus arbitrary contract addresses; amounts can be specified as dollar values, decimals, whole numbers, or atomic units with automatic decimal detection Includes configurable slippage tolerance (in basis points) and JSON output option for programmatic integration Requires wallet authentication via the authenticate-wallet skill; validates all user...

NotebookLM Web Importer

Import web pages and YouTube videos to NotebookLM with one click. Trusted by 200,000+ users.

Install Chrome Extension