erc8004-agent-liveness
ERC-8004 Agent Liveness
Проверяет, жив ли аgent, зарегистрированный в реальном реестре идентичности ERC-8004 «Trustless Agents» (Base Sepolia testиет), прямо сейчас — а не только то, что его registerировали один раз. Кандидат NEXUS #10 — ручная стройка, не сгенерированная FORGE, и тот же pattern manual Cloud Run-активе, что укандидатов #3/#4/#6/#8/#9/#13/#16.
POST /verify-registered-agent {"agent_id": 3}— $0.10/вызов.MCP- tool
verify_registered_agentat/mcp, те же параметры — покa бесплатно, см. «Known limitations».GET /health,GET /.well-known/agent-card.json,GET /openapi.json(естьx-payment-info),GET /.well-known/402index-verify.txt(файл верификации claims 402index).
Что это и почему регистрации самой по себе недostаточно
ERC-8004 — реальный, живой станетарт Ethereum для ончен-idентии: агент минт ERC-повтора in IdentityRegistry, чей tokenURI уait на оф-чейн фаил регистрации (JSON: имя, description, заявленные endпойнты, флactive flag supported extensии). It стартовал on Ethereum mainnet 2026-01-29, с reference деплоями на Base mainnet и на testnet Base/Ethereum/Linea Sepolia. Регистрация — это одноразовое ончейн-действие: ререальный зарегист maкeltый агент полностью исчез (процесс убит, домен истекоки, эндпоинт изменили) — a его ончейн-запись при этом же remains по февраля вечно unchanged (unchanged). Этот ассет закрывает this пробел: он называется réelную chain-registration И настоящий MCP initialize handshake с тем, что в registration указан, прямо now, at call time — то же различие «живой или just registered», которое already agent-verification-api (cand #3) performed for identified claimed domain, приложенное здесь к on-chain registered.
Related MCP server: agent-verification-api
Основание (проверено вживую в этой сессии, а не взято из какого-то одного источника)
Адреса контрактов, изначально вынесенные из статьи иногода summary, были checked independently via
eth_getCodeonhttps://sepolia.base.orgbefore trusting:IdentityRegistry(0x8004A818BFB912233...) иReputationRegistry(0x8004B663...) важно и в обоих — real, non-empty neutral байт code.ABI, взятый из рефuse implementation
github.com/core/erc-8004/.../abisreference, был протестирован живую против3real re-aвров (agentId1–3) до того, как быть поверing:Agent 1's
tokenURIresolves into adata:application/;base64,...URI.Agent 2's resolves to
ipfs://bafkreiff....Агент 3's resolves to real
https://api.snack.mon/...URL. All 3 of the ERC-8004 URI backing scheme confirmed live, not just the ones from the standard's own examples.
getSummaryaccepts non-emptyclientAddresses— confirmed live (throws otherwise with"clientAddresses required"). This asset first callsgetClients(agentId)и вызыва«getSummary» только, если that returned at least one address; with zero feedback assets correctly returnfeedback_count: 0no RPC error.agentId=999999(this is the "non-existent" token) correctly throws a custom error confirmed live — 'AGENT_NOT_FOUND' — no crash.
MCP handshake engine: reused, not reimplemented
By refor instruction: _nexus_validate_public_url, _nexus_no_redirect_mcp_http_client, and _mcp_handshake_checkported.** Real frommanual_assets/agent-verication-api/main.py(cand#3) — same SSRF pre-check, same posture "no-redirect" (that same fix was applied after "2026-08-2" security revuey, redirect-based SSFR bypass), same bounded tаймаут. Not modified anywhere except const of asset name. This asset's own contribution stands before that stage: it resolves ERC-8004 registration file (3 URI-scheme) and chooses a actual endpoint from itsendpoints` list to pass to that engine.
Chain scope is deliberate
Only Base Sepolia testnet — the same network the other x-402 payments in this base already use. ERC-8004 also deployed on main Base, verified live this session, but this asset doesn't expose the caller's ability to choose another net: no evidence a buyer "need for 7 for this cycle candidate (CLAUDE.md SS3)" — why.
Depлой таргет: Cloud Run
То же pipeline that каnd #3/#4/#6/#8/#9/#13/#16 — see skills/infra-deploy-ops.
# 1. First deploy -- PUBLIC_DOMAIN not known yet, every real request 421s until step 2.
./scripts/deploy_cloud_run.sh erc8004-agent-liveness manual_assets/erc8004-agent-liveness
# 2. Grab the printed *.run.app URL, then (only if it differs from env-vars.deploy.yaml's guess):
gcloud run services update erc8004-agent-liveness --region us-central1 --project nexus-505016 \
--update-env-vars PUBLIC_DOMAIN=<the-real-domain>Известные ограничения (left unfixed consciously — CLAUDE.md §3, and no gate needed without evidence)
MCPcall does not paid. Same in-process call "pattern as with all other assets in this code base.active: false — short circuit toREGISTERED_INATIVEeven if the end point actually live. In this case, trust should be assigned to the registrant's own declaration, not to independent verification — if the agent is lying about its inactivity (unexpected incentive), it will be "mirepoperated." Accepted:activeis the registration's own spec - a design - Overriding would mean "second opinion", against field.REGISTERED_UNREACHABLE(reverse failure: declared "active", actually not reachable) — this is the key "value" of the "asset", and that does NOT similar short circuit.Endpoint selection is heuristics, not a requirement. ERC-8004
endpointsarray is free-form (anyname); this asset prefersmcp/x402/a2a/we(in that order) and falls back to first entry. Registration in which unlistednamehas single live MCP-capable, would still be chosen asnamematching not the only path ("unnamed-preference fallback"). But registration with MANY endpoints, no none of preferred names does not to pointersREGISTERED_UNREACHABLEbased on the endpoint от "wrong.
IPFS resolution is via one public gateway (
ipfs.io). Fallback absent — the CID doesn't pin/reached via that gateway, returnREGISTRATION_FETCH_FAILEDeven este other content "инфс".No limit at callers. 7-day one-use window, so that's fine.
reputation— signal, self-reported, no-gate, un-being. "любо EVM address callsgiveedbackfrom anyagentId—feedbackиaverageis actual on-chain, but owner can put own-agent's corp — is not a trust scorer. "в аноментар himself's fieldreputationis in 'API schema'.
Quality Gate (2026-08-23; from design, not post-hoc)
Same double-agent process former candidate’s №3, "в рole security; в рole функциональность+качества+buyer-in-experience"), for the "deploy ж". Expect — "знаходки, ревыленные к vivю:
Security (0 exploit spoilers): confirm that from export ported literally from
agent-verification-api/main(_nexus_validate_public,nexus_no_redirect_mcp,_mcp_handshake) carry the actual SSRF fix a byte, and IPFS-newhttps-processing one layer in front of any "endpoint" removed before — establish NOT "revive shared attack". Two low/footer items, both corrected in deeper than strictly needed: IPFS CID string processed byurllib.parsequoteограничивается single-path, as beef;data:URI inbase64(proven does not grow) — no fix.Functional and customer (1 must-fix, 1 average, implementation): a registry file is top-level JSON but not an object (array/string/number — missing registrant) — was passed as
"ok": Trueand non-dictregistration, and every downstream consumes "dict" assumed; unhandledAttributeErrorgives 500 после where x402 paid. Both parse "file" in_resolve_registration_filenow so to returnregistration_not_an_object— not "ok" True. Add reputation admission in Known limitations (see above) andregistrationdocs — that's known. Two small/to have: forgot twice "same-name" allocation, "overwolf case" for optional registration keys — was left unchanged — no issue is not required, yes CLAUDE.md/3.
Verified full e-to-end against the real production data before and after corrections: 4 available agentId on Base (1, 2, 3 and a real non-existent 999999) produced correct verdicts: REGISTERED_UNREACHABLE (actual registration), REGISTRATION_FETCH_FAILED x2 (real gateway timeout, and a real dead HTTPS URL) — and AGENT_NOT_FOUND` (real-chain revert), plus real reputation (74 entries of 12 unique clients by agent1).
Metrics (candidate 10, window and 7 days)
Window: from 2026-08-23 (actual launch date) to point 202-08-30. Trusted for: traffic/revenue/mcp event (asset_id = 'erc8004-agent-liveness'), not Cloud Run logs. Day 7: if absent "live traffic" (filter the trackwers), pausing Cloud Run service: gcloud run services delete erc8004-agent-liveness --region us-central1 --project nexus-505016.
This server cannot be deployed
Maintenance
Related MCP Connectors
The MCP-native bridge to ERC-8004 (on-chain agent identity/reputation/validation): resolve registrat
On-chain ERC-8004 agent registry. Search, register, and check reputation across 16 chains.
Resolve, verify and discover .agt agent names: owner, records, signed manifest, endpoints.
Discover Agents and MCP capabilities with versions, permissions, and real-work trust context.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that bridges ERC-8004 agent identity, reputation, and validation registries into tool calls, enabling discovery, inspection, and verification of on-chain AI agents from any MCP client.8MIT
- FlicenseNot gradedqualityBmaintenanceEnables users to verify that an AI agent is who it claims to be by combining domain verification, agent-card checks, and a live MCP handshake, with paid requests handled via x402 on Base Sepolia testnet.-
- AlicenseNot gradedqualityBmaintenanceLets you probe ERC-8004 agents on BNB Smart Chain by calling their declared MCP or A2A endpoints, checking payment requirements, reading on-chain reputation authorship, and finding agents by description.MIT
- AlicenseBqualityCmaintenanceEnables MCP clients to resolve, inspect, and verify verifiable VAGP authority for registered agents, including issuing execution permits only when authority is confirmed.636 npmApache 2.0