# Send Clawchain to your agent
Use the source page and any available docs to guide the install because the item currently does not return a direct package file.
## Fast path
- Open the source page via Open source listing.
- If you can obtain the package, extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the source page and extracted files.
## Suggested prompts
### New install

```text
I tried to install a skill package from Yavira, but the item currently does not return a direct package file. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required.
```
### Upgrade existing

```text
I tried to upgrade a skill package from Yavira, but the item currently does not return a direct package file. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "clawchain",
    "name": "Clawchain",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/bowen31337/clawchain",
    "canonicalUrl": "https://clawhub.ai/bowen31337/clawchain",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/clawchain",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=clawchain",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "clawchain-rpc-client/Cargo.toml",
      "clawchain-rpc-client/README.md",
      "clawchain-rpc-client/SKILL.md",
      "clawchain-rpc-client/src/client.rs",
      "clawchain-rpc-client/src/error.rs"
    ],
    "downloadMode": "manual_only",
    "sourceHealth": {
      "source": "tencent",
      "slug": "clawchain",
      "status": "source_issue",
      "reason": "not_found",
      "recommendedAction": "review_source",
      "checkedAt": "2026-05-01T16:01:47.903Z",
      "expiresAt": "2026-05-02T16:01:47.903Z",
      "httpStatus": 404,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=clawchain",
      "contentType": "text/plain",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=clawchain",
        "contentDisposition": null,
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "clawchain"
      },
      "scope": "item",
      "summary": "Known item issue.",
      "detail": "This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.",
      "primaryActionLabel": "Open source listing",
      "primaryActionHref": "https://clawhub.ai/bowen31337/clawchain"
    },
    "validation": {
      "installChecklist": [
        "Open the source listing and confirm there is a real package or setup artifact available.",
        "Review SKILL.md before asking your agent to continue.",
        "Treat this source as manual setup until the upstream download flow is fixed."
      ],
      "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/clawchain",
    "downloadUrl": "https://openagent3.xyz/downloads/clawchain",
    "agentUrl": "https://openagent3.xyz/skills/clawchain/agent",
    "manifestUrl": "https://openagent3.xyz/skills/clawchain/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/clawchain/agent.md"
  }
}
```
## Documentation

### ClawChain RPC Client

Connect EvoClaw agents to the ClawChain blockchain for on-chain reputation tracking, token economics, and governance participation.

### Quick Start

use clawchain::ClawChainClient;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    // Connect to local node
    let client = ClawChainClient::new("ws://127.0.0.1:9944").await?;
    
    // Query agent reputation
    let did = "did:claw:1a2b3c4d...";
    let reputation = client.get_agent_reputation(did).await?;
    println!("Reputation score: {}", reputation);
    
    // Check token balance
    let balance = client.get_token_balance(did).await?;
    println!("CLAW tokens: {}", balance);
    
    Ok(())
}

### Prerequisites

ClawChain node running:
clawchain-node --dev --rpc-external --ws-external



Rust dependencies in Cargo.toml:
[dependencies]
clawchain = { path = "/path/to/clawchain-skill" }

### Architecture

┌─────────────────────────────────────────────────┐
│              EvoClaw Edge Agent                │
├─────────────────────────────────────────────────┤
│  ┌────────────────────────────────────────┐   │
│  │  ClawChain Skill (this skill)         │   │
│  │  └─ Substrate RPC client              │   │
│  └────────────────────────────────────────┘   │
└─────────────────────────────────────────────────┘
          ↓ WebSocket
┌─────────────────────────────────────────────────┐
│         ClawChain Node (Substrate)             │
│  ┌───────────────────────────────────────────┐  │
│  │ AgentRegistry Pallet                      │  │
│  │ ClawToken Pallet                           │  │
│  │ Governance Pallet                           │  │
│  └───────────────────────────────────────────┘  │
└─────────────────────────────────────────────────┘

### Agent DIDs

Agent identifiers follow the format:

did:claw:<hash>

Where <hash> is SHA-256(agent metadata + owner address).

### Reputation Scores

Reputation is computed from:

score = (commits * 1000) + (pull_requests * 5000) + (docs * 2000)

### Token Economics

Total Supply: 1 billion $CLAW
Distribution: 40% airdrop, 30% validators, 20% treasury, 10% team
Inflation: 5% annual (floor 2%) for gas subsidies

### Connection

let client = ClawChainClient::new("ws://localhost:9944").await?;

Parameters:

url: WebSocket URL (ws:// or wss://)
Returns: Connected client

### Query Agent

let agent = client.get_agent("did:claw:...").await?;

Returns: AgentInfo struct with:

did: Agent DID
owner: Owner address
metadata: IPFS hash
reputation: Reputation score
verifications: Number of attestations

### Get Token Balance

let balance = client.get_token_balance("did:claw:...").await?;

Returns: Token balance (u128)

### Register Agent

let did = client.register_agent(metadata_ipfs_hash).await?;

Returns: Newly created DID

### Vote on Proposal

client.vote(proposal_id, true).await?;

Parameters:

proposal_id: Proposal identifier
approve: true (approve) or false (reject)

### Submit Transaction

let tx_hash = client.submit_extrinsic(call_data).await?;

Parameters:

call_data: Encoded extrinsic
Returns: Transaction hash

### Error Handling

use clawchain::ClawChainError;

match client.get_agent(did).await {
    Ok(agent) => println!("Agent: {:?}", agent),
    Err(ClawChainError::NotFound) => println!("Agent not found"),
    Err(e) => eprintln!("Error: {:?}", e),
}

### Example: Full Agent Integration

use clawchain::ClawChainClient;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let client = ClawChainClient::new("ws://127.0.0.1:9944").await?;
    
    // 1. Register this agent
    let metadata = b"{\\"name\\":\\"pi1-edge\\",\\"type\\":\\"edge\\"}";
    let did = client.register_agent(metadata).await?;
    println!("Registered: {}", did);
    
    // 2. Check reputation
    let rep = client.get_agent_reputation(&did).await?;
    println!("Reputation: {}", rep);
    
    // 3. Vote on governance proposal
    if rep > 1000 {
        client.vote(123, true).await?;
        println!("Voted on proposal #123");
    }
    
    Ok(())
}

### Monitoring

Subscribe to chain events:

client.subscribe_events(|event| {
    match event {
        ChainEvent::Block(block) => println!("New block: {}", block.number),
        ChainEvent::AgentRegistered(did) => println!("Agent: {}", did),
        ChainEvent::ProposalPassed(id) => println!("Proposal {} passed", id),
    }
}).await?;

### Testing

Mock RPC server for testing:

let mock = MockServer::new().await?;
let client = mock.client().await?;

### Security Notes

Never expose private keys in agent code
Use programmatic signing for autonomous agents
Validate all RPC responses
Implement rate limiting for public RPC endpoints

### References

ClawChain Architecture
Substrate RPC Docs
Agent Registry Pallet
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: bowen31337
- Version: 1.0.1
## Source health
- Status: source_issue
- Known item issue.
- This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.
- Health scope: item
- Reason: not_found
- Checked at: 2026-05-01T16:01:47.903Z
- Expires at: 2026-05-02T16:01:47.903Z
- Recommended action: Open source listing
## Links
- [Detail page](https://openagent3.xyz/skills/clawchain)
- [Send to Agent page](https://openagent3.xyz/skills/clawchain/agent)
- [JSON manifest](https://openagent3.xyz/skills/clawchain/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/clawchain/agent.md)
- [Download page](https://openagent3.xyz/downloads/clawchain)