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...
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
| 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...) or ENS name (vitalik.eth) |
Options
| Option | Description |
|---|---|
| --chain | Blockchain network (default: base) |
| --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}$) 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
| 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...) or ENS name (vitalik.eth) |
Options
| Option | Description |
|---|---|
| --chain | Blockchain network (default: base) |
| --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}$) 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