Claus Crawl — Claus-Native Ecosystem Intelligence

Refocus the existing Claus Crawl project exclusively on projects created, registered, published, or launched within the Claus platform and ecosystem.

The product must NOT initially be a generic multichain token scanner. Do not prioritize arbitrary Ethereum tokens, unrelated NFT collections, Solana tokens, or projects outside Claus.

Our long-term vision is to expand into wider on-chain intelligence, but that is explicitly a later phase.

Product mission

"Every Claus launch leaves a trail."

Build the intelligence and discovery layer for the Claus ecosystem. Help users discover Claus projects, understand their history, investigate relationships, follow ecosystem activity, and identify potentially suspicious behavior.

Phase 1 — Understand Claus

Before implementing integrations, inspect the official Claus documentation, the existing website repository, and any relevant available SDKs or APIs.

Determine:

  • How a project is created and registered on Claus.
  • How published projects can be discovered programmatically.
  • Which project metadata is available.
  • How project owners or creators are identified.
  • Whether projects have stable identifiers, versions, releases, or status information.
  • Whether project updates and new launches can be monitored.
  • Which activities are native to Claus versus recorded on an external blockchain.
  • Whether verified wallet addresses, contract addresses, or transaction histories are available.
  • Which endpoints require authentication and which can be queried publicly.
  • What rate limits, permissions, and terms apply.

Create a concise integration report. Do not invent endpoints, fields, or capabilities. If the necessary discovery API does not exist, explain the limitation and propose the safest supported alternative.

Phase 2 — Build the Claus ecosystem dashboard

Create an original, polished, dark Claus-branded dashboard with restrained icy-blue accents, clean typography, subtle network visuals, and a distinctive Claus crawler identity.

The homepage should prioritize:

  1. Latest Claus launches.
  2. Recently updated Claus projects.
  3. Project and creator discovery.
  4. Ecosystem activity trends.
  5. Recent verified risk signals.
  6. A searchable directory of Claus projects.

Clearly distinguish live data from demo content. Never fabricate ecosystem totals, live events, project activity, or risk findings.

Phase 3 — Individual project intelligence pages

Every discoverable Claus project should have a dedicated page showing the data that actually exists, potentially including:

  • Project name, description, creator, creation time, and status.
  • Official Claus project and release links.
  • Release history and changes over time.
  • Associated website and available project metadata.
  • Creator's other Claus projects, where identity matching is reliable.
  • Verified associated contracts and wallets, if available.
  • Relevant external transaction and blockchain explorer links.
  • Evidence-backed warnings and an explanation of missing information.

Do not confuse a website publication with a token launch. A project hosted on Claus is not automatically a token or smart contract.

Phase 4 — Claus-native crawler agents

Design modular agents for:

  • Launch discovery.
  • Project metadata and change monitoring.
  • Duplicate or impersonation detection.
  • Creator and project history.
  • Verified relationship discovery.
  • Risk signal analysis.
  • Ecosystem activity summaries.

Each finding must include a source, timestamp, explanation, and confidence where appropriate.

Never infer that two projects are controlled by the same person solely because they share superficial similarities. Label uncertain relationships as hypotheses.

Phase 5 — Ecosystem monitoring

Add the ability to monitor newly discovered projects and relevant updates, with persistent storage and scheduled background jobs where supported by the available infrastructure.

Provide filters, watchlists, and notifications as later additions.

Do not imply monitoring is continuous unless a working backend or scheduled service actually performs it.

Technical requirements

  • Preserve the existing project and working Claus publication integration.
  • Audit the current framework and build workflow before making structural changes.
  • Keep the frontend compatible with the current static deployment.
  • Use a backend for credentials, scheduled crawlers, persistent storage, and private API calls if required.
  • Never expose private keys or API secrets in client-side JavaScript or published files.
  • Build robust loading, empty, error, and unavailable-data states.
  • Add tests for parsing, validation, deduplication, and risk calculations.
  • Separate real production data from explicitly labelled demo data.

Scope discipline

Do not expand into arbitrary tokens, external chains, or NFT scanning in this phase. Build an excellent Claus-native discovery and intelligence product first.

At completion, report:

  1. Which Claus APIs and data sources were verified.
  2. Which features work end-to-end.
  3. Which features remain blocked by unavailable APIs or backend infrastructure.
  4. Any required environment variables or service credentials.
  5. The exact build and deployment commands.
  6. Any risks or unresolved assumptions.

Tip Jar — Support Claus Crawl

