sardis-identity

Agent identity management with TAP protocol verification and reputation tracking

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "sardis-identity" with this command: npx skills add efedurmaz16/sardis-identity

Sardis Identity - Agent Identity & Reputation

Complete identity lifecycle management for AI agents using TAP (Trust Anchor Protocol). Register agents, verify credentials, build reputation, and issue identity cards.

Capabilities

  • Agent Registration: Create verified agent identities with TAP attestation
  • Identity Retrieval: Get agent credentials and verification status
  • Reputation Tracking: Submit and query agent reputation scores
  • Identity Cards: Generate shareable agent identity cards
  • TAP Verification: Ed25519 and ECDSA-P256 cryptographic verification

Security Model

IDENTITY-CRITICAL: Agent identities are cryptographically verified and tied to payment capabilities. Handle with care.

Quick Setup

export SARDIS_API_KEY=sk_your_key_here

API Endpoint Patterns

Base URL: https://api.sardis.sh/v2

Register Agent

# Create a new agent identity with TAP verification
curl -X POST https://api.sardis.sh/v2/agents/identity/register \
  -H "Authorization: Bearer $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Customer Support Bot",
    "description": "Handles customer inquiries and refunds",
    "public_key": "302a300506032b6570032100...",
    "key_type": "ed25519",
    "capabilities": ["payments", "refunds", "support"],
    "metadata": {
      "version": "2.1.0",
      "provider": "Anthropic",
      "model": "claude-opus-4"
    }
  }'

# Example response:
# {
#   "agent_id": "agent_abc123xyz",
#   "name": "Customer Support Bot",
#   "public_key": "302a300506032b6570032100...",
#   "tap_verified": true,
#   "wallet_id": "wallet_def456",
#   "created_at": "2026-02-21T10:00:00Z",
#   "identity_card_url": "https://sardis.sh/id/agent_abc123xyz",
#   "status": "active"
# }

Get Agent Identity

# Retrieve complete agent identity and verification status
curl -X GET https://api.sardis.sh/v2/agents/identity/{agent_id} \
  -H "Authorization: Bearer $SARDIS_API_KEY"

# Example:
curl -X GET https://api.sardis.sh/v2/agents/identity/agent_abc123xyz \
  -H "Authorization: Bearer $SARDIS_API_KEY"

Submit Reputation

# Submit reputation feedback after an interaction
curl -X POST https://api.sardis.sh/v2/agents/identity/{agent_id}/reputation \
  -H "Authorization: Bearer $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "agent_abc123xyz",
    "score": 5,
    "category": "payment_reliability",
    "comment": "Processed refund quickly and accurately",
    "transaction_id": "tx_refund789"
  }'

# Categories:
# - payment_reliability: Successful transaction execution
# - policy_compliance: Adherence to spending policies
# - response_quality: Quality of agent responses
# - security_awareness: Security best practices
# - overall: General performance

# Score: 1-5 (5 being best)

Get Reputation Score

# Query agent's reputation metrics
curl -X GET https://api.sardis.sh/v2/agents/identity/{agent_id}/reputation \
  -H "Authorization: Bearer $SARDIS_API_KEY"

# Example:
curl -X GET https://api.sardis.sh/v2/agents/identity/agent_abc123xyz/reputation \
  -H "Authorization: Bearer $SARDIS_API_KEY"

Get Agent Card

# Generate shareable identity card
curl -X GET https://api.sardis.sh/v2/agents/identity/{agent_id}/card \
  -H "Authorization: Bearer $SARDIS_API_KEY"

# Returns a JSON card with agent info, reputation, and verification status
# Can be rendered as HTML or displayed in agent marketplaces

Example Commands

Complete Agent Onboarding

# 1. Generate TAP keypair (example using openssl)
openssl genpkey -algorithm ed25519 -out agent_key.pem
openssl pkey -in agent_key.pem -pubout -out agent_pub.pem

# Extract public key hex
PUBLIC_KEY=$(openssl pkey -pubin -in agent_pub.pem -text | grep -A 10 'pub:' | tail -n +2 | tr -d ' :\n')

# 2. Register agent
AGENT=$(curl -s -X POST https://api.sardis.sh/v2/agents/identity/register \
  -H "Authorization: Bearer $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"name\": \"My Support Agent\",
    \"description\": \"Customer support automation\",
    \"public_key\": \"$PUBLIC_KEY\",
    \"key_type\": \"ed25519\",
    \"capabilities\": [\"payments\", \"support\"]
  }")

AGENT_ID=$(echo "$AGENT" | jq -r '.agent_id')
echo "Agent registered: $AGENT_ID"

# 3. Display identity card
curl -s -X GET "https://api.sardis.sh/v2/agents/identity/$AGENT_ID/card" \
  -H "Authorization: Bearer $SARDIS_API_KEY" | jq '.'

Reputation Dashboard

# Check reputation across all categories
AGENT_ID=agent_abc123xyz

echo "=== Agent Reputation Dashboard ==="
REP=$(curl -s -X GET "https://api.sardis.sh/v2/agents/identity/$AGENT_ID/reputation" \
  -H "Authorization: Bearer $SARDIS_API_KEY")

echo "$REP" | jq -r '"Overall Score: \(.overall_score)/5"'
echo "$REP" | jq -r '"Total Ratings: \(.total_ratings)"'
echo "$REP" | jq -r '"Trust Level: \(.trust_level)"'

echo -e "\n=== Category Breakdown ==="
echo "$REP" | jq -r '.categories | to_entries[] | "\(.key): \(.value.score)/5 (\(.value.count) ratings)"'

Submit Rating After Transaction

# Rate agent performance after a payment
AGENT_ID=agent_abc123xyz
TX_ID=tx_payment123

curl -X POST "https://api.sardis.sh/v2/agents/identity/$AGENT_ID/reputation" \
  -H "Authorization: Bearer $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"agent_id\": \"$AGENT_ID\",
    \"score\": 5,
    \"category\": \"payment_reliability\",
    \"comment\": \"Transaction completed successfully\",
    \"transaction_id\": \"$TX_ID\"
  }"

Verify Agent Identity

# Check if an agent is properly verified
AGENT_ID=agent_abc123xyz

IDENTITY=$(curl -s -X GET "https://api.sardis.sh/v2/agents/identity/$AGENT_ID" \
  -H "Authorization: Bearer $SARDIS_API_KEY")

TAP_VERIFIED=$(echo "$IDENTITY" | jq -r '.tap_verified')
STATUS=$(echo "$IDENTITY" | jq -r '.status')

if [[ "$TAP_VERIFIED" == "true" && "$STATUS" == "active" ]]; then
  echo "✓ Agent identity verified and active"
  echo "Public Key: $(echo "$IDENTITY" | jq -r '.public_key' | head -c 16)..."
  echo "Wallet: $(echo "$IDENTITY" | jq -r '.wallet_id')"
else
  echo "⚠ Agent verification incomplete or inactive"
fi

Multi-Agent Identity Listing

# List all agent identities with reputation
curl -s -X GET "https://api.sardis.sh/v2/agents/identity?include_reputation=true&limit=10" \
  -H "Authorization: Bearer $SARDIS_API_KEY" | \
  jq -r '.agents[] | "\(.name) [\(.agent_id)]: \(.reputation.overall_score)/5 - \(.status)"'

Response Examples

Agent Registration Response

{
  "agent_id": "agent_abc123xyz",
  "name": "Customer Support Bot",
  "description": "Handles customer inquiries and refunds",
  "public_key": "302a300506032b657003210033e0bb8dcb3b2c760f83a2f0bcf2b1e6e1c6d8f9a0b1c2d3e4f5a6b7c8d9e0f1",
  "key_type": "ed25519",
  "tap_verified": true,
  "wallet_id": "wallet_def456",
  "capabilities": ["payments", "refunds", "support"],
  "metadata": {
    "version": "2.1.0",
    "provider": "Anthropic",
    "model": "claude-opus-4"
  },
  "created_at": "2026-02-21T10:00:00Z",
  "status": "active",
  "identity_card_url": "https://sardis.sh/id/agent_abc123xyz"
}

Agent Identity Response

{
  "agent_id": "agent_abc123xyz",
  "name": "Customer Support Bot",
  "description": "Handles customer inquiries and refunds",
  "public_key": "302a300506032b657003210033e0bb8dcb3b2c760f83a2f0bcf2b1e6e1c6d8f9a0b1c2d3e4f5a6b7c8d9e0f1",
  "key_type": "ed25519",
  "tap_verified": true,
  "tap_attestation": {
    "verified_at": "2026-02-21T10:00:00Z",
    "verifier": "sardis_tap_v1",
    "signature": "a1b2c3d4..."
  },
  "wallet_id": "wallet_def456",
  "capabilities": ["payments", "refunds", "support"],
  "status": "active",
  "created_at": "2026-02-21T10:00:00Z",
  "last_active": "2026-02-21T15:30:00Z",
  "transaction_count": 1247,
  "total_volume_usd": "45230.50"
}

Reputation Response

{
  "agent_id": "agent_abc123xyz",
  "overall_score": 4.8,
  "total_ratings": 523,
  "trust_level": "high",
  "categories": {
    "payment_reliability": {
      "score": 4.9,
      "count": 523,
      "trend": "stable"
    },
    "policy_compliance": {
      "score": 4.7,
      "count": 450,
      "trend": "improving"
    },
    "response_quality": {
      "score": 4.8,
      "count": 312,
      "trend": "stable"
    },
    "security_awareness": {
      "score": 5.0,
      "count": 89,
      "trend": "stable"
    }
  },
  "recent_ratings": [
    {
      "score": 5,
      "category": "payment_reliability",
      "comment": "Fast and accurate refund processing",
      "timestamp": "2026-02-21T14:30:00Z"
    }
  ],
  "badges": ["verified", "trusted_agent", "high_volume"],
  "last_updated": "2026-02-21T15:30:00Z"
}

Agent Card Response

{
  "agent_id": "agent_abc123xyz",
  "card_version": "1.0",
  "display": {
    "name": "Customer Support Bot",
    "avatar_url": "https://sardis.sh/avatars/agent_abc123xyz.png",
    "tagline": "Handles customer inquiries and refunds",
    "verified": true
  },
  "identity": {
    "public_key_fingerprint": "33e0:bb8d:cb3b:2c76",
    "tap_verified": true,
    "wallet_address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
    "created": "2026-02-21"
  },
  "reputation": {
    "overall_score": 4.8,
    "total_ratings": 523,
    "trust_level": "high",
    "badges": ["verified", "trusted_agent"]
  },
  "activity": {
    "transaction_count": 1247,
    "total_volume_usd": "45230.50",
    "success_rate": "99.2%",
    "avg_response_time": "1.2s"
  },
  "capabilities": ["payments", "refunds", "support"],
  "qr_code_url": "https://sardis.sh/id/agent_abc123xyz/qr",
  "share_url": "https://sardis.sh/id/agent_abc123xyz"
}

Error Handling

  • 401 Unauthorized - Invalid or missing API key
  • 400 Bad Request - Invalid public key or TAP verification failed
  • 409 Conflict - Agent with this public key already exists
  • 404 Not Found - Agent identity not found
  • 422 Unprocessable Entity - Invalid reputation score or category

Use Cases

  • Agent Onboarding: Register new AI agents with verified identities
  • Trust Verification: Confirm agent credentials before transactions
  • Reputation Systems: Build trust through performance tracking
  • Agent Marketplaces: Display identity cards in agent directories
  • Compliance: Meet KYC/AML requirements for agent identities

Related Skills

  • sardis-payment - Execute payments from verified agents
  • sardis-policy - Manage spending policies per agent
  • sardis-guardrails - Monitor verified agent behavior

Links

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Find Agent

OceanBus-powered agent and service discovery via Yellow Pages. Use when users want to find someone, look for a service, reach out to an expert, discover anot...

Registry SourceRecently Updated
Automation

Captain Lobster

Zero-player AI trading game powered by OceanBus SDK. Your AI captain autonomously sails, trades, and negotiates P2P contracts across 11 goods × 10 ports — wh...

Registry SourceRecently Updated
Automation

Guess Who's AI?

OceanBus-powered social deduction game — find the AI impostors among humans. Use when hosting or joining a multiplayer "Who's the AI?" party via OceanBus P2P...

Registry SourceRecently Updated
Automation

Persona Switch

切换 agent 的人设(soul.md)。支持三套预设人设与原有人设之间自由切换。 触发词:切换人设、persona-switch、赛博朋友、温柔伴侣、创始人龙虾。

Registry SourceRecently Updated