IdentyClaw Tools
OpenClaw plugin exposing IdentyClaw API agent tools
Install
openclaw plugins install clawhub:@identyclaw/openclaw-identyclaw-pluginIdentyClaw OpenClaw Plugin
OpenClaw agent tool plugin that wraps the IdentyClaw HTTP API. Registers six tools for agent discovery, identity, HOLA verification, and MCP-style documentation resources.
Development
Run all commands from this directory (openclaw-identyclaw-plugin/), not the repo root. OpenClaw CLI requires Node.js 22.19+.
cd openclaw-identyclaw-plugin
nvm use # or ensure Node >= 22.19 (see .nvmrc)
npm install
npm run prepare:publish # build + sync manifest + validate
npm run smoke:test
npm run smoke:test:mock # CI-style, no network
Protected endpoint smoke (optional):
IDENTYCLAW_JWT="<token>" npm run smoke:test
# or login bootstrap:
IDENTYCLAW_ACCOUNT_ID="<hex>" IDENTYCLAW_NEAR_PRIVATE_KEY="ed25519:..." npm run smoke:test
Individual steps:
npm run build # compile index.ts → dist/index.js
npm run plugin:build # sync openclaw.plugin.json from entry metadata
npm run plugin:validate # verify manifest matches built entry
Install
From a local checkout (after npm run prepare:publish):
openclaw plugins install /path/to/openclaw-identyclaw-plugin
After publish to ClawHub:
openclaw plugins install clawhub:@identyclaw/openclaw-identyclaw-plugin
Enable protected tools in your OpenClaw config (optional tools are off by default):
{
plugins: {
entries: {
"identyclaw-tools": {
enabled: true,
config: {
baseUrl: "https://api.identyclaw.com",
accountid: "<64-char-hex-near-implicit-account>",
nearPrivateKey: "ed25519:..."
}
}
}
},
tools: {
allow: [
"identyclaw_get_my_identity",
"identyclaw_get_nonce",
"identyclaw_verify_hola"
]
}
}
Tools
identyclaw_list_agents(public)identyclaw_get_my_identity(JWT required)identyclaw_get_nonce(JWT required)identyclaw_verify_hola(JWT required)identyclaw_list_resources(public)identyclaw_get_resource(public)
Required config for protected tools
Provide either plugin config values or environment variables:
baseUrl(default:https://api.identyclaw.com)accountid(64-char hex NEAR implicit account id)nearPrivateKey(NEAR private key, usuallyed25519:...)
Environment variable fallback:
IDENTYCLAW_BASE_URLIDENTYCLAW_ACCOUNT_IDIDENTYCLAW_NEAR_PRIVATE_KEY
Notes
- The plugin auto-logins and caches JWTs until near expiry.
- Login follows the required flow:
GET /api/login/timestamp- Sign
accountid + timestamp_isowith Ed25519 POST /api/loginwithaccountid,timestamp, andbase64url_signature
Optional tools
Protected tools are marked optional in the manifest:
identyclaw_get_my_identityidentyclaw_get_nonceidentyclaw_verify_hola
This allows safer rollout where only public tools are enabled by default.
Publish to ClawHub
See PUBLISH.md. After clawhub login as owner identyclaw:
npm run publish:clawhub:dry-run
npm run publish:clawhub
Smoke test
Run a basic endpoint smoke test from this plugin folder:
npm run smoke:test
Optional environment variables:
IDENTYCLAW_BASE_URL(defaults tohttps://api.identyclaw.com)IDENTYCLAW_JWT(if set, protected endpoint checks are included)
