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.
Основание (проверено вживую в этой сессии, а не взято из какого-то одного источника)
Адреса контрактов, изначально вынесенные из статьи иногода 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The MCP-native bridge to ERC-8004 (on-chain agent identity/reputation/validation): resolve registrat
Confirms an AI agent/service is who it claims to be (domain + agent-card + MCP handshake).
Scan any website or MCP server for agent-trust-readiness; returns a signed, verifiable scorecard.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nexus-mcp-infra/erc8004-agent-liveness'
If you have feedback or need assistance with the MCP directory API, please join our Discord server