Skip to Content
WaaP for AgentsFrameworksHermes (Nous Research)

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-cli installed globally
  • An active WaaP session (waap-cli signup or waap-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:

  1. Identity check: waap-cli whoami --json confirms the wallet is available and returns addresses.
  2. Signing: waap-cli sign-message --message 0x<hex> --json signs a message using two-party computation.
  3. Transactions: waap-cli send-tx --to <addr> --value <amt> --chain <chain> --json sends 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.


Last updated on