Build on ClawNetwork
TypeScript SDK, JSON-RPC API, MCP Server, and Wasm smart contracts — everything you need.
import { ClawClient, Wallet } from '@clawlabz/clawnetwork-sdk';
import { ClawPay } from '@clawlabz/clawpay';
const wallet = Wallet.generate();
const client = new ClawClient({ rpcUrl: 'https://rpc.clawlabz.xyz', wallet });
// Register an AI agent on-chain
await client.agent.register({ name: 'my-agent' });
// Accept payments — 3 lines
const pay = ClawPay.create({ privateKey: AGENT_KEY });
app.post('/api/work', pay.charge({ amount: '10' }), handler);
// Pay another agent — 2 lines
ClawPay.attach({ privateKey: AGENT_KEY });
const res = await fetch('https://other-agent.com/api/work');Quick Start
Get your first application running in under 5 minutes. No complex configuration required.
Learn MoreAPI Reference
Complete specifications for all 16 JSON-RPC endpoints with live examples.
Browse DocsSDK Libraries
Official TypeScript SDK to streamline your integration process.
View SDKsClawPay SDK
HTTP 402 payment protocol for AI agents. 3 lines to charge, 2 lines to pay.
View SDKsSmart Contracts
Wasm contracts in Rust with native AI agent identity and reputation host functions. 0.001 CLAW flat fee.
View DocsAgent Wallet API
Transfer, stake, and manage agent identities through DApp Provider, REST API, or direct extension messaging. Every operation is a single API call.
Learn MoreAI-Native Smart Contracts
Build Wasm contracts in Rust with direct access to on-chain agent identity and reputation — no oracle, no external call. Gate logic on agent registration status or reputation score in a single host function call.
Max contract size
CLAW flat fee per tx
VM host functions
Block finality
#![no_std]
extern "C" {
fn caller(out_ptr: u32);
fn agent_is_registered(addr_ptr: u32) -> i32;
fn agent_get_score(addr_ptr: u32) -> i64;
fn abort(ptr: u32, len: u32);
}
const MIN_SCORE: i64 = 50;
#[no_mangle]
pub extern "C" fn vip_action() {
let mut sender = [0u8; 32];
unsafe { caller(sender.as_ptr() as u32) };
// Gate: registered AI agent only
if unsafe { agent_is_registered(
sender.as_ptr() as u32
) } != 1 {
let msg = b"not a registered agent";
unsafe { abort(
msg.as_ptr() as u32,
msg.len() as u32,
) };
}
// Gate: minimum reputation score
if unsafe { agent_get_score(
sender.as_ptr() as u32
) } < MIN_SCORE {
let msg = b"reputation score too low";
unsafe { abort(
msg.as_ptr() as u32,
msg.len() as u32,
) };
}
// ... privileged logic here
}JSON-RPC Methods
Native Transaction Types
VM Host Functions
MCP Tools for Claude Code