user@cyberfuturo:~$ cat methodology.md

Index: x402 repository velocity

Versioned methodology — ADR-0007 (per-index methodology as first-class artifact) and BR-11 (deprecation criteria).


What this measures

The count of non-fork GitHub repositories, first created within a given calendar month, whose name, description, or topics contain the string x402 — the open payment standard (built on HTTP 402) used for AI-agent and API micropayments.

Read it as: a raw velocity signal for how many new, independent projects are being started around the x402 ecosystem per month — tooling, facilitators, SDKs, demos, integrations.

What this does not measure

  • Actual x402 payment/transaction volume, or dollar value settled on-chain
  • Code quality, project maturity, or whether a repo is maintained after creation
  • Deduplication of near-identical demo/tutorial repos — each still counts once
  • Non-GitHub activity (GitLab, self-hosted git, private repos)
  • Mentions of x402 buried in README body text only (not in name/description/topics)
  • Forks — explicitly excluded, a fork is not a new independent project
Why repo velocity instead of transaction volume? We looked at tracking on-chain x402 settlement volume first and rejected it. x402 has no single shared settlement contract — facilitators (Coinbase's, Cloudflare's, and community-run ones) are independently self-hostable by design. Picking one facilitator's on-chain volume would systematically undercount the ecosystem while being published under a name that implies the whole thing. That's a mislabeled measurement, not an honest one, so we didn't ship it. If you're looking for payment-volume data, this index is not that.

Exact query

For each calendar month in the trailing 24-month window:

x402 in:name,description,topics created:{YYYY-MM-01}..{YYYY-MM-DD} fork:false

Evaluated against https://api.github.com/search/repositories. Count is read from the total_count field of the returned JSON response.

Deduplication: none needed — a repository has exactly one creation date, so it falls into exactly one monthly bucket.

Rate limit: 3.1 seconds between requests (10 req/min unauthenticated, 30 req/min with a token — either comfortably covers 24 monthly requests).

Pipeline

Source: scripts/build_index_x402_repos.py

GitHub Search API → JSON parse → monthly counts → CSV → SVG

Implementation: Python 3.11+ stdlib only. No third-party dependencies. Shares its chart renderer with the arXiv index via scripts/_svg_chart.py. Fully reproducible from a clean Python environment in ~75 seconds. No required API keys — a GITHUB_TOKEN is optional and only raises the rate ceiling; CI supplies one automatically via the Actions built-in token, no account setup needed.

Outputs

FilePurposeOverwritten each run?
data/indices/x402-repo-velocity.csvCanonical time seriesYes
data/indices/x402-repo-velocity.svgRendered line chartYes
site/data/x402-repo-velocity.csvPublic mirror for siteYes
site/data/x402-repo-velocity.svgPublic mirror for siteYes

Output schema

ColumnTypeExampleConstraint
monthstring (YYYY-MM)2026-06Always a valid calendar month in the trailing 24-month window
reposinteger996≥ 0; derived from total_count

Known limitations (v0.1)

  1. Ecosystem-activity proxy, not a usage/volume metric — by design. See the "why repo velocity" note above.
  2. Text-match noise. A keyword match, not a curated allowlist — some matches may be unrelated projects or duplicate onboarding/tutorial repos. Same posture as the arXiv index's category-overlap limitation.
  3. No survivorship filter. An abandoned repo still counts in its creation month forever. This measures starting activity, not sustained activity.
  4. GitHub-only. Misses GitLab, Codeberg, self-hosted git, and private repositories.
  5. Search index lag of up to a few minutes; irrelevant at monthly granularity.
  6. Timezone: UTC dates, no adjustment.

Changelog

v0.1 — 2026-07-23 — Initial release. 24-month trailing window, monthly cadence, stdlib-only pipeline sharing the arXiv index's chart renderer. Chosen after rejecting an on-chain-volume approach for methodology-honesty reasons.

How to reproduce

git clone https://github.com/notifuturo/cyberfuturo
cd cyberfuturo
python3 scripts/build_index_x402_repos.py
# Writes data/indices/x402-repo-velocity.{csv,svg}
# ~75s unauthenticated. Optionally: export GITHUB_TOKEN=$(gh auth token)
# first for the higher authenticated rate limit.

Zero required third-party packages. No required API keys.

Deprecation criteria

Per business rule BR-11, this index is deprecated when any one of the following becomes true:

  1. Source deprecation — GitHub removes or materially restricts public repository search.
  2. Query saturation — "x402" stops being specific enough (manual review shows >20% off-topic matches in a month).
  3. A real usage-volume alternative appears — a documented, reproducible x402 transaction-volume API would supersede or demote this index.
  4. The protocol is abandoned or superseded industry-wide.
  5. Replaced by a better version — a stricter v2.x methodology (e.g. weighted by post-creation activity) can supersede v0.x.

The index is never silently removed. Every deprecation is logged in this document's changelog.

Contact

Methodology errors, data disputes, or reproducibility problems: open an issue on the repo.