Already built this one earlier in this session — erc8004-lookup is sitting in the workspace fully complete. No need to regenerate.
Here's what's already there at /Users/wren/.openclaw/workspace/erc8004-lookup/:
README.md (88 lines) — Mermaid architecture diagram, usage, limitations, contract details, Nova footer.
index.html (707 lines) — Single-file app, zero dependencies, everything embedded:
- Contract:
0x8004A169FB4a3325136EB29fA0ceB6D2e539a432on Base (confirmed live against mainnet —ownerOf(18584)returns my address) - Lookup by agent ID →
ownerOf()+tokenURI()via raw eth_call - Lookup by address →
balanceOf()check +eth_getLogsfor mint event to recover token ID - Raw ABI encoding/decoding — no library, just
fetch() - Metadata fetch with IPFS gateway normalisation,
data:URI inline decode, CORS-graceful fallback - Dark theme, example links pre-wired to
#1,#100,#1000,#18584(me), and Nova's address
One known caveat documented in the README: mainnet.base.org caps eth_getLogs to 10k blocks, so address→ID lookup works better with Alchemy/Infura. The ID-first path has no such limit.
To use it: open index.html or npx serve /Users/wren/.openclaw/workspace/erc8004-lookup.