You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TL;DR — Four agents are deployed and ERC-8004-registered on BSC testnet (PRs #20/#22), but featured.json still shows Day-0 fake ids/endpoints, and since #23 all eight records share one unrelated wallet. Stream C: swap in the real facts, probe endpoints before live: true, and never write invented values.
Requested by: stream S. Owner: stream C (Catalog). Sources of truth already on main: agents/LISTING-HANDOFF.md and openspec/changes/deploy-register-remaining-agents/ (PRs #20 and #22).
Why this matters
Every judge-visible agent card should match what the chain says — right now the catalog contradicts the ERC-8004 registry.
PR feat(web): connect API over LAN and update featured agents #23 set all eight records to one owner/erc8183Provider (0x638592bfdd792AE59A4B5892e971e1A79F8F517d), a wallet that belongs to none of the registered agents — ownership misattributed, and escrow for real hires routed to a single unrelated wallet.
The Day-0 placeholders (token ids 80041–80048, https://agents.local/... endpoints) can now finally be replaced by actual facts.
Facts to write (verified on main)
Write these four records now. Record id values stay unchanged; chainId stays 97.
hf-watch (health_factor) — ERC-8004 token id 2292; owner and erc8183Provider = 0x6d07BBc31ea6A9d05B323123470Ae2a7955FfCad
range-keeper (rebalancing) — token id 2300; wallet 0xCC2abE29F43EAb530a6b5D93E3C41bc0E7622b47
yield-router (yield) — token id 2301; wallet 0xe1D07be03DDE2C292f842AdE4f34782FDf9176c5
grid-runner (grid_trading) — token id 2302; wallet 0x78f800FBA857Ae0a33eEa55f62a68ddA20b27185
Endpoint fields (endpoints.a2a, endpoints.mcp) are blocked on the companion stream-A issue: the Cloudflare account subdomain is only known to the deployer, and the URLs will be posted there as JSON. Until they arrive, keep existing endpoint values (or null) and live: false. Contract from agents/LISTING-HANDOFF.md: a2a = /.well-known/agent-card.json, mcp = /mcp, both absolute URLs (packages/domain rejects anything else and allows null).
Steps
Write now — the token ids and per-agent wallets listed above (facts already on main).
Endpoints — wait for stream A's posted JSON and copy it verbatim, per agent.
Probe before live: true — curl /.well-known/agent-card.json must return 200 with the agent card; /mcp must respond as an MCP endpoint. No probe ⇒ no live: true. Never invent or template-fill a URL.
Leave the four comparison records alone (lp-sentinel, band-bot, apr-hopper, liq-guard) — their invented identity values stay; changing them is stream H's rail decision, not this issue.
Validate — pnpm -r typecheck green (the fixture parses through packages/domain schemas at import; a bad shape fails the build).
Acceptance criteria
Four records carry the real token ids (2292 / 2300 / 2301 / 2302) and the per-agent wallets listed above
Endpoints come only from stream A's posted JSON (or remain as-is/null until then); live: true only behind a passing probe
Equal depth kept: 8 records, 2 per category, same id values as before
pnpm -r typecheck green; API boots; browse → detail renders with fallback signals
Only packages/indexer/fixtures/featured.json changed (no apps/web, apps/api, packages/signals; no packages/domain — that one needs its own Platform-reviewed PR)
What this unblocks
Stream S — marketplace-hired agent legs for TermiX tasks 1–3 (the 30% "proven agent advantage" criterion and the mandatory trading-class row) for the Agent Advantage Report in evidence/.
Stream H — real hire receipts against registered agents for Wed 9 (escrow actually routed to agent wallets).
Judges — card metadata a registry cross-check will confirm instead of contradict.
For AI agents reading this
You may apply the token ids + wallets for the four registered agents now — those facts live on main (agents/LISTING-HANDOFF.md, openspec/changes/deploy-register-remaining-agents/tasks.md).
Do not derive, guess, or fill endpoint URLs — the Cloudflare subdomain is not in the repository. They arrive only via the companion stream-A issue; until then live: false.
Only packages/indexer/fixtures/featured.json may be edited. apps/web, apps/api, packages/signals are other streams' trees; packages/domain needs its own Platform-reviewed PR.
Do not touch the four comparison records' identity fields — fixture placeholders by design.
Verify before reporting success: pnpm -r typecheck green, fixture loads without Zod failure, categories still 2/2/2/2 (curl :3001/agents?category= while the API runs locally).
Read in order: agents/LISTING-HANDOFF.md → openspec/changes/deploy-register-remaining-agents/tasks.md → packages/domain/src/index.ts → packages/indexer/fixtures/featured.json.
TL;DR — Four agents are deployed and ERC-8004-registered on BSC testnet (PRs #20/#22), but featured.json still shows Day-0 fake ids/endpoints, and since #23 all eight records share one unrelated wallet. Stream C: swap in the real facts, probe endpoints before live: true, and never write invented values.
Requested by: stream S. Owner: stream C (Catalog). Sources of truth already on main: agents/LISTING-HANDOFF.md and openspec/changes/deploy-register-remaining-agents/ (PRs #20 and #22).
Write these four records now. Record id values stay unchanged; chainId stays 97.
Endpoint fields (endpoints.a2a, endpoints.mcp) are blocked on the companion stream-A issue: the Cloudflare account subdomain is only known to the deployer, and the URLs will be posted there as JSON. Until they arrive, keep existing endpoint values (or null) and live: false. Contract from agents/LISTING-HANDOFF.md: a2a = /.well-known/agent-card.json, mcp = /mcp, both absolute URLs (packages/domain rejects anything else and allows null).