# Send Chitin Cert 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": "chitin-cert",
    "name": "Chitin Cert",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/EijiAC24/chitin-cert",
    "canonicalUrl": "https://clawhub.ai/EijiAC24/chitin-cert",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/chitin-cert",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=chitin-cert",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "llms.txt",
      "skill.json",
      "skill.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "chitin-cert",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T08:01:20.215Z",
      "expiresAt": "2026-05-07T08:01:20.215Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=chitin-cert",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=chitin-cert",
        "contentDisposition": "attachment; filename=\"chitin-cert-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "chitin-cert"
      },
      "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/chitin-cert"
    },
    "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/chitin-cert",
    "downloadUrl": "https://openagent3.xyz/downloads/chitin-cert",
    "agentUrl": "https://openagent3.xyz/skills/chitin-cert/agent",
    "manifestUrl": "https://openagent3.xyz/skills/chitin-cert/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/chitin-cert/agent.md"
  }
}
```
## Documentation

### Chitin Cert — Verifiable On-Chain Certificates

Issue verifiable credentials to any agent or wallet on Base L2. Each certificate is minted as a non-transferable NFT, permanently stored on Arweave, and verifiable by anyone.

Skill file: https://certs.chitin.id/skill.md

### Why Chitin Cert

Permanent — Arweave storage + Base L2 NFT. Cannot be faked, deleted, or transferred.
Verifiable — Anyone can verify a cert via API or on-chain, no trust required.
7 cert types — Achievements, capabilities, compliance, audits, partnerships, and more.
Batchable — Up to 100 certs in a single transaction.
Soul-linked — Optionally bind a cert to a Chitin SBT for deeper identity anchoring.

### Base URL

https://certs.chitin.id/api/v1

🔒 Security: Never send your wallet private key to any domain. API key (ck_...) is for cert issuance only — treat it as sensitive.

### Cert Types

TypeUse ForachievementMilestones, wins, accomplishmentscapabilityVerified skills and abilitiescomplianceSecurity audits, regulatory approvalsinfrastructureDeployment verifications, uptime recordspartnershipCollaborations, endorsements between partiesauditThird-party reviews, code auditscustomAnything else

### Setup: Become an Issuer

Two steps before you can issue certs. Both require a wallet signature to prove ownership.

### Step 1: Register as Issuer

Build a signed message in the format Chitin Certs: Register issuer {address_lowercase} at {timestamp_ms} (timestamp = Date.now() in milliseconds, must be within ±5 minutes).

curl -X POST https://certs.chitin.id/api/v1/issuers \\
  -H "Content-Type: application/json" \\
  -d '{
    "address": "0xYOUR_WALLET",
    "name": "Your Organization",
    "description": "Optional: what you certify",
    "url": "https://your-site.example.com",
    "signature": "0x...",
    "message": "Chitin Certs: Register issuer 0xyour_wallet at 1740000000000",
    "timestamp": 1740000000000
  }'

Response:

{
  "success": true,
  "data": {
    "id": "iss_1740000000_abc123",
    "address": "0xyour_wallet",
    "name": "Your Organization",
    "trustTier": "unverified",
    "certCount": 0,
    "createdAt": "2026-02-20T00:00:00Z"
  }
}

Save your issuer id — needed for API key generation.

### Step 2: Generate API Key

Build a signed message: Chitin Certs: Generate API key for {issuerId} at {timestamp_ms}

curl -X POST https://certs.chitin.id/api/v1/auth \\
  -H "Content-Type: application/json" \\
  -d '{
    "issuerId": "iss_1740000000_abc123",
    "name": "production-key",
    "signature": "0x...",
    "message": "Chitin Certs: Generate API key for iss_1740000000_abc123 at 1740000000000",
    "timestamp": 1740000000000
  }'

Response:

{
  "success": true,
  "data": {
    "apiKey": "ck_abc123...",
    "name": "production-key",
    "createdAt": "2026-02-20T00:00:00Z"
  }
}

Save your apiKey — returned only once.

### Issue a Certificate

curl -X POST https://certs.chitin.id/api/v1/certs \\
  -H "Authorization: Bearer ck_abc123..." \\
  -H "Content-Type: application/json" \\
  -d '{
    "issuerAddress": "0xYOUR_WALLET",
    "recipientAddress": "0xRECIPIENT",
    "certType": "achievement",
    "title": "First Deployment on Base",
    "description": "Successfully deployed and operated a live service on Base L2.",
    "tags": ["base", "deployment", "milestone"],
    "evidence": "https://basescan.org/tx/0x..."
  }'

Response:

{
  "success": true,
  "data": {
    "tokenId": 2,
    "txHash": "0x...",
    "arweaveTxId": "abc123...",
    "certType": "achievement",
    "recipient": "0xrecipient",
    "isTBA": false
  }
}

### Field Reference

FieldRequiredDescriptionissuerAddress✅Your registered issuer wallet addressrecipientAddress✅Recipient's wallet addresscertType✅One of the 7 cert typestitle✅Cert title (max 200 chars)descriptionOptionalLonger explanationtagsOptionalString array for categorizationevidenceOptionalURL to proof/supporting materialexpiresAtOptionalISO 8601 expiry (e.g. "2027-01-01T00:00:00Z")passportRegistryOptionalERC-8004 registry address for passport-linked certspassportTokenIdOptionalRecipient's ERC-8004 token IDsoulRegistryOptionalChitinSoulRegistry address for soul-linked certssoulTokenIdOptionalRecipient's Chitin SBT token IDextensionOptionalArbitrary JSON object for custom metadata

### Soul-linked Cert

Link directly to a Chitin soul for the strongest identity binding:

{
  "issuerAddress": "0xYOUR_WALLET",
  "recipientAddress": "0xRECIPIENT",
  "certType": "capability",
  "title": "Verified Autonomous Agent",
  "soulRegistry": "0x4DB94aD31BC202831A49Fd9a2Fa354583002F894",
  "soulTokenId": 42
}

### Batch Issue (Up to 100 Certs)

curl -X POST https://certs.chitin.id/api/v1/certs/batch \\
  -H "Authorization: Bearer ck_abc123..." \\
  -H "Content-Type: application/json" \\
  -d '{
    "issuerAddress": "0xYOUR_WALLET",
    "certs": [
      {
        "recipientAddress": "0xADDR_1",
        "certType": "achievement",
        "title": "Hackathon Winner"
      },
      {
        "recipientAddress": "0xADDR_2",
        "certType": "capability",
        "title": "Verified Code Auditor",
        "description": "Passed the Chitin code audit track"
      }
    ]
  }'

Response:

{
  "success": true,
  "data": {
    "tokenIds": [3, 4],
    "txHash": "0x...",
    "count": 2
  }
}

### Get cert details

curl https://certs.chitin.id/api/v1/certs/2

### Verify on-chain status

curl https://certs.chitin.id/api/v1/verify/2

Response:

{
  "tokenId": 2,
  "isValid": true,
  "isRevoked": false,
  "issuer": "0x...",
  "recipient": "0x...",
  "certType": "achievement",
  "issuedAt": 1740000000
}

### List certs by recipient

curl "https://certs.chitin.id/api/v1/certs?passport=0xRECIPIENT"

### List certs by issuer

curl "https://certs.chitin.id/api/v1/certs?issuer=0xYOUR_WALLET"

### List by ERC-8004 passport

curl "https://certs.chitin.id/api/v1/certs?passportRegistry=0x8004A169FB4a3325136EB29fA0ceB6D2e539a432&passportTokenId=42"

### Webhooks

Get notified when certs are minted under your issuer:

curl -X POST https://certs.chitin.id/api/v1/webhooks \\
  -H "Authorization: Bearer ck_abc123..." \\
  -H "Content-Type: application/json" \\
  -d '{
    "url": "https://your-server.example.com/webhook",
    "events": ["cert.minted"]
  }'

Payload:

{
  "event": "cert.minted",
  "tokenId": 2,
  "txHash": "0x...",
  "arweaveTxId": "...",
  "certType": "achievement",
  "issuer": "0x...",
  "recipient": "0x..."
}

### MCP Server

For AI assistants that support MCP, use issue_cert and verify_cert tools directly:

npx -y chitin-mcp-server

### Endpoints Reference

EndpointMethodAuthDescription/issuersPOSTWallet sigRegister as issuer/issuers?address=0x...GETNoneLook up issuer/authPOSTWallet sigGenerate API key/certsPOSTAPI keyIssue a cert/certs/batchPOSTAPI keyBatch issue (max 100)/certs/{certId}GETNoneGet cert details/certs?passport=0x...GETNoneList by recipient/certs?issuer=0x...GETNoneList by issuer/verify/{certId}GETNoneVerify on-chain/metadata/{tokenId}GETNoneERC-721 metadata/metadata/{tokenId}/image.svgGETNoneCert SVG image/webhooksPOSTAPI keyRegister webhook

### Contracts (Base Mainnet, Chain ID: 8453)

ContractAddressCertRegistry (Proxy)0x9694Fde4dBb44AbCfDA693b645845909c6032D4dCertRegistry (Impl V4)0xDc487e6ef33220177c3EBAFC71B5aF2FDb2ce0DFChitinSoulRegistry0x4DB94aD31BC202831A49Fd9a2Fa354583002F894

### About Chitin Cert

Chitin Cert is the credential layer of the Chitin Protocol. Your Chitin soul is your identity. Your certs are your verified history.

Certificates: certs.chitin.id
Identity: chitin.id
MCP Server: chitin.id/docs/mcp
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: EijiAC24
- Version: 1.0.1
## 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-04-30T08:01:20.215Z
- Expires at: 2026-05-07T08:01:20.215Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/chitin-cert)
- [Send to Agent page](https://openagent3.xyz/skills/chitin-cert/agent)
- [JSON manifest](https://openagent3.xyz/skills/chitin-cert/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/chitin-cert/agent.md)
- [Download page](https://openagent3.xyz/downloads/chitin-cert)