3.3k★by dbhurley
blockchain_attestation – OpenClaw Skill
blockchain_attestation is an OpenClaw Skills integration for coding workflows. Create verifiable attestations of agent work using Ethereum Attestation Service (EAS), with Base as the default chain.
Skill Snapshot
| name | blockchain_attestation |
| description | Create verifiable attestations of agent work using Ethereum Attestation Service (EAS), with Base as the default chain. OpenClaw Skills integration. |
| owner | dbhurley |
| repository | dbhurley/blockchain-attestation |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @dbhurley/blockchain-attestation |
| last updated | Feb 7, 2026 |
Maintainer

name: blockchain_attestation description: Create verifiable attestations of agent work using Ethereum Attestation Service (EAS), with Base as the default chain. metadata: {"clawdbot":{"emoji":"⛓️","homepage":"https://attest.org","requires":{"bins":["node"]},"primaryEnv":"EAS_PRIVATE_KEY"}}
Blockchain Attestation (EAS)
This skill creates onchain or offchain attestations of completed work using the Ethereum Attestation Service (EAS).
Opinionated defaults:
- Default chain: Base mainnet
- Default mode: offchain (zero gas, still verifiable)
- Default data model: store hashes of the task and the deliverable (plus a small agent id and metadata string)
Safety and privacy rules
- Never put secrets, private keys, tokens, or private user data into onchain attestations.
- Prefer offchain attestations for most use cases.
- If you need a public timestamp anchor for an offchain attestation, use the timestamp command which anchors the UID onchain without publishing the full payload.
- Only run onchain transactions after the user explicitly requests it or has approved costs.
Environment variables
Required for signing (offchain or onchain):
EAS_PRIVATE_KEY
Required for onchain transactions and onchain reads:
EAS_RPC_URL(an RPC endpoint for the selected chain)
Optional:
EAS_CHAIN(baseorbase_sepolia, default isbase)CLAWDBOT_AGENT_ID(overrides theagentIdfield)
One time setup
Install Node dependencies once:
cd {baseDir} && npm install
One time per chain: register the schema
This skill uses a single schema:
bytes32 taskHash, bytes32 outputHash, string agentId, string metadata
Register it (onchain transaction) and persist the resulting schema UID into schemas.json:
cd {baseDir} && node attest.mjs schema register --chain base
For Base Sepolia:
cd {baseDir} && node attest.mjs schema register --chain base_sepolia
Create an attestation (recommended: offchain)
Best default workflow:
- Provide the task description text
- Provide the deliverable file path (or deliverable text)
- Create an offchain attestation
- Save the signed payload to a file
- Return UID plus the explorer link to the user
Example:
cd {baseDir} && node attest.mjs attest \
--mode offchain \
--chain base \
--task-text "Summarize Q4 board deck into 1 page memo" \
--output-file ./deliverables/memo.pdf \
--recipient 0x0000000000000000000000000000000000000000 \
--metadata '{"hashAlg":"sha256","artifact":"memo.pdf"}' \
--save ./attestations/latest.offchain.json
Timestamp an offchain UID onchain (optional anchor)
cd {baseDir} && node attest.mjs timestamp --chain base --uid <uid>
Create an onchain attestation (costs gas)
cd {baseDir} && node attest.mjs attest \
--mode onchain \
--chain base \
--task-text "..." \
--output-file ./path/to/output \
--metadata '{"hashAlg":"sha256"}'
Verify
Verify an onchain UID:
cd {baseDir} && node attest.mjs verify --chain base --uid <uid>
Verify an offchain attestation JSON file (as produced by this skill):
cd {baseDir} && node attest.mjs verify --offchain-file ./attestations/latest.offchain.json
Hash helper
If you need hashes without creating an attestation:
cd {baseDir} && node attest.mjs hash --file ./deliverables/memo.pdf
Output contract
All commands print a single JSON object to stdout.
- On success:
{ "success": true, ... } - On error:
{ "success": false, "error": { "code": "...", "message": "...", "details": ... } }
This is deliberate so the agent can reliably parse results.
No README available.
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
- OpenClaw CLI installed and configured.
- Language: Markdown
- License: MIT
- Topics:
FAQ
How do I install blockchain_attestation?
Run openclaw add @dbhurley/blockchain-attestation in your terminal. This installs blockchain_attestation into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/dbhurley/blockchain-attestation. Review commits and README documentation before installing.
