blockchain_attestation
Create verifiable attestations of agent work using Ethereum Attestation Service (EAS), with Base as the default chain.
Best use case
blockchain_attestation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Create verifiable attestations of agent work using Ethereum Attestation Service (EAS), with Base as the default chain.
Teams using blockchain_attestation should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/blockchain-attestation/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How blockchain_attestation Compares
| Feature / Agent | blockchain_attestation | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Create verifiable attestations of agent work using Ethereum Attestation Service (EAS), with Base as the default chain.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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
1. **Never** put secrets, private keys, tokens, or private user data into onchain attestations.
2. Prefer **offchain** attestations for most use cases.
3. 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.
4. 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` (`base` or `base_sepolia`, default is `base`)
- `CLAWDBOT_AGENT_ID` (overrides the `agentId` field)
## One time setup
Install Node dependencies once:
```bash
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`:
```bash
cd {baseDir} && node attest.mjs schema register --chain base
```
For Base Sepolia:
```bash
cd {baseDir} && node attest.mjs schema register --chain base_sepolia
```
## Create an attestation (recommended: offchain)
Best default workflow:
1. Provide the task description text
2. Provide the deliverable file path (or deliverable text)
3. Create an offchain attestation
4. Save the signed payload to a file
5. Return UID plus the explorer link to the user
Example:
```bash
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)
```bash
cd {baseDir} && node attest.mjs timestamp --chain base --uid <uid>
```
## Create an onchain attestation (costs gas)
```bash
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:
```bash
cd {baseDir} && node attest.mjs verify --chain base --uid <uid>
```
Verify an offchain attestation JSON file (as produced by this skill):
```bash
cd {baseDir} && node attest.mjs verify --offchain-file ./attestations/latest.offchain.json
```
## Hash helper
If you need hashes without creating an attestation:
```bash
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.Related Skills
runtime-attestation-probe
Helps validate that agent behavior at runtime matches the capabilities and constraints declared in its attestation.
paylock
Non-custodial SOL escrow for AI agent deals.
agent-reputation
summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.
Telecom Agent Skill
Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.
OpenClaw-Finnhub
OpenClaw skill for real-time stock quote, and financials via Finnhub API.
```markdown
# OpenClaw-Last.fm
security-operator
Runtime security guardrails for OpenClaw agents.
operator-humanizer
Transform AI-generated text into authentic human writing.
kit-email-operator
**AI-powered email marketing for Kit (ConvertKit)**.
agora
Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.
surf-check
Surf forecast decision engine.
jinko-flight-search
Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.