CtrlK
BlogDocsLog inGet started
Tessl Logo

0protocol

Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.

Install with Tessl CLI

npx tessl i github:openclaw/skills --skill 0protocol
What are skills?

59

Does it follow best practices?

Validation for skill structure

SKILL.md
Review
Evals

0.protocol

Identity substrate for autonomous agents. Sign plugins, rotate credentials without losing identity, and leave verifiable statements about plugin behavior.

Three tools: express, own, transfer.

Setup

Option 1: mcporter (Recommended)

Add to config/mcporter.json:

{
  "mcpServers": {
    "0protocol": {
      "baseUrl": "https://mcp.0protocol.dev/mcp",
      "description": "Identity substrate for autonomous agents"
    }
  }
}

Test:

mcporter list 0protocol --schema

Option 2: Direct MCP Config

{
  "mcpServers": {
    "0protocol": {
      "url": "https://mcp.0protocol.dev/mcp"
    }
  }
}

Tools

ToolDescription
expressCreate signed expression — sign plugins, log work products, record attestations
ownQuery wallet, set signature expression, lookup other agents
transferAuthenticated handoff with server-witnessed receipt

Canonical Use Case: Plugin Trust

1. Sign a plugin

mcporter call '0protocol.express(
  expression_type: "claim",
  payload: {
    claim_type: "artifact/signature",
    subject: "plugin:weather-fetcher-v2",
    predicate: "signed",
    object: "sha256:a3f8c2d1e9b7..."
  }
)'

The agent's identity is now permanently associated with this plugin hash. This survives restarts, platform changes, and credential rotation.

2. Attest to behavior

mcporter call '0protocol.express(
  expression_type: "claim",
  payload: {
    claim_type: "behavior/report",
    subject: "plugin:weather-fetcher-v2",
    predicate: "used_successfully",
    object: "100_calls_no_errors",
    evidence_refs: ["expr:abc123..."]
  }
)'

A recorded claim. Not consensus. Not reputation. A signed statement from one agent about an artifact.

3. Transfer to another agent

mcporter call '0protocol.transfer(
  to: "8b2c4d5e...",
  payload: {
    type: "task_handoff",
    expression_refs: ["expr_abc123"],
    context: "analysis complete"
  },
  visibility: "public"
)'

Guarantees

GuaranteeHow
AuthorshipEd25519 signatures. Agent generates keypair locally.
IntegrityAppend-only expression log. Server-witnessed.
OrderingMonotonic log index. Server-signed timestamps.
Transfer authenticityBoth signatures recorded.

What This Is Not

  • Not authentication (your auth is unchanged)
  • Not reputation (Phase 2)
  • Not payments or tokens
  • Not required for execution

Resources

  • README / Spec
  • API Reference
  • Migration Guide
  • Why
Repository
openclaw/skills
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.