Your key is live.
Check your email — we sent a copy there too.
⚠️ /v1/attest vs /v1/tiered-attest
/v1/attest — Enterprise tier only. Writes directly to Hedera Consensus Service. Each call costs HBAR. Hard limit: 60 req/min.
/v1/tiered-attest — All tiers. Merkle batching. Use this for all development and high-volume workloads.
Quick start
# Install SDK
npm install @rubric-protocol/sdk
MCP Server — Claude Desktop & Cursor
Add Rubric to any MCP-compatible host in 30 seconds. No code required.
# claude_desktop_config.json
{
"mcpServers": {
"rubric": {
"command": "npx",
"args": ["-y", "@rubric-protocol/mcp-server"],
"env": { "RUBRIC_API_KEY": "your-key-here" }
}
}
}
Python SDK — 13 Frameworks · v1.7.3
One line instruments AutoGen, LangChain, CrewAI, and 12 more. Auto-attests decisions, tool calls, and agent state with chain linking.
# Install
pip install autogen-rubric
# One line at startup — attests decisions, tool calls + agent state
import autogen_rubric as rubric
rubric.instrument(api_key="your-key-here")
Agent Identity Registry
Register agents with a stable DID and ML-DSA-65 keypair. Each agent gets a cryptographic identity anchored to Hedera mainnet.
# Register an agent
curl -X POST https://rubric-protocol.com/v1/agents/register \
-H "x-api-key: your-key" \
-d '{"agentId":"my-agent","displayName":"My Agent","jurisdiction":"US","permittedUses":["decision-making","tool-calling"]}'
# Returns: DID, ML-DSA-65 public key, keyId, registrationId
Tool Call Attestation
Every tool call — web search, code execution, API calls — is hashed and sealed. Input/output hashes chain-linked to prior attestations.
# Automatic via instrument() — or manually:
client.attest_tool_call(
agent_id="my-agent",
tool_name="web_search",
tool_input=query,
tool_output=result,
success=True,
duration_ms=142
)
import { RubricClient } from '@rubric-protocol/sdk';
const client = new RubricClient({ apiKey: 'your-key' });
await client.attest({
agentId: 'my-agent',
decision: 'approved',
confidence: 0.97
});