wallet

Use the wallet tools for all balance, send, and sign operations. Supports both ETH and ERC-20 tokens. The away wallet operates autonomously after setup — the home device does not need to be online.

6 stars

Best use case

wallet is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use the wallet tools for all balance, send, and sign operations. Supports both ETH and ERC-20 tokens. The away wallet operates autonomously after setup — the home device does not need to be online.

Teams using wallet should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/wallet/SKILL.md --create-dirs "https://raw.githubusercontent.com/MetaMask/ocap-kernel/main/packages/evm-wallet-experiment/openclaw-plugin/skills/wallet/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/wallet/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How wallet Compares

Feature / AgentwalletStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use the wallet tools for all balance, send, and sign operations. Supports both ETH and ERC-20 tokens. The away wallet operates autonomously after setup — the home device does not need to be online.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Wallet (ocap)

Use the **wallet tools** for any Ethereum balance, send, or sign request. Do not use exec or other CLIs for wallet operations.

## Tools

- **wallet_accounts** — List wallet accounts. Returns cached home accounts if the home device is offline.
- **wallet_balance** — Get ETH balance for an address. Use `wallet_accounts` first to find the right address.
- **wallet_send** — Send ETH to an address. Fully autonomous — uses delegation redemption (bundler for Hybrid accounts, direct RPC for stateless EIP-7702 home accounts), no home device needed when the away wallet is configured.
- **wallet_token_resolve** — Resolve a token symbol or name (e.g. "USDC") to its contract address on the current chain. Not available for testnets.
- **wallet_token_balance** — Get ERC-20 token balance. Accepts a contract address or symbol (e.g. "USDC"). Returns human-readable amount with symbol.
- **wallet_token_send** — Send ERC-20 tokens to an address. Accepts a contract address or symbol. Automatically converts decimal amounts using the token's decimals.
- **wallet_token_info** — Get ERC-20 token metadata (name, symbol, decimals). Accepts a contract address or symbol.
- **wallet_swap_quote** — Get a token swap quote without executing. Shows expected output amount, aggregator, and gas estimate. Accepts contract addresses or token symbols.
- **wallet_swap** — Execute a token swap. Handles ERC-20 approval and swap in sequence. Accepts contract addresses or token symbols.
- **wallet_sign** — Sign a message or typed data with the local key. The signature is valid for EIP-1271 verification against the smart account address.
- **wallet_capabilities** — Check what the wallet can do (local keys, peer wallet, delegations, bundler, cached accounts, autonomy level).

## Autonomy

After setup, the away wallet is **fully autonomous** for sending ETH, sending ERC-20 tokens, and signing messages. The home device only needs to be online for signing as the home EOA address specifically (which is rarely needed). Check `wallet_capabilities` — if `autonomy` contains "offline-capable", the wallet works independently.

## ERC-20 Token Operations

All token tools accept either a **contract address** (0x...) or a **token symbol** (e.g. "USDC", "DAI"). When a symbol is given, the tool resolves it to the contract address on the current chain via the MetaMask Token API. This works on mainnet and major L2s but **not on testnets** — for testnets, provide the contract address directly.

To send tokens, use `wallet_token_send` with the token (address or symbol), recipient, and amount in human-readable decimals (e.g., "100.5" for 100.5 USDC). The tool automatically queries the token's decimals and converts to raw units.

To check a token balance, use `wallet_token_balance` with the token (address or symbol).

If you need to discover a token's address, use `wallet_token_resolve` to search by name or symbol. If you need to check which token a contract is, use `wallet_token_info` to get its name, symbol, and decimals.

## Token Swaps

Use `wallet_swap_quote` to preview a swap before executing, and `wallet_swap` to execute. Both accept token symbols (e.g. "ETH", "USDC") or contract addresses. The swap uses MetaSwap (MetaMask's aggregator) to find the best rate across multiple DEXs.

- Default slippage is 1%. Adjust with the `slippage` parameter (0.1–50%).
- For ERC-20 source tokens, approval is handled automatically if needed.
- When a smart account is configured, the approve and swap are batched atomically in a single UserOp — no separate approval transaction.
- Native ETH is represented as "ETH" or the zero address.
- Swaps are not available on all testnets — MetaSwap may not support them.

## Rules

- Use only the wallet tools for wallet operations.
- Do not use exec to run cast, ethers, or other scripts for sending ETH/tokens or signing.
- If a send or sign returns pending or waiting for approval, tell the user and do not retry with a different method.
- Never prompt the user to type "yes" or "allow" in chat for approval; approval happens in the user's wallet or home UI.

Related Skills

evm-wallet-docker-e2e

6
from MetaMask/ocap-kernel

Run the evm-wallet Docker e2e tests (build, start stack, wait for healthy, test, diagnose failures).

metamask

6
from MetaMask/ocap-kernel

Use the MetaMask tools to request and interact with wallet capabilities from the MetaMask capability vendor.

discovery

6
from MetaMask/ocap-kernel

Use the discovery tools to find and use services through a service matcher. Do not rely on prior knowledge of services, providers, or APIs.

update-changelogs

6
from MetaMask/ocap-kernel

Updates changelogs for all packages with consumer-facing changes.

push

6
from MetaMask/ocap-kernel

Pushes the current branch to the remote repository.

pr

6
from MetaMask/ocap-kernel

Creates a pull request for the current branch.

lint-build-test

6
from MetaMask/ocap-kernel

How to check code by linting, building, and testing.

glossary

6
from MetaMask/ocap-kernel

How to add entries to the glossary

create-package

6
from MetaMask/ocap-kernel

Create a new monorepo package using the create-package CLI

commit

6
from MetaMask/ocap-kernel

Optionally checks, then commits code to the current or a new feature branch.

code-review

6
from MetaMask/ocap-kernel

How to review code; a pull request, feature branch, local changes etc.

emblemai-crypto-wallet

31355
from sickn33/antigravity-awesome-skills

Crypto wallet management across 7 blockchains via EmblemAI Agent Hustle API. Balance checks, token swaps, portfolio analysis, and transaction execution for Solana, Ethereum, Base, BSC, Polygon, Hedera, and Bitcoin.

Finance & InvestingClaude