Skip to Content
WaaP for AgentsFrameworksClaude Code / AI IDEs

Claude Code / AI IDEs

AI-native IDEs like Claude Code, Cursor, and GitHub Copilot can discover WaaP automatically through skill files. Drop a SKILL.md into your workspace, and the AI knows how to create wallets, sign transactions, and check balances using waap-cli.

Status: Production-ready.


Prerequisites

  • @human.tech/waap-cli installed globally
  • An active WaaP session (waap-cli signup or waap-cli login)
  • Claude Code, Cursor, or another AI IDE that reads SKILL.md / CLAUDE.md files

Quick setup

The fastest way to add WaaP skills to your workspace:

# Install skills from the published package npx skills add holonym-foundation/the-waap-skills

This adds a SKILL.md file to your project that teaches the AI how to use WaaP.


Manual setup: SKILL.md

If you prefer to set up the skill file manually, create SKILL.md in your project root:

--- name: waap-wallet description: Signs messages and sends transactions with the local WaaP wallet via the waap-cli tool. Use when the user asks to check their WaaP wallet, sign a message, or send a transaction. --- # waap-wallet A WaaP agent skill. Teaches the AI how to use the local WaaP wallet via the `waap-cli` command-line tool. ## Prerequisites - `@human.tech/waap-cli` installed (globally or on PATH) - A WaaP session — run `waap-cli signup` to create one ## Instructions When the user asks you to interact with their wallet: 1. Shell out to `waap-cli whoami --json` to get the current wallet address. 2. To sign a message, hex-encode it and run: `waap-cli sign-message --message 0x<hex> --json` 3. To send a transaction, run: `waap-cli send-tx --to <address> --value <amount> --chain <chain> --json` 4. To check balance or chain info, use the appropriate command with `--json`. 5. Return the relevant field from the JSON response. ## Safety rails - Never read `~/.waap-cli/session.json` directly. - Never ask the user for their password or email in chat. - If `waap-cli whoami` fails, tell the user to run `waap-cli signup`.

Adding WaaP context to CLAUDE.md

If your project already has a CLAUDE.md file (Claude Code’s project instructions), add a WaaP section so the AI knows the wallet is available:

## WaaP Wallet This project has a WaaP wallet available via `waap-cli`. The agent can: - Check wallet address: `waap-cli whoami --json` - Sign messages: `waap-cli sign-message --message 0x<hex> --json` - Send transactions: `waap-cli send-tx --to <addr> --value <amt> --chain <chain> --json` - Check policy: `waap-cli policy get --json` Always pass `--json` for machine-readable output. See the SKILL.md for detailed instructions.

MCP server configuration (optional)

For deeper integration, you can configure WaaP as an MCP (Model Context Protocol) server. This gives the AI structured tool definitions instead of relying on subprocess calls.

Add to your .claude/mcp.json or equivalent MCP configuration:

{ "mcpServers": { "waap": { "command": "waap-cli", "args": ["mcp-server"], "env": {} } } }

MCP server mode is a convenience layer. The underlying operations are identical to calling waap-cli directly. Use whichever approach fits your workflow.


How it works

When the AI encounters a wallet-related request:

  1. It reads the SKILL.md and learns the available commands.
  2. It shells out to waap-cli with the appropriate arguments and --json.
  3. It parses the JSON output and presents the result.
  4. If a transaction requires approval, the CLI blocks until you approve on Telegram. The AI will tell you it is waiting.

The AI never sees your private key. The CLI handles two-party signing, policy checks, and approval flows.


Example session

You: What's my wallet address? Claude: Running `waap-cli whoami --json`... Your EVM address is 0xAbc...123 and your Sui address is 0xDef...456. You: Sign "hello world" Claude: Running `waap-cli sign-message --message 0x68656c6c6f20776f726c64 --json`... Signature: 0x789...def You: Send 0.01 ETH to 0xRecipient on Base Claude: Running `waap-cli send-tx --to 0xRecipient --value 0.01 --chain evm:8453 --json`... Transaction hash: 0xabc...123

Last updated on