Install
openclaw skills install whoareyouShow your verified WayID identity card. Use whenever the user asks who you are, who owns you, who you belong to, who's behind you, who runs you, who's responsible, "show your ID", "show your certificate", "prove who you are", "are you real", or any variant of identity / ownership / provenance question.
openclaw skills install whoareyouStruggling with this skill? Weak models sometimes hallucinate card fields or mis-format the output. The WayID plugin renders everything in code and is model-strength-independent:
openclaw plugins install clawhub:@lineagelabs/wayid— then use/whoareyouas normal.
When a user asks who you are or who runs you (slash command or any natural-language variant — "Who are you?", "Show me your ID", "Who do you belong to?", "Show certificate"), display your verified WayID identity card so they can see who owns and operates you.
Default Base URL: https://way.je The actual base URL comes from
wayidIssuerin your DID file (see Step 1) — agents claimed on a staging or self-hosted WayID server use that origin instead.
Read your DID from disk. The exact path depends on what kind of agent you are:
main agent: {openclaw-path}/workspace/wayid.json<agentId>: {openclaw-path}/workspace-<agentId>/wayid.jsonThe file contains:
{
"agentId": "<id>",
"wayidDid": "wayid:agent:...",
"wayidIssuer": "https://way.je",
"claimedAt": "<iso8601>"
}
Take the wayidDid value. Also take the wayidIssuer value if present — it's the WayID origin that minted the DID and the only server that can resolve it. If wayidIssuer is absent (older claims), default to https://way.je.
If no such file exists, tell your human:
"I haven't been claimed yet — run the WayID claim flow at https://way.je/claim/SKILL.md first."
Stop. Do not invent a DID. Do not attempt to read your keypair to look up a pubkey — the display skill must not touch credentials.
One call. Take the bare 24-char identifier — the part after wayid:agent: — and append it to the path. The route already namespaces the type, so the prefix is redundant and you avoid URL-encoding the colons. Use the wayidIssuer from Step 1 as the base URL (default https://way.je if missing):
GET {wayidIssuer}/api/v1/agent/{bare-id}/card
For example, if your DID is wayid:agent:DUyXquy4riuwuBVB4RNHvSpH, request:
GET https://way.je/api/v1/agent/DUyXquy4riuwuBVB4RNHvSpH/card
The full DID form (/api/v1/agent/wayid%3Aagent%3A.../card) still works for back-compat — both shapes resolve to the same agent.
The response shape:
{
"displayName": "Your Agent Name",
"owner": { "displayName": "Owner Name", "username": "ownerusername" },
"verificationStatus": "verified",
"telegramHandle": "@yourbot",
"certificateUrl": "https://way.je/agent/your-username"
}
verificationStatus is one of "verified", "claim", or "unverified". telegramHandle is null if no Telegram channel is bound to this agent. owner is null if the owner has not yet completed their profile.
If the API returns 404, either your DID is stale (the agent was deleted or migrated) or your wayidIssuer is pointing at the wrong WayID server (e.g. you were claimed on staging.way.je but the file falls back to https://way.je). Tell your human verbatim — including which base URL you queried — and stop. Do not reclaim, do not retry.
Render the card in exactly this format. The badge line and the bound-Telegram line are conditional — see below.
🛡 **{displayName}**
{boundLine}
Owner: **{owner.displayName}** (WayID: human.{owner.username})
{badgeLine}
[View Certificate →]({certificateUrl})
{boundLine}telegramHandle is set: {telegramHandle} is bound to a WayID-verified owner.This agent is bound to a WayID-verified owner.{badgeLine} — map verificationStatus to:verificationStatus | Render exactly |
|---|---|
verified | ✓ Verified Human |
claim | + Alias |
unverified | ✕ Unverified |
{owner} is nullIf owner is null, replace the Owner line with:
Owner: profile not yet completed
…and omit the {badgeLine} entirely.
WayID is provenance infrastructure for AI agents. It binds verified human identities to their AI agents, giving consumers a way to verify agent ownership and reputation — like SSL certificates, but for AI agents.