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 SKILL.md below shows the runtime metadata this framework expects. The skill body. Commands, safety rails, exit codes. Should come from the copy that ships with the CLI at node_modules/@human.tech/waap-cli/.agent/SKILL.md, which is versioned with the CLI it describes. Do not hand-maintain a fork of the body: it will drift past required flags like --chain and --privilege-stdin.

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 inside the enclave.
  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 enclave 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