erc8004/SKILL.md
ERC-8004 identity, reputation, and validation — register identities, retrieve identity info by agent ID, query reputation scores, submit peer feedback, and request or check third-party validation status.
npx skillsauth add aibtcdev/skills erc8004Install this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Unified ERC-8004 on-chain agent identity skill — register agent identities, retrieve identity info, query reputation scores, submit feedback, and request or check third-party validations. Read operations work without a wallet. Write operations require an unlocked wallet.
bun run erc8004/erc8004.ts <subcommand> [options]
Register a new agent identity on-chain using the ERC-8004 identity registry. Returns a transaction ID. Check the transaction result to get the assigned agent ID. Requires an unlocked wallet.
bun run erc8004/erc8004.ts register [--uri <uri>] [--metadata <json>] [--fee <fee>] [--sponsored]
Options:
--uri (optional) — URI pointing to agent metadata (IPFS, HTTP, etc.)--metadata (optional) — JSON array of {"key": "...", "value": "<hex>"} pairs (values are hex-encoded buffers)--fee (optional) — Fee preset (low, medium, high) or micro-STX amount--sponsored (flag) — Submit as a sponsored transactionOutput:
{
"success": true,
"txid": "0xabc...",
"message": "Identity registration transaction submitted. Check transaction result to get your agent ID.",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/0xabc..."
}
Get agent identity information from the ERC-8004 identity registry. Returns owner address, URI, and wallet if set. Does not require a wallet.
bun run erc8004/erc8004.ts get-identity <address>
Arguments:
<address> (required) — Agent ID (non-negative integer) to look upOutput:
{
"success": true,
"agentId": 42,
"owner": "SP1...",
"uri": "ipfs://...",
"wallet": "SP2...",
"network": "mainnet"
}
Get the aggregated reputation score for an agent. Returns total feedback count and WAD-averaged summary value. Does not require a wallet.
bun run erc8004/erc8004.ts get-reputation <address>
Arguments:
<address> (required) — Agent ID (non-negative integer) to queryOutput:
{
"success": true,
"agentId": 42,
"totalFeedback": 10,
"summaryValue": 85,
"summaryValueDecimals": 0,
"network": "mainnet"
}
Submit feedback for an agent in the ERC-8004 reputation registry. Value is a signed integer. Requires an unlocked wallet.
bun run erc8004/erc8004.ts give-feedback <address> <score> <comment> [--fee <fee>] [--sponsored]
Arguments:
<address> (required) — Agent ID (non-negative integer) to give feedback for<score> (required) — Feedback value (signed integer, e.g., 5 for positive, -2 for negative)<comment> (required) — Comment or tag for the feedback (used as tag1)Options:
--fee (optional) — Fee preset (low, medium, high) or micro-STX amount--sponsored (flag) — Submit as a sponsored transactionOutput:
{
"success": true,
"txid": "0xdef...",
"message": "Feedback submitted for agent 42.",
"agentId": 42,
"value": 5,
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/0xdef..."
}
Request third-party validation for an agent from a validator. Requires an unlocked wallet.
bun run erc8004/erc8004.ts request-validation <address> --validator <validator-address> --request-uri <uri> --request-hash <hex> [--fee <fee>] [--sponsored]
Arguments:
<address> (required) — Agent ID (non-negative integer) to request validation forOptions:
--validator (required) — Stacks address of the validator--request-uri (required) — URI pointing to the validation request data--request-hash (required) — 32-byte SHA-256 hash of the request data as a hex string--fee (optional) — Fee preset (low, medium, high) or micro-STX amount--sponsored (flag) — Submit as a sponsored transactionOutput:
{
"success": true,
"txid": "0xghi...",
"message": "Validation requested from SP3... for agent 42.",
"validator": "SP3...",
"agentId": 42,
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/0xghi..."
}
Check the status of a validation request by its 32-byte request hash. Does not require a wallet.
bun run erc8004/erc8004.ts validation-status <request-id>
Arguments:
<request-id> (required) — 32-byte SHA-256 hash of the validation request as a hex stringOutput:
{
"success": true,
"requestHash": "abc123...",
"validator": "SP3...",
"agentId": 42,
"response": 90,
"hasResponse": true,
"tag": "trusted",
"lastUpdate": 12345,
"network": "mainnet"
}
get-identity, get-reputation, validation-status) work without a walletregister, give-feedback, request-validation) require an unlocked wallet (bun run wallet/wallet.ts unlock)development
Web of Trust operations for Nostr pubkeys — trust scoring, sybil detection, trust path analysis, neighbor discovery, follow recommendations, and network health. Free tier (wot.klabo.world, 50 req/day) with paid fallback (maximumsats.com, 100 sats via L402). Covers 52K+ pubkeys and 2.4M+ zap-weighted trust edges. Use --key-source to select nip06 (default), taproot, or stacks derivation path.
data-ai
BTC ordinals marketplace operations via Magic Eden — browse active listings, list inscriptions for sale via PSBT flow, submit signed listings, buy inscriptions, and cancel active listings. BTC ordinals only (not Solana). Mainnet-only.
testing
Pay-per-call access to LunarCrush social and market intelligence (Galaxy Score, AltRank, market cap rank, price, 24h change) via x402 on Stacks. USD-pegged pricing recomputed hourly from live STX/USD. Mainnet endpoint live; testnet supported.
devops
Detects HODLMM LP inventory drift (token-ratio imbalance from one-sided swap flow) and restores the target ratio via a corrective Bitflow swap plus a hodlmm-move-liquidity redeploy, gated by the 4h per-pool cooldown.