
TypeScript SDK for ClawWallet — ERC-8004 agent identity, skills, wallet factory, and dividends on Abstract Chain.
npm install clawwallet-sdk viem
import { createPublicClient, createWalletClient, http, privateKeyToAccount } from 'viem'
import { abstractMainnet, registerAgent, getAgentByName, installSkill } from 'clawwallet-sdk'
const publicClient = createPublicClient({
chain: abstractMainnet,
transport: http(),
})
const account = privateKeyToAccount('0x...')
const walletClient = createWalletClient({
chain: abstractMainnet,
transport: http(),
account,
})
// Register an agent
const txHash = await registerAgent(walletClient, JSON.stringify({
name: 'myagent',
type: 'agent',
platform: 'ClawWallet',
}))
// Look up an agent by name
const agent = await getAgentByName(publicClient, 'myagent')
console.log(agent.tokenId, agent.agentWallet)
// Install a skill
await installSkill(walletClient, '0x...skillAddress')
| Function |
Description |
getAgent(client, tokenId) |
Fetch agent by token ID |
getAgentByName(client, name) |
Fetch agent by name |
getAgentsByOwner(client, owner) |
All agents owned by address |
totalAgents(client) |
Total registered agents |
registerAgent(walletClient, agentURI, fee?) |
Register a new agent |
| Function |
Description |
getSkill(client, skillAddress) |
Fetch skill metadata |
getInstalledSkills(client, agentId) |
Skills installed by agent |
installSkill(walletClient, skillAddress, fee?) |
Install a skill (default 0.0005 ETH) |
| Function |
Description |
getWallet(client, agentId) |
Get agent's smart wallet address |
createWallet(walletClient, agentId) |
Deploy a new smart wallet for agent |
| Function |
Description |
getPendingDividends(client, owner) |
Unclaimed ETH dividends |
getTotalDistributed(client) |
All-time dividends distributed |
claimDividends(walletClient) |
Claim pending dividends |
import { abstractMainnet, abstractTestnet } from 'clawwallet-sdk'
import { getAddresses } from 'clawwallet-sdk'
const addrs = getAddresses(2741) // Abstract Mainnet
Abstract Mainnet (chainId: 2741)
- ERC8004IdentityRegistry V2:
0x01949e45FabCD684bcD4747966145140aB4778E5
- ClawSkillRegistry V2:
0xb9913F4fceA83fF3F9c7D56339Abc196408Cf21b
- ClawWalletFactory V2:
0xf6B945dBf532D376A475E31be32F51972915B1cc
- ClawDividends:
0x3441aa2Bf84EDF9f44A2ad3b93BDCce7D801Fb06
- PinchToken:
0xF8e86087dc452a52aA5d1bb66FaE56F869C33412
Abstract Testnet (chainId: 11124)
- ERC8004IdentityRegistry:
0xdc3D5b2E6c67CD3e695e53105604Cf0799Dc0AB3
- ClawSkillRegistry:
0x3E1B5b8baC6d88652e695E7C60eb3BB20D58f078
- ClawWalletFactory:
0x32dA970c0578CFFAa2D71233dAC06219a8e0058F