All skills
coinbase avatar

/agentic-wallet

@70cb79c official

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.

Use this Skill: https://skilld.dev/gh/coinbase/agentic-wallet-skills/agentic-wallet

This session only. Nothing lands on disk.

referencestrade.md

≈1.1k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Trading Tokens

Use the npx awal@2.12.1 trade command to swap tokens on Base or Polygon via the CDP Swap API. You must be authenticated to trade.

If the wallet is not authenticated, see references/auth.md.

Command Syntax

npx awal@2.12.1 trade <amount> <from> <to> [options]

The command is also available as npx awal@2.12.1 swap (alias).

Arguments

Argument Description
amount Amount to swap (see Amount Formats below)
from Source token: alias (usdc, eth, pol) or contract address (0x...)
to Destination token: alias (usdc, eth, pol) or contract address (0x...)

Amount Formats

The amount can be specified in multiple formats:

Format Example Description
Dollar prefix '$1.00', '$0.50' USD notation (decimals based on token)
Decimal 1.0, 0.50, 0.001 Human-readable with decimal point
Whole number 5, 100 Interpreted as whole tokens
Atomic units 500000 Large integers treated as atomic units

Auto-detection: Large integers without a decimal point are treated as atomic units. For example, 500000 for USDC (6 decimals) = $0.50.

Decimals: For known tokens (usdc=6, eth=18, pol=18), decimals are automatic. For arbitrary contract addresses, decimals are read from the token contract.

Options

Option Description
-c, --chain <name> Blockchain network: base, polygon (default: base)
-s, --slippage <n> Slippage tolerance in basis points (100 = 1%)
--json Output result as JSON

Token Aliases

Alias Token Decimals Chain
usdc USDC 6 base
eth ETH 18 base
pol POL 18 polygon

IMPORTANT: Always single-quote amounts that use $ to prevent bash variable expansion (e.g. '$1.00' not $1.00).

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.
  • from / to: Must be a known alias (usdc, eth, pol) or a valid 0x hex address (^0x[0-9a-fA-F]{40}$). Reject any other value.
  • slippage: Must be a positive integer (^\d+$).

Do not pass unvalidated user input into the command.

Examples

# Swap $1 USDC for ETH (dollar prefix — note the single quotes)
npx awal@2.12.1 trade '$1' usdc eth

# Swap 0.50 USDC for ETH (decimal format)
npx awal@2.12.1 trade 0.50 usdc eth

# Swap 500000 atomic units of USDC for ETH
npx awal@2.12.1 trade 500000 usdc eth

# Swap 0.01 ETH for USDC
npx awal@2.12.1 trade 0.01 eth usdc

# Swap with custom slippage (2%)
npx awal@2.12.1 trade '$5' usdc eth --slippage 200

# Swap using contract addresses (decimals read from chain)
npx awal@2.12.1 trade 100 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 0x4200000000000000000000000000000000000006

# Get JSON output
npx awal@2.12.1 trade '$1' usdc eth --json

# Swap USDC for POL on Polygon
npx awal@2.12.1 trade '$1' usdc pol --chain polygon

Prerequisites

  • Must be authenticated (npx awal@2.12.1 status to check; see references/auth.md)
  • Wallet must have sufficient balance of the source token

Error Handling

Common errors:

  • "Not authenticated" - See references/auth.md
  • "Invalid token" - Use a valid alias (usdc, eth, pol) or 0x address
  • "POL only supported on polygon chain" - Use --chain polygon when trading POL
  • "Cannot swap a token to itself" - From and to must be different
  • "Swap failed: TRANSFER_FROM_FAILED" - Insufficient balance or approval issue
  • "No liquidity" - Try a smaller amount or different token pair
  • "Amount has X decimals but token only supports Y" - Too many decimal places

Source: SKILL.md on GitHub

1 alert1mo3 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    This skill provides comprehensive crypto wallet functionality and x402 payment integration using Coinbase's 'awal' CLI and associated libraries. It handles authentication, balance tracking, token transfers, and trading while emphasizing strict input validation to prevent command injection. It also guides developers in building and monetizing their own APIs with x402 payments.

  • Socket1mo

    1 alert: gptSecurity

  • Snyk1mo

    Risk: HIGH · 3 issues

Signed by skilld at 70cb79c. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 days ago.

Steadyupdated 2 months ago
What it can do
Runs commands
user-invocable
true
disable-model-invocation
false
All 5 allowed tools
Bash(npx awal@2.12.1 *)Bash(npm *)Bash(node *)Bash(curl *)Bash(mkdir *)
  • CLI
  • crypto
  • wallet
  • usdc
  • eth
  • solana
  • polygon
  • x402
  • onchain
  • base

README badge

README badge for coinbase/agentic-wallet-skills

Operates a crypto wallet via the `awal` CLI to sign in, check balances, send USDC/ETH/POL/SOL across Base/Polygon/Solana, swap tokens, fund the wallet, and discover or pay for services on the x402 bazaar. Use when the user needs wallet authentication, balance checks, token transfers, trading, onramp, or access to paid APIs that accept x402 payments.

Generated from the current SKILL.md.

What blockchains does this skill support?
Base, Polygon, and Solana. Balance checks and sends work across all three; token swaps are limited to Base and Polygon.
Do I need to authenticate before using the wallet?
Yes, except for x402 bazaar search and details. Run `npx awal@2.10.0 status` first; if not authenticated, read `references/auth.md` to sign in with an OTP code.
What tokens can I send or trade?
The skill explicitly supports USDC, ETH, POL, and SOL. Token swaps are available on Base and Polygon via the trade command.
What is the x402 protocol and how does it work?
x402 is a payment protocol for discovering and calling paid APIs. You can search the x402 bazaar for services, pay USDC automatically to call them, or monetize your own API endpoint so other agents can pay to use it.
Can I query blockchain data directly?
Yes, the skill includes a `query-onchain` reference for querying events, transactions, and blocks on Base using the CDP SQL API.

Generated from the current SKILL.md. These answers refresh after source changes.