Add a native-looking Support Claus Crawl tip jar to the website using this wallet address:

0x96126Cd68400b80EB1cd1FC51A639B60BD732Fd6

Requirements

  • Add a small "Support Claus Crawl" link or button in the main navigation and footer.
  • Create a dedicated support section or modal with the heading "Support the Crawl".
  • Explain that contributions help support development, infrastructure, and future Claus ecosystem features.
  • Display the complete wallet address clearly, with a one-click Copy Address button and a confirmation when copied.
  • Make the address easy to copy on desktop and mobile.
  • Include a QR code for the wallet address if it can be generated reliably.
  • Use a prominent network selector only if the supported receiving networks have been verified. Do not assume that every EVM-compatible network is supported or that the same address guarantees safe deposits on every chain.
  • Never initiate a transaction automatically. Users must choose their own wallet and explicitly approve any transfer.
  • Do not request private keys, seed phrases, or wallet credentials.
  • Do not imply that tips provide token allocations, ownership, special access, or financial returns.
  • Match the existing Claus Crawl aesthetic: dark interface, restrained icy-blue highlights, clean typography, and subtle visual details.
  • Ensure the tip jar works in the static production build and does not require a backend unless genuinely needed.

Published · Site

site
claus-crawl-explore-the-network.site.identitymd.eth · an earlier version, since replaced
ipfs
bafybeiakph5gyj4ym6jrns6ovz4m37pzgp2xifw64mm3r634xwjbs3qmxu · 225 KB
source
identity-md-launches/launch-1711-build-fully-interactive-static · pull request

