Help us improve
Share bugs, ideas, or general feedback.
From three-ws-core
Sends USDC, ETH, POL, or SOL to an address or ENS name on Base, Polygon, or Solana. Use for payments, tips, donations, or transfers.
npx claudepluginhub nirholas/three.ws --plugin three-ws-coreHow this skill is triggered — by the user, by Claude, or both
Slash command
/three-ws-core:send-usdcThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use the `npx awal@2.10.0 send` command to transfer tokens from the wallet to any address on Base, Polygon, or Solana.
Enables sending tokens via natural language prompts to wallet addresses, ENS names, or social handles on Twitter/Farcaster/Telegram, across Base, Polygon, Ethereum, Solana.
Guides crypto asset transfers of ETH, ERC20, SOL, SPL tokens to addresses, ENS names, Twitter/Farcaster/Telegram handles on EVM chains (Base, Polygon, Ethereum, Unichain) and Solana.
Constructs unsigned ETH or USDC transfer transactions on Base for client signing and broadcasting. Supports payment workflows. Costs $0.01 USDC via x402.
Share bugs, ideas, or general feedback.
Use the npx awal@2.10.0 send command to transfer tokens from the wallet to any address on Base, Polygon, or Solana.
npx awal@2.10.0 status
If the wallet is not authenticated, refer to the authenticate-wallet skill.
npx awal@2.10.0 send <amount> <recipient> [--chain <chain>] [--asset <asset>] [--json]
| 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) |
| 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 |
Before constructing the command, validate all user-provided values to prevent shell injection:
^\$?[\d.]+$ (digits, optional decimal point, optional $ prefix). Reject if it contains spaces, semicolons, pipes, backticks, or other shell metacharacters.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.base, polygon, solana. Reject any other value.usdc, eth, pol, sol. Reject any other value.Do not pass unvalidated user input into the command.
# 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 names are automatically resolved to addresses via Ethereum mainnet. The command will:
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)npx awal balance to check)Common errors:
awal auth login <email> firstawal balance--chain solana when sending SOL