{"_id":"@basecred/openclaw-8004","_rev":"5-6af871ab943c8baeff90993226e863fb","name":"@basecred/openclaw-8004","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.0":{"name":"@basecred/openclaw-8004","version":"1.0.0","keywords":["erc-8004","openclaw","agent","identity","base","on-chain","erc-721","reputation","basecred"],"author":{"name":"BaseCred"},"license":"MIT","_id":"@basecred/openclaw-8004@1.0.0","maintainers":[{"name":"geoart","email":"geoart.studio@proton.me"}],"homepage":"https://github.com/Callmedas69/basecred#readme","bugs":{"url":"https://github.com/Callmedas69/basecred/issues"},"dist":{"shasum":"70b1c0e24bb779f2aaae72b55da8b137c791d15f","tarball":"https://registry.npmjs.org/@basecred/openclaw-8004/-/openclaw-8004-1.0.0.tgz","fileCount":3,"integrity":"sha512-GuWMTxOjbgXfiYdPiUIngEswwUbI29XK60DRPuL5dS9fnu9uD/rFdOqW9UOU+5EPrPw1CBH+jAjuS0lzJTttSQ==","signatures":[{"sig":"MEYCIQD9crNPad6Nbklr0Kf4SjPHgwkO0//7PaUyJ8AfqUXv1wIhANFSUIjBl6k/q3+OKYlxc7WY0LB7mlBTyEAhd7FsZIM5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31599},"gitHead":"903edc79e436602a39b234b3b9976b4ee8709b99","_npmUser":{"name":"geoart","email":"geoart.studio@proton.me"},"repository":{"url":"git+https://github.com/Callmedas69/basecred.git","type":"git","directory":"packages/erc8004"},"_npmVersion":"10.8.2","description":"OpenClaw skill for registering and managing AI agent identities on-chain via ERC-8004","directories":{},"_nodeVersion":"24.12.0","dependencies":{"dotenv":"^16.4.7","agent0-sdk":"^1.5.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openclaw-8004_1.0.0_1770829736278_0.3981413829488303","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@basecred/openclaw-8004","version":"1.2.0","keywords":["erc-8004","openclaw","agent","identity","base","on-chain","erc-721","reputation","basecred"],"author":{"name":"BaseCred"},"license":"MIT","_id":"@basecred/openclaw-8004@1.2.0","maintainers":[{"name":"geoart","email":"geoart.studio@proton.me"}],"homepage":"https://github.com/Callmedas69/basecred#readme","bugs":{"url":"https://github.com/Callmedas69/basecred/issues"},"dist":{"shasum":"ecc483bee9dee697a0deff6bdabecf6f0292bcd1","tarball":"https://registry.npmjs.org/@basecred/openclaw-8004/-/openclaw-8004-1.2.0.tgz","fileCount":3,"integrity":"sha512-r2NcqtXEitkupfGNiRCwyf05vIDZJxNdKlwz19qlH+bU4WyiHPq46S1nQky22z8OPeMJasoP/myzntEY8HkY2w==","signatures":[{"sig":"MEUCIB0MUg0aok+Mst56Xouej69ve3cQHG+ydjvJ181s2hkQAiEA6835vXVopF0c5qo1j6wvnFNkCCD2qjg2iGiT6nwibrg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42970},"gitHead":"08c504388cc7f7fa5fcffcb9ea9dd915e0110d8f","_npmUser":{"name":"geoart","email":"geoart.studio@proton.me"},"repository":{"url":"git+https://github.com/Callmedas69/basecred.git","type":"git","directory":"packages/erc8004"},"_npmVersion":"10.8.2","description":"OpenClaw skill for registering and managing AI agent identities on-chain via ERC-8004","directories":{},"_nodeVersion":"24.12.0","dependencies":{"dotenv":"^16.4.7","agent0-sdk":"^1.5.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openclaw-8004_1.2.0_1770868179532_0.25136604123154416","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@basecred/openclaw-8004","version":"1.3.0","keywords":["erc-8004","openclaw","agent","identity","base","on-chain","erc-721","reputation","basecred"],"author":{"name":"BaseCred"},"license":"MIT","_id":"@basecred/openclaw-8004@1.3.0","maintainers":[{"name":"geoart","email":"geoart.studio@proton.me"}],"homepage":"https://github.com/Callmedas69/basecred#readme","bugs":{"url":"https://github.com/Callmedas69/basecred/issues"},"dist":{"shasum":"428e798e8a28fd0411cdead94763f2423b45ef52","tarball":"https://registry.npmjs.org/@basecred/openclaw-8004/-/openclaw-8004-1.3.0.tgz","fileCount":3,"integrity":"sha512-2JjsI9fag5gTVx2qgS6O8uKsxesd20dXRc6mj98HEw77psbV41qLhYOBwyw1F6BxpI/NywTtSEE+TqCPRTb/tA==","signatures":[{"sig":"MEUCIBFqcfFZtCor97PqXGjoizDayXOJOtNmMBTYGN5CZdOxAiEAjBsYKOkREnajyz5mV9ngfIGkkvT+GYPAXynsd2IIa1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48836},"gitHead":"08c504388cc7f7fa5fcffcb9ea9dd915e0110d8f","_npmUser":{"name":"geoart","email":"geoart.studio@proton.me"},"repository":{"url":"git+https://github.com/Callmedas69/basecred.git","type":"git","directory":"packages/erc8004"},"_npmVersion":"10.8.2","description":"OpenClaw skill for registering and managing AI agent identities on-chain via ERC-8004","directories":{},"_nodeVersion":"24.12.0","dependencies":{"dotenv":"^16.4.7","agent0-sdk":"^1.5.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openclaw-8004_1.3.0_1770877460953_0.7193216748438862","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@basecred/openclaw-8004","version":"2.0.0","keywords":["erc-8004","openclaw","agent","identity","base","on-chain","erc-721","reputation","basecred"],"author":{"name":"BaseCred"},"license":"MIT","_id":"@basecred/openclaw-8004@2.0.0","maintainers":[{"name":"geoart","email":"geoart.studio@proton.me"}],"homepage":"https://github.com/Callmedas69/basecred#readme","bugs":{"url":"https://github.com/Callmedas69/basecred/issues"},"dist":{"shasum":"40db714cb923bf86eecc710a700f3ba06ed8140e","tarball":"https://registry.npmjs.org/@basecred/openclaw-8004/-/openclaw-8004-2.0.0.tgz","fileCount":3,"integrity":"sha512-eH4+x6qpCNBp13KHJQXaZ2AAYAo0rzX+NmAtGLBme9EHI8H2dZtrnVhfQN6+Ab7yCMZGPVgr5oZO4YN/H1oy8g==","signatures":[{"sig":"MEUCIB3BwLPnqlFbrloC/M0ulQaK38zOuYpOFMAFgRw9dns+AiEArAy9KZXrMjzyziAeCvC5/OTf51A1iDNmlwTdXCRLLdQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34313},"gitHead":"08c504388cc7f7fa5fcffcb9ea9dd915e0110d8f","_npmUser":{"name":"geoart","email":"geoart.studio@proton.me"},"repository":{"url":"git+https://github.com/Callmedas69/basecred.git","type":"git","directory":"packages/erc8004"},"_npmVersion":"10.8.2","description":"OpenClaw skill for registering and managing AI agent identities on-chain via ERC-8004","directories":{},"_nodeVersion":"24.12.0","dependencies":{"dotenv":"^16.4.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openclaw-8004_2.0.0_1770887778112_0.9651859793670443","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@basecred/openclaw-8004","version":"2.0.1","description":"OpenClaw skill for registering and managing AI agent identities on-chain via ERC-8004","license":"MIT","keywords":["erc-8004","openclaw","agent","identity","base","on-chain","erc-721","reputation","basecred"],"author":{"name":"BaseCred"},"repository":{"type":"git","url":"git+https://github.com/Callmedas69/basecred.git","directory":"packages/erc8004"},"dependencies":{"dotenv":"^16.4.7"},"publishConfig":{"access":"public"},"_id":"@basecred/openclaw-8004@2.0.1","gitHead":"63d1b6d35352c9873b447674cc09c7526e3cd7b9","bugs":{"url":"https://github.com/Callmedas69/basecred/issues"},"homepage":"https://github.com/Callmedas69/basecred#readme","_nodeVersion":"24.12.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-K1W2Uz1YtxMkAG8IDiy7P6bqgqHyLh0G7YGC5AfHvfK7PPptKCH3l/8/Ip/YNAvRoiQLh0rMa5ZayLJHwEWwkw==","shasum":"c0908811695f72455efa7fb6d11aee6f9fbe1a80","tarball":"https://registry.npmjs.org/@basecred/openclaw-8004/-/openclaw-8004-2.0.1.tgz","fileCount":3,"unpackedSize":36590,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD8xMI6IU10moel3yFAiTo4EmtZ/XTgRKUfMlP1++EY7gIhAMYlL5DErPs1PZObT84PmSKH+X5zbAsxP3jiopBSUt4O"}]},"_npmUser":{"name":"geoart","email":"geoart.studio@proton.me"},"directories":{},"maintainers":[{"name":"geoart","email":"geoart.studio@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openclaw-8004_2.0.1_1770914024155_0.30746636628574153"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-11T17:08:56.183Z","modified":"2026-02-12T16:33:44.451Z","1.0.0":"2026-02-11T17:08:56.422Z","1.2.0":"2026-02-12T03:49:39.697Z","1.3.0":"2026-02-12T06:24:21.094Z","2.0.0":"2026-02-12T09:16:18.254Z","2.0.1":"2026-02-12T16:33:44.304Z"},"bugs":{"url":"https://github.com/Callmedas69/basecred/issues"},"author":{"name":"BaseCred"},"license":"MIT","homepage":"https://github.com/Callmedas69/basecred#readme","keywords":["erc-8004","openclaw","agent","identity","base","on-chain","erc-721","reputation","basecred"],"repository":{"type":"git","url":"git+https://github.com/Callmedas69/basecred.git","directory":"packages/erc8004"},"description":"OpenClaw skill for registering and managing AI agent identities on-chain via ERC-8004","maintainers":[{"name":"geoart","email":"geoart.studio@proton.me"}],"readme":"# OpenClaw ERC-8004 Agent Registration\n\nAn OpenClaw skill that teaches AI agents to register and manage **fully on-chain** identities on Base mainnet via [ERC-8004](https://eips.ethereum.org/EIPS/eip-8004) using **viem + ABI** direct contract calls.\n\n> **Scope: Fully on-chain agent identity + registration file schema.** All identity operations are on-chain transactions against the IdentityRegistry and ReputationRegistry contracts (ERC-721 on Base). This skill covers agent identity minting, updates, search, feedback, reputation, transfers, on-chain contract functions, and the EIP-8004 registration file schema. IPFS-based metadata URIs and subgraph queries are not covered — see [References in SKILL.md](./SKILL.md#references).\n\n## Install\n\n```bash\nnpm install @basecred/openclaw-8004\n```\n\nOr copy `SKILL.md` directly into your agent's skill directory.\n\n## Prerequisites\n\n- **Node.js** >= 22\n- **viem** `^2.0.0` (direct contract calls via ABI)\n- A private key with ETH on **Base mainnet** (for gas)\n- A Base RPC URL (default: `https://mainnet.base.org`)\n\n## What This Skill Does\n\n| Operation | Contract | Gas |\n|-----------|----------|-----|\n| **Register** — mint an on-chain agent identity (ERC-721 NFT) | `IdentityRegistry.register()` | Yes |\n| **Update** — modify name, description, services, skills, metadata | `IdentityRegistry.setAgentURI()` | Yes |\n| **Search** — query reputation summaries and feedback history | `ReputationRegistry.getSummary()` | No (view) |\n| **Feedback** — submit on-chain reputation scores for other agents | `ReputationRegistry.giveFeedback()` | Yes |\n| **Transfer** — move agent ownership to a new wallet | `IdentityRegistry.transferFrom()` | Yes |\n\n## Architecture: viem + ABI (No SDK)\n\nThis skill uses **direct contract calls** via viem and contract ABIs. No agent0-sdk dependency. You control the full transaction flow:\n\n```typescript\nimport { createPublicClient, createWalletClient, http } from 'viem';\nimport { base } from 'viem/chains';\nimport { privateKeyToAccount } from 'viem/accounts';\n\nconst account = privateKeyToAccount(process.env.WALLET_PRIVATE_KEY as `0x${string}`);\nconst publicClient = createPublicClient({ \n  chain: base, \n  transport: http(process.env.BASE_RPC_URL || 'https://mainnet.base.org') \n});\nconst walletClient = createWalletClient({ \n  account, \n  chain: base, \n  transport: http(process.env.BASE_RPC_URL || 'https://mainnet.base.org') \n});\n\nconst IDENTITY_REGISTRY = '0x8004A169FB4a3325136EB29fA0ceB6D2e539a432';\nconst REPUTATION_REGISTRY = '0x8004BAa17C55a88189AE136b182e5fdA19dE9b63';\n```\n\nFull ABI definitions and transaction examples in [SKILL.md](./SKILL.md).\n\n## Files\n\n| File | Description |\n|---|---|\n| **SKILL.md** | Full agent instructions — all 5 flows with step-by-step guides |\n| **README.md** | Quick-start guide (this file) |\n| **IDENTITY.md** | Agent profile card (created after registration) |\n\n## Environment Variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `WALLET_PRIVATE_KEY` | Yes | Private key for signing transactions |\n| `BASE_RPC_URL` | No | Base RPC endpoint (default: `https://mainnet.base.org`) |\n| `AGENT0_AGENT_ID` | Auto | Set after registration (e.g. `8453:42`) |\n\nStore these in a `.env` file in the project root. Never commit `.env` to version control.\n\n## Contracts (Base Mainnet)\n\n| Contract | Address | Source |\n|----------|---------|--------|\n| Identity Registry | `0x8004A169FB4a3325136EB29fA0ceB6D2e539a432` | [erc-8004-contracts](https://github.com/erc-8004/erc-8004-contracts) |\n| Reputation Registry | `0x8004BAa17C55a88189AE136b182e5fdA19dE9b63` | [erc-8004-contracts](https://github.com/erc-8004/erc-8004-contracts) |\n\n## How It Works\n\n1. **First run** — the agent asks the owner for credentials and saves them to `.env`\n2. **Registration** — gathers profile info, previews draft, mints ERC-721 identity on-chain after owner approval\n3. **IDENTITY.md** — after registration, offers to save a local profile card\n4. **Subsequent runs** — presents action menu (update, search, feedback, transfer, view profile) and waits for the owner's choice\n5. **Every transaction** — previews a draft and waits for explicit owner approval before signing\n\n## Multi-Agent Support\n\n**Detection:** Config-first approach. Agent IDs listed in `TOOLS.md` under \"Owned Agents:\", primary ID in `.env` as `AGENT0_AGENT_ID`. No RPC enumeration or subgraph queries.\n\n**Why this matters:** If you manage multiple agent identities, track them in your config files rather than querying the chain each time.\n\n## Safety Features\n\n- **Preview-first:** Every transaction shows a draft and waits for explicit owner approval\n- **No blind execution:** Agent never signs without confirmation\n- **Event parsing:** Confirms minting/updates via on-chain events\n- **Burn protection:** Burning requires 2 steps (set `active: false` → transfer to `0xdEaD`)\n\n## SKILL.md Contents\n\nSee [SKILL.md](./SKILL.md) for complete agent instructions:\n\n| Section | Description |\n|---------|-------------|\n| Quick Reference | viem setup and contract mappings at a glance |\n| On-Chain Contract Functions | IdentityRegistry and ReputationRegistry ABI reference |\n| Registration File Schema | EIP-8004 JSON format, field reference, service types |\n| Register Agent | 8-step flow: pre-fill → gather → configure → preview → mint → save |\n| Update Agent | 6-step flow: load → modify → preview → submit → confirm |\n| Search Feedback | 3-step flow: get ID → query → deliver results (no gas) |\n| Give Feedback | 4-step flow: gather → preview → submit → confirm |\n| Transfer Ownership | 5-step flow: verify → preview → execute → verify → confirm |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}