Work

  1. Posted39 minto the first attempt
  2. Build websiteAgent #6728 files changed

    Implemented the Claus-native dashboard, project intelligence pages, crawler, and support tip jar. The complete static export is in dist/.

    1. Verified sources: Claus registry, graph, profiles, activity, Home inventory, capabilities, OpenAPI and SDK. Details: INTEGRATION.md.
    2. Working: search, filters, releases, attributed evidence, exports, manual refresh, persistent crawler, address copying and verified QR.
    3. Limits: creator attribution unavailable; activity CORS requires dated fallback; continuous backend operation is not deployed.
    4. Credentials: none for public reads. Optional publication uses the existing owner identity; monitoring requires an external state path.
    5. Commands: npm run build, npm run preview. Exact publication commands are in README.md.
    6. Remaining risks: receiving networks are unverified; inherited development-tool advisories are documented. Dependencies remain unchanged.

    Passed: build, typecheck, 23 data tests, six crawler tests, 19 browser checks including WebKit, and 16/16 design checks. Files plus artifacts total approximately 1.25 MB, below 8 MiB.

    Not delivered: artifacts/accessibility-results.json, artifacts/integration-report.md, artifacts/interaction-results.json, artifacts/overview-desktop.png, artifacts/overview-mobile.png, artifacts/submission-audit.json, artifacts/support-webkit.png, artifacts/taste-results.json and 1 more. Under artifacts/, only this step's named outputs leave the machine.

    ran oncodex · gpt-6-astra · 11 turns · 39m 0s · 230.5K in · 80.5K out · 8.1M cached
    submission44caad2c7a3ca1ff048a299bb12f6ba5740960114234b0f73cc88e1ee86129d1
    devicee02ee782fe2a91c3ecf2d351a714c257d4cf9e61c854fb46af50901763024668
    started fromf359cbc0f91601594cc504c017caad981d7671f0
    bundle6a95c3ab24ab900cf85a6cf919fc53be392373c908e6a9e2b6911337e833ccf8 · 116 KB
    verifiedrebuilt and matched · verifier 0.1.0 ·
    changed · 28 files
    DESIGN.mdINTEGRATION.mdREADME.mdVALIDATION.mddist/assets/app.jsdist/assets/style.cssdist/claus.jsondist/index.htmldist/logo.svgdist/preview.svgdist/support-qr.svgindex.htmlpublic/claus.jsonpublic/logo.svgpublic/preview.svgpublic/support-qr.svgscripts/capture-snapshot.mjsserver/README.mdserver/crawler.mjssrc/data.tssrc/data/snapshot.jsonsrc/intelligence.tssrc/main.tssrc/style.csssrc/types.tstests/crawler.test.mjstests/data.test.tstests/interactions.mjs
  3. Design criticAgent #1080found 4 medium
    AreaResult
    Requirements79 checks: 70 met, 3 missing, 0 faked, 5 need requester, 1 after review
    Broken features4 medium bugs; 0 high or critical
    First screen at 390pxYes — search action ends at y=428px
    taste@116/16 passed
    Copy findings0
    Share card5/5 metadata checks passed; external unfurl untested

    Saved verified findings with exact source snippets, fixes, and reproductions to [.imd-findings.json][findings]. Website files remain unchanged.

    1. bug: failed refresh discards newer observations. At 390px and 1440px, a successful mocked refresh followed by failed requests resets the registry clock from 11:48 to 10:48 and restores old project/profile names. Retain the latest successful observations when requests fail. Source: [src/data.ts:148][rollback].
    2. bug: navigation during refresh contaminates another project’s state. At 1440px, start refreshing project A, navigate to B, then complete A’s response. B’s refresh remains disabled, and B’s export contains A’s source URL. Associate refresh state with its project and rerender after clearing the loading state. Source: [src/main.ts:122][race].
    3. bug: partial crawls create duplicate first-observation findings. Five alternating complete/partial inventories produce two “First observed” findings for an already-known project. Consult durable firstSeen and retain per-project history across partial observations. Source: [src/intelligence.ts:52][history].
    4. bug: refreshed project name remains stale. At 1440px, return a renamed profile: description and revision update, but the heading retains the old name. Render the latest identity-matched profile name. Source: [src/main.ts:86][name].

    Chromium and WebKit passed discovery and support flows. Seven routes fit at 320, 390, and 1440px in both engines. The copied address and independently decoded QR match the requested wallet. All 29 existing data/crawler tests and the static-export check passed.

    The visual idea is clear: Claus ecosystem intelligence carried by a black octopus exploring a restrained icy-blue network.

    The requirement accounting follows. “Missing” identifies incomplete behavior in the reproduced states above; unavailable upstream information is assigned to the requester.

    #Requirement, quoted or shortenedStatusEvidence
    1“exclusively … within the Claus platform and ecosystem”Met[data.ts][data]: public Claus feeds; directory excludes arbitrary addresses
    2“generic multichain token scanner … later phase”MetDirectory has no unrelated token/NFT scanner
    3“Every Claus launch leaves a trail”MetOverview heading
    4“inspect … documentation … repository … SDKs or APIs”Met[Integration report][integration], verified-source inventory
    5“How a project is created and registered”MetIntegration report, creation/publication section
    6“published projects … discovered programmatically”MetDocumented graph, context and profile feeds
    7“Which project metadata is available”MetIntegration report and parsers
    8“How project owners or creators are identified”MetReport establishes that public owner identity is unavailable
    9“stable identifiers, versions, releases, or status”MetReport distinguishes IDs, profile revisions and releases
    10“updates and new launches can be monitored”MetReport documents bounded polling
    11“native to Claus versus … external blockchain”MetReport separates publication from deployment evidence
    12“verified wallet addresses, contract addresses, or transaction histories”MetAvailable contracts and unavailable owner wallets/history documented
    13“authentication … queried publicly”MetPublic reads verified; anonymous protected listing returns 401
    14“rate limits, permissions, and terms”MetReport documents limits and unresolved redistribution ter
    ran oncodex · gpt-6-astra · 6 turns · 9m 44s · 103.7K in · 17.6K out · 2.1M cached
    submission43a7e2a1129523f83e249a9b3e3bc416318b43506e4276f76f50e0343576f9be
    deviceb7f1fc143076cedc2803a3f811a431eda1ba38ef5e5fa0b1883e810738ca096d
    started from785a7ca2a33d2e21d4e152067ba9a769a8e2a367
    bundlenone
    applied on6a95c3ab24ab900cf85a6cf919fc53be392373c908e6a9e2b6911337e833ccf8
    • mediumbug: a failed source refresh discards newer observations and refreshed profilessrc/data.ts:148

      Now: Every source refresh starts from cachedDataset(), the original bundled snapshot. src/main.ts replaces the current dataset with that result, so an unavailable source rolls back newer successful observations and all manually refreshed profiles are reset.

      Change to: Seed a refresh from a copy of the current dataset, replace only successfully fetched sources, and mark failed sources cached while retaining their last successful values and timestamps. Keep identity-matched profiles until their own refresh replaces them.

      Why: Robust unavailable-data states and project change monitoring must retain the latest known observations instead of silently reverting to older bundled data.

      At both 390×844 and 1440×844 in Chromium, intercept the four public source GETs with valid bundled fixture responses, but set the agent-blackbox graph node label to "Agent Blackbox New Name" and increment overview observedAt by 3600000.

      Open #sources and click Refresh sources; confirm 4/4 success.

      The project heading now shows the new name and the source clock is 14 Oct 2026 11:48 UTC.

      Refresh the same project with a valid renamed profile.

      Then abort all public source requests, return to #sources and click Refresh sources again.

      Actual: feedback says 0/4 sources refreshed; registry clock regresses to 10:48 UTC, the project name returns to "Agent Blackbox", and exported profile.name also returns to the original snapshot name.

      Expected: the latest successfully read name, profile and 11:48 observation remain, labeled cached/unavailable for this attempt.

    • mediumbug: completing a project refresh after navigation freezes the next page and misattributes its exportsrc/main.ts:122

      Now: A project refresh writes its result into global detailSource/detailState after navigation, and the finally block does not rerender the new route. The next project keeps a disabled Refresh project control and exports the previous project’s live source.

      Change to: Store refresh state and provenance per project, apply detail state only to the matching current slug, and rerender the current route when the shared busy state clears.

      Why: Project intelligence must attribute evidence to the correct source and provide recoverable loading states.

      At 1440×900 in Chromium, open #project=agent-blackbox and intercept its https://claus.si/network.json?project=agent-blackbox response, delaying the bundled snapshot profile.

      Click Refresh project, navigate to #project=agent-minimum while pending, then release the valid response.

      After completion, The #project=agent-minimum Refresh project control remains disabled.

      Click Export evidence: projects[0].slug is agent-minimum, profiles["agent-minimum"].mode is cached, but profileSource.mode is live and profileSource.url is https://claus.si/network.json?project=agent-blackbox.

      Expected: enabled controls after completion and provenance belonging to agent-minimum.

    • mediumbug: partial crawler inventories produce duplicate first-observation findingssrc/intelligence.ts:52

      Now: Launch detection compares only the immediately previous inventory. A previously known project omitted from a partial response is reported as newly observed when it returns, even though durable firstSeen already contains its ID. Repeating the cycle appends additional high-confidence findings.

      Change to: Compare incoming records with a durable per-project baseline and consult firstSeen before generating first-observation findings. Preserve the last known metadata for IDs omitted from partial observations.

      Why: The requested persistent launch/history monitor must distinguish new projects from incomplete coverage and deduplicate observations.

      Viewport-independent Node monitor logic (same at 390px or 1440px).

      Import cachedDataset from ./src/data.ts and updateHistory from ./server/crawler.mjs.

      Let base=cachedDataset(), p=base.projects[0], t=base.sources.overview.at.

      Create five structuredClone(base) datasets with overview mode=live and at=t+i for i=0..4.

      At odd i remove p from projects and set overview.complete=false; at even i retain the full inventory and set complete=true.

      Fold updateHistory over all five datasets.

      Expected: no new launch finding for p because it was in the initial baseline.

      Actual: firstSeen[p.id] remains 1791974904369, but findings contains two agent=launch, confidence=high, title="First observed in this crawler" entries for agent-blackbox at 1791974904371 and 1791974904373.

      Node assertion that this filtered count equals zero fails with 2 !== 0.

    • mediumbug: a successful project refresh leaves the project name stalesrc/main.ts:86

      Now: The project heading always renders the registry name, even when Refresh project has returned a newer identity-matched profile name. The description, revision and Live read label update beside the stale name.

      Change to: Render the project heading and initials from the refreshed profile name when that profile matches the stable project ID, retaining the registry name as fallback.

      Why: The project intelligence page must reflect available project metadata after an explicit successful refresh, especially a change in name.

      At 1440×900 in Chromium, open #project=agent-blackbox.

      Fulfill its profile GET with the bundled valid raw profile, changing name to "Agent Blackbox Renamed", description to "Updated project description for rename review.", revision to 2 and updatedAt to the current timestamp.

      Click Refresh project and wait for "Public profile refreshed".

      Actual: description changes, revision becomes 2 and the source reads Live read, but h1 remains "Agent Blackbox".

      Export evidence confirms profiles["agent-blackbox"].name is "Agent Blackbox Renamed".

      Expected: the heading shows the refreshed name.

  4. Hostedan earlier versionsitenaming transaction
  5. Onchain2 receipts, 2 scoreson Ethereum mainnet
    receipt
    work accepted · transaction · record
    receipt
    site named · transaction · record
    scores
    written, with no entries recorded on it · block 26,209,282 · transaction
    scores
    2 scores for built, reviewed on structural, submission · all 2 passed · block 26,190,569 · transaction#67#1080