PromptShop

Send Usdc

This skill enables users to send USDC to any Ethereum address or ENS name on the Base network. It uses the npx awal@2.0.3 send command and requires the walle...

Install

npx promptshop add send-usdc

Details

What This Skill Does

This skill enables users to send USDC to any Ethereum address or ENS name on the Base network. It uses the npx awal@2.0.3 send command and requires the wallet to be initialized and authenticated. This is useful for transferring USDC to other users or accounts.

When to Use

  • Send USDC to a friend.
  • Pay for a service with USDC.
  • Transfer USDC to another wallet.
  • Send a specific amount of USDC.
  • Use an ENS name as the recipient.
  • Send USDC on the Base network.

Key Features

Sends USDC to Ethereum addresses or ENS names. Supports specifying the amount in USD or atomic units. Validates user-provided values to prevent shell injection. Uses the npx awal@2.0.3 send command. Defaults to the Base network. Requires wallet authentication.

Manual Installation

Confirm wallet is initialized and authed

npx awal@2.0.3 status

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

Command Syntax

npx awal@2.0.3 send <amount> <recipient> [--chain <chain>] [--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...) or ENS name (vitalik.eth)

Options

OptionDescription
--chainBlockchain network (default: base)
--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}$) or an ENS name (^[a-zA-Z0-9.-]+.eth$). Reject any value containing spaces or shell metacharacters.

Do not pass unvalidated user input into the command.

Examples

Send $1.00 USDC to an address

npx awal@2.0.3 send 1 0x1234...abcd

Send $0.50 USDC to an ENS name npx awal@2.0.3 send 0.50 vitalik.eth

Send with dollar sign prefix (note the single quotes) npx awal@2.0.3 send '$5.00' 0x1234...abcd

Get JSON output npx awal@2.0.3 send 1 vitalik.eth --json

ENS Resolution

ENS names are automatically resolved to addresses via Ethereum mainnet. The command will:

Detect ENS names (any string containing a dot that isn't a hex address) Resolve the name to an address Display both the ENS name and resolved address in the output

Prerequisites

Must be authenticated (npx awal@2.0.3 status to check, npx awal@2.0.3 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 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 or ENS name Sending USDC

Use the npx awal@2.0.3 send command to transfer USDC from the wallet to any Ethereum address or ENS name on Base.

Confirm wallet is initialized and authed

npx awal@2.0.3 status

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

Command Syntax

npx awal@2.0.3 send <amount> <recipient> [--chain <chain>] [--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...) or ENS name (vitalik.eth)

Options

OptionDescription
--chainBlockchain network (default: base)
--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}$) or an ENS name (^[a-zA-Z0-9.-]+.eth$). Reject any value containing spaces or shell metacharacters.

Do not pass unvalidated user input into the command.

Examples

Send $1.00 USDC to an address

npx awal@2.0.3 send 1 0x1234...abcd

Send $0.50 USDC to an ENS name npx awal@2.0.3 send 0.50 vitalik.eth

Send with dollar sign prefix (note the single quotes) npx awal@2.0.3 send '$5.00' 0x1234...abcd

Get JSON output npx awal@2.0.3 send 1 vitalik.eth --json

ENS Resolution

ENS names are automatically resolved to addresses via Ethereum mainnet. The command will:

Detect ENS names (any string containing a dot that isn't a hex address) Resolve the name to an address Display both the ENS name and resolved address in the output

Prerequisites

Must be authenticated (npx awal@2.0.3 status to check, npx awal@2.0.3 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 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 or ENS name