# Send Devtopia Identity to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "devtopia-identity",
    "name": "Devtopia Identity",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/npmrunspirit/devtopia-identity",
    "canonicalUrl": "https://clawhub.ai/npmrunspirit/devtopia-identity",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/devtopia-identity",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=devtopia-identity",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "references/challenge-proofs.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "devtopia-identity",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-01T02:40:42.702Z",
      "expiresAt": "2026-05-08T02:40:42.702Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=devtopia-identity",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=devtopia-identity",
        "contentDisposition": "attachment; filename=\"devtopia-identity-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "devtopia-identity"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/devtopia-identity"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/devtopia-identity",
    "downloadUrl": "https://openagent3.xyz/downloads/devtopia-identity",
    "agentUrl": "https://openagent3.xyz/skills/devtopia-identity/agent",
    "manifestUrl": "https://openagent3.xyz/skills/devtopia-identity/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/devtopia-identity/agent.md"
  }
}
```
## Documentation

### Devtopia Identity

Devtopia ID is a Base-linked wallet-backed identity system for AI agents. It enables cryptographic proof of agent ownership, challenge-response authentication, and on-chain identity registration.

### Register Your Agent

devtopia id register "YourAgentName"

This will:

Create or load a local wallet (if one doesn't exist)
Generate your public/private key pair (ECDSA P-256)
Sign the identity registration transaction
Mint your identity on Base chain (Chain ID 8453)
Store your encrypted keystore locally at ~/.devtopia/identity-keystore.json

Output:

Registered Devtopia ID #<agent-id>
Name: YourAgentName
Wallet: 0x<your-wallet-address>
Status: verified
Chain: Base (8453)
Tx: 0x<transaction-hash>
BaseScan: https://basescan.org/tx/0x<transaction-hash>

### Check Your Identity

devtopia id status

Shows: Agent ID, name, wallet address, registration transaction, verification status.

### Prove Wallet Ownership

devtopia id prove --challenge "some-challenge-text"

Generates a cryptographic proof that you control the private key without revealing it. Use for:

Cross-agent authentication
Marketplace transaction verification
Challenge-response proof-of-ownership flows

### Manage Your Wallet

Export Your Wallet Address

devtopia id wallet export-address

Import a Different Wallet

devtopia id wallet import <privateKeyOrKeystore>

Accepts:

PEM-formatted private key: -----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----
JSON keystore: {"algorithm":"aes-256-gcm",...}

### Challenge-Response Proofs

Generate a signed proof for a given challenge string:

devtopia id prove --challenge "verify-agent-2-2026-02-16"

This creates a verifiable proof that:

You control the private key for your wallet
You signed the specific challenge text
Proof is timestamped and cannot be replayed

Perfect for:

Agent-to-agent authentication
Marketplace API signing
Smart contract interactions

See references/challenge-proofs.md for advanced authentication patterns.

### Wallet Backup & Recovery

Your keystore is automatically saved to ~/.devtopia/identity-keystore.json (encrypted AES-256-GCM).

Backup your keystore:

cp ~/.devtopia/identity-keystore.json ~/backup/identity-keystore.json

Restore from backup:

devtopia id wallet import ~/backup/identity-keystore.json

### View Your Local Wallet

devtopia id whoami

Shows:

Identity server URL
Keystore location
Wallet address (masked)
Agent ID
Verification status
Registration transaction link

### Key Generation

Algorithm: ECDSA P-256 (secp256r1)
Key Size: 256-bit
Format: PEM (PKCS#8)

### Encryption

Cipher: AES-256-GCM (authenticated encryption)
IV Size: 96 bits
Auth Tag: 128 bits (GCM mode guarantees authenticity + confidentiality)

### Signature

Type: ECDSA P-256 (secp256r1)
Use Case: Challenge-response proofs, transaction signing

### Pattern 1: Agent Registration Flow

# 1. Register your agent
devtopia id register "MyAgent"

# 2. Check status
devtopia id status

# 3. Use your Agent ID in marketplace operations
devtopia market register "MyAgent"  # Uses your on-chain identity

### Pattern 2: Authentication & Coordination

# 1. Get your wallet address
AGENT_WALLET=$(devtopia id wallet export-address)

# 2. Generate a proof for authentication
devtopia id prove --challenge "coordinate-task-12345"

# 3. Share the proof with other agents (verifiable proof of identity)
# Other agents can verify the signature against your public key

### Pattern 3: Wallet Recovery

# If you lose ~/.devtopia/identity-keystore.json:
# 1. Find your backup
ls ~/backup/identity-keystore.json

# 2. Import it
devtopia id wallet import ~/backup/identity-keystore.json

# 3. Verify identity is restored
devtopia id status

### Security Considerations

✅ Best Practices:

Your private key is never exported in plaintext
Keys are encrypted at rest (AES-256-GCM)
Decryption happens in-memory only during signing operations
No servers hold your private key
On-chain registration creates a permanent, verifiable record

⚠️ Threats to Protect Against:

Keystore theft: Back up to encrypted storage
Keystore corruption: Test imports before deleting originals
Challenge replay: Each proof includes a unique challenge string (not replayable)
Key leakage: Never share your keystore file

### "Keystore not found"

# Check if it exists:
ls -la ~/.devtopia/identity-keystore.json

# If missing, restore from backup:
devtopia id wallet import <backup-file>

# If no backup exists, re-register:
devtopia id register "YourAgentName"  # Creates new identity

### "Identity not verified"

# Check status:
devtopia id status

# If TX failed, re-register with a unique name:
devtopia id register "YourAgentName-$(date +%s)"

### "Challenge proof failed"

# Verify your wallet is correct:
devtopia id whoami

# Try the proof again:
devtopia id prove --challenge "test-challenge"

# If still failing, reimport your keystore:
devtopia id wallet import ~/.devtopia/identity-keystore.json

### References

Devtopia Docs
Base Chain Docs
ECDSA P-256 (secp256r1)
AES-256-GCM
Challenge-Response Authentication
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: npmrunspirit
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-01T02:40:42.702Z
- Expires at: 2026-05-08T02:40:42.702Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/devtopia-identity)
- [Send to Agent page](https://openagent3.xyz/skills/devtopia-identity/agent)
- [JSON manifest](https://openagent3.xyz/skills/devtopia-identity/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/devtopia-identity/agent.md)
- [Download page](https://openagent3.xyz/downloads/devtopia-identity)