{
  "dataset": "arbitrum-erc-8004-census-2026-10",
  "source": {
    "task": "0772",
    "envelope_path": ".cc-agent/.0772-arbitrum-census.json",
    "envelope_sha256": "2ce26378ad36a7ded274f9f60ccd6b360b0239e574f5bceac39961260ba1554b",
    "report_markdown_path": "docs/0772-arbitrum-erc8004-census.md",
    "measurement_script_path": "scripts/analysis/0772_arbitrum_public_rpc_census.py"
  },
  "generated_at": "2026-10-07T18:29:18Z",
  "measurement_window": {
    "chain": "arbitrum-one",
    "chain_id": 42161,
    "rpc_primary": "https://arb1.arbitrum.io/rpc",
    "rpc_fallbacks": [
      "https://arbitrum.gateway.tenderly.co"
    ],
    "rpc_is_archive": false,
    "deploy_block": 428895443,
    "deploy_block_source": "seed_unverified_but_node_non_archive",
    "head_block_at_run": 512646051,
    "scan_range_blocks": 83750609,
    "scan_coverage_complete": true,
    "rpc_calls_total": 228,
    "rpc_errors": 0,
    "rpc_backoffs": 0
  },
  "registry_contracts": {
    "identity_registry": "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",
    "reputation_registry": "0x8004BAa17C55a88189AE136b182e5fdA19dE9b63"
  },
  "identity_registrations": {
    "distinct_agent_ids": 1604,
    "mints_decoded": 1604,
    "logs_pulled": 1604,
    "distinct_owners": 1000,
    "top1_share_pct": 17.02,
    "top10_share_pct": 31.61,
    "top1_owner": {
      "owner": "0xad7d4d39badd41ca55a0c32b08b12696f2eee721",
      "count": 273,
      "share_pct": 17.02
    },
    "top10_owners": [
      {"owner": "0xad7d4d39badd41ca55a0c32b08b12696f2eee721", "count": 273, "share_pct": 17.02},
      {"owner": "0x103040545ac5031a11e8c03dd11324c7333a13c7", "count": 133, "share_pct":  8.29},
      {"owner": "0xbf0e0e7afde9b7f42f5d93d3aebde53af14bba70", "count":  54, "share_pct":  3.37},
      {"owner": "0x52ce108ae72712929fd2b8c6177a9b39e0ccf644", "count":  10, "share_pct":  0.62},
      {"owner": "0xda977767452c5dd021624511f14df67b6c9c2c1b", "count":   9, "share_pct":  0.56},
      {"owner": "0xd3f9dcd6011e1aa13eeb277d9ce5f2f7c9bb6070", "count":   7, "share_pct":  0.44},
      {"owner": "0x0dae6e01a88826b4e77d717d9639b64f749c0152", "count":   6, "share_pct":  0.37},
      {"owner": "0x44a3d4b120f7d4f403e99062934a788c61f1aec6", "count":   6, "share_pct":  0.37},
      {"owner": "0x1a8a3373bf1aeb5e1a21015e71541ff4be09ee41", "count":   5, "share_pct":  0.31},
      {"owner": "0xa93fc5280d63d11e809b77432a941d64edc0958e", "count":   4, "share_pct":  0.25}
    ]
  },
  "reputation_feedback": {
    "feedback_events": 973,
    "distinct_feedback_agents": 108,
    "distinct_feedback_clients": 36,
    "method": "full_rescan_eth_getLogs",
    "scope_note": "Full-history, full-cohort count on the ArbitrumOne ReputationRegistry (NewFeedback) — not an extrapolation."
  },
  "tokenuri_sample": {
    "sample_strategy": "evenly_spaced_by_agent_id",
    "sample_n": 200,
    "sample_cap": 200,
    "sample_coverage_pct_of_cohort": 12.47,
    "with_token_uri": 198,
    "with_token_uri_pct": 99.0,
    "metadata_resolved": 44,
    "metadata_resolved_pct": 22.0,
    "has_signal": 40,
    "has_signal_pct": 20.0,
    "x402_support_flag_present": 4,
    "payment_field_present": 0,
    "http_live_count_in_sample": 0,
    "http_live_pct_in_sample": 0.0,
    "http_live_extrapolated_to_cohort": 0,
    "metadata_ok_extrapolated_to_cohort": 353,
    "liveness_caveat": "Many Arbitrum agents publish ENS, .eth, or .agent names in their endpoint field rather than HTTP(S) URLs. A single-GET HTTP probe cannot resolve these — the 0/200 HTTP-live rate is a HTTP-reachability measurement, NOT an agent-liveness measurement. The stronger live signal on Arbitrum is on-chain reputation feedback (108 distinct agents) — see reputation_feedback.",
    "top_clusters": [
      {"cluster": "clawnews.io", "count": 1},
      {"cluster": "vitalik.arb", "count": 1},
      {"cluster": "z.agent", "count": 1},
      {"cluster": "web3smart53.agent", "count": 1},
      {"cluster": "sparkmind31.agent", "count": 1}
    ]
  },
  "prior_measurement_delta": {
    "prior_task": "0656",
    "prior_date": "2026-09-17",
    "prior_registrations": 1502,
    "prior_distinct_senders": 142,
    "prior_top1_share_pct": 18.18,
    "prior_top10_share_pct": 39.15,
    "current_date": "2026-10-07",
    "current_registrations": 1604,
    "registrations_delta": 102,
    "registrations_delta_pct": 6.79,
    "window_days_approx": 20,
    "notes": "The prior 0656 measurement used an Alchemy archive RPC; this 0772 measurement uses a public (non-archive) RPC and reproduces the full history. Deploy block (428,895,443) and raw registration cohort match within the ~20-day growth delta."
  },
  "coverage_disclosure": {
    "paid_api_covers_arbitrum": false,
    "paid_api_covered_chains": ["base", "ethereum"],
    "note": "This measurement is a published MEASUREMENT ONLY. Arbitrum is not currently covered by the paid /v1/intel/* API, which indexes Base and Ethereum. The verdict in the source envelope (ADD_ARBITRUM) is an input to a future indexer-wiring decision, not an advertisement of current coverage."
  },
  "claim_traps": [
    "distinct_agent_ids (1604) is a count of registry mints — not a count of live agents, not a count of resolvable agent cards, not a count of agents that will serve HTTP today.",
    "distinct_owners (1000) is unique-owner count from Transfer(from=0x0, to=OWNER) decoding — a lower bound on operator identity if any owner transferred ownership post-mint.",
    "top1_share (17.02%) and top10_share (31.61%) are owner-share-of-mints, not owner-share-of-active-agents.",
    "The 0/200 HTTP-live rate is a GET-probe result on a sample. It is NOT an agent-liveness rate — many Arbitrum agents publish ENS/.agent names rather than HTTP endpoints, and the probe does not resolve those.",
    "The 108 distinct_feedback_agents is a full-cohort full-history count on the ArbitrumOne ReputationRegistry — not an extrapolation and not comparable 1:1 to Base's agents_with_reputation denominator (different cohort).",
    "The /v1/public/stats figures referenced in the companion report (Base 29,128 / Ethereum 0 agents_with_reputation) use a different denominator; no ratio claim between chains is made.",
    "Arbitrum is MEASURED here, not INDEXED. The paid API covers Base and Ethereum; Arbitrum coverage is gated on a separate decision."
  ]
}
