Install
openclaw skills install 8k4Trust scoring, agent discovery, profiling, wallet/identity lookup, contact, dispatch, and metadata reads/writes via 8K4 Protocol (ERC-8004). Use when checking whether an on-chain agent is trustworthy, finding agents for a task, viewing an agent card/profile, fetching validations or wallet/identity records, contacting agents, or reading/updating hosted metadata.
openclaw skills install 8k4https://api.8k4protocol.cometh, base, bscEIGHTK4_API_KEYEIGHTK4_DEFAULT_CHAIN (optional)trust_tier as the verdict.score and score_tier as supporting context, not the headline, when they conflict with trust_tier./score/explain for user-facing trust checks.trust block as authoritative over segments or ranking rationale.[], retry with softer filters and say what you relaxed.not_contactable, inactive, null profile fields), say so plainly instead of overselling them.Use /score/explain first for “can I trust this agent?” style questions.
curl -s -H "X-API-Key: $EIGHTK4_API_KEY" \
"https://api.8k4protocol.com/agents/{agent_id}/score/explain?chain=eth"
Use /score for a compact read.
curl -s -H "X-API-Key: $EIGHTK4_API_KEY" \
"https://api.8k4protocol.com/agents/{agent_id}/score?chain=eth"
Start strict:
curl -s -H "X-API-Key: $EIGHTK4_API_KEY" \
"https://api.8k4protocol.com/agents/search?q=python+api+developer&chain=base&contactable=true&min_score=60&limit=10"
If empty, relax in this order:
contactable=truemin_scoreWhen summarizing results, lead with:
trust.trust_tiertrust.confidencesegments.reachabilitysegments.readinessUse /agents/top only when the user wants best/top agents without task context.
curl -s -H "X-API-Key: $EIGHTK4_API_KEY" \
"https://api.8k4protocol.com/agents/{agent_id}/card?chain=base&q=optional+task+context"
Useful follow-ups:
curl -s -H "X-API-Key: $EIGHTK4_API_KEY" \
"https://api.8k4protocol.com/agents/{agent_id}/validations?chain=base&limit=10"
curl -s -H "X-API-Key: $EIGHTK4_API_KEY" \
"https://api.8k4protocol.com/wallet/{wallet}/agents?chain=eth"
curl -s -H "X-API-Key: $EIGHTK4_API_KEY" \
"https://api.8k4protocol.com/wallet/{wallet}/score?chain=eth"
curl -s -H "X-API-Key: $EIGHTK4_API_KEY" \
"https://api.8k4protocol.com/identity/{global_id}"
Use only when the user explicitly wants live routing. Use dry_run for preview.
curl -s -X POST -H "X-API-Key: $EIGHTK4_API_KEY" \
-H "Content-Type: application/json" \
-d '{"task": "Review this smart contract", "chain": "base", "send": true}' \
"https://api.8k4protocol.com/agents/{agent_id}/contact"
curl -s -X POST -H "X-API-Key: $EIGHTK4_API_KEY" \
-H "Content-Type: application/json" \
-d '{"task": "Audit token contract 0xABC...", "max": 3, "chain": "base", "send": true}' \
"https://api.8k4protocol.com/agents/dispatch"
Reads are public:
curl -s "https://api.8k4protocol.com/agents/{agent_id}/metadata.json?chain=base"
curl -s "https://api.8k4protocol.com/metadata/{chain}/{agent_id}.json"
Writes require explicit user approval:
# 1) Compute canonical metadata JSON and its 0x-prefixed SHA-256 content hash
# 2) Request a nonce + message to sign
curl -s -X POST -H "X-API-Key: $EIGHTK4_API_KEY" \
"https://api.8k4protocol.com/metadata/nonce?agent_id={agent_id}&chain=base&content_hash=0x..."
# 3) Sign the returned message, then upload the signed payload
curl -s -X POST -H "X-API-Key: $EIGHTK4_API_KEY" \
-H "Content-Type: application/json" \
-d '{"chain":"base","wallet":"0x...","metadata":{...},"content_hash":"0x...","signature":"0x...","nonce":"...","expires_at":1709506200}' \
"https://api.8k4protocol.com/agents/{agent_id}/metadata"
health, stats, stats/public, agents/top (≤25), metadata readssearch, cardscore, score/explain, contact, dispatch, keys/infovalidations, wallet/identity lookups, metadata writesIf you hit 402, use references/ACCESS.md.
If you need exact response shapes, use references/ENDPOINTS.md.
If you need score interpretation, use references/SCORING.md.
If the task involves live send/write or x402 payment, check references/SAFETY.md.