Hermes (Nous Research)
Hermes Agent is a skill-based agent runtime from Nous Research. WaaP integrates as a standard AgentSkills skill with a SKILL.md definition file that teaches the agent how to use the wallet.
Hermes uses the same AgentSkills interface as OpenClaw, but runs on a separate runtime. If you are already familiar with OpenClaw skills, the setup is nearly identical — the only difference is the runtime: hermes field in the SKILL.md metadata.
Status: Production-ready.
Prerequisites
@human.tech/waap-cliinstalled globally- An active WaaP session (
waap-cli signuporwaap-cli login) - Hermes Agent installed (
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash)
Install the skill
Register the WaaP skill with Hermes (see Hermes docs for the exact hermes skills add command). This places a SKILL.md in your workspace that the Hermes runtime discovers automatically.
SKILL.md structure
The WaaP skill definition follows the AgentSkills SKILL.md format with Hermes-specific metadata:
---
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
or sign a message.
compatibility: Requires @human.tech/waap-cli on PATH and an active WaaP
session at ~/.waap-cli/session.json
metadata:
author: holonym-foundation
runtime: hermes
---
# waap-wallet
Signs messages and sends transactions using the local WaaP wallet via `waap-cli`.
## Tools this skill shells out to
- `waap-cli whoami --json` -- returns wallet addresses and email
- `waap-cli sign-message --message 0x<hex> --json` -- returns a signature
- `waap-cli send-tx --to <addr> --value <amt> --chain <chain> --json` -- returns a transaction hash
## Instructions
When the user asks to interact with their wallet:
1. Call `waap-cli whoami --json` and report the address.
2. On user request, hex-encode their message (UTF-8 to 0x-prefixed hex).
3. Call `waap-cli sign-message --message 0x<hex> --json`.
4. Return the `signature` field.
For transactions:
1. Call `waap-cli send-tx` with the appropriate flags and `--json`.
2. Return the `txHash` or `digest` field.
## Safety rails
- Refuse if `waap-cli whoami` errors; instruct user to run `waap-cli signup`.
- Never read session files directly.
- Never ask the user for their password in chat.The key difference from an OpenClaw skill is runtime: hermes in the metadata block. The instructions and tool calls are identical.
Workspace configuration
Configure the skill through environment variables or your workspace config:
# In your Hermes workspace config
skills:
waap-wallet:
env:
WAAP_DEFAULT_CHAIN: "evm:8453"
WAAP_DEFAULT_RPC: "https://mainnet.base.org"WaaP CLI integration pattern
Hermes interacts with WaaP entirely through CLI subprocess calls:
- Identity check:
waap-cli whoami --jsonconfirms the wallet is available and returns addresses. - Signing:
waap-cli sign-message --message 0x<hex> --jsonsigns a message using two-party computation. - Transactions:
waap-cli send-tx --to <addr> --value <amt> --chain <chain> --jsonsends a transaction.
All commands use the --json flag for machine-readable output. The CLI handles two-party signing, policy checks, and Telegram approval flows transparently. The agent never touches a private key.
If waap-cli whoami fails, the agent should instruct the user to run waap-cli signup to create a session.
Related
- OpenClaw — same AgentSkills interface, different runtime
- CLI Commands — full
waap-clireference - Frameworks Overview — comparison of all supported frameworks
- Approvals and Notifications — Telegram approval setup