One search for 75 free blockchain services: browser tools, JSON data APIs, AI briefs (Grok), monitors, feeds and developer kits. Every service is health-checked and shows a live status badge. → https://blockchains.github.io
| Category | # | Highlights |
|---|---|---|
| 🤖 AI (Grok, precomputed in Actions) | 8 | Daily market brief · incident explainer · hackathon ideas · chain digest · protocol briefs · contract explainer · audit-checklist reports · whitepaper summaries |
| 📡 Monitors | 7 | Gas tracker + alerts · chain liveness · RPC leaderboard · stablecoin depeg · Slither security scan · incident feed · site status |
| 🔎 Finders | 8 | Portfolio viewer · protocol compare · events · jobs · grants · glossary · papers · phishing checker |
| 📰 Feeds | 2 | Incident RSS · events ICS |
| 🛠 Tools | 26 | blockchainlab-tools |
| 📦 Data API | 20 | blockchainlab-api |
| 👩💻 Developers | 4 | SDK · MCP server · 54 labs · API docs |
Machine-readable: services.json (catalog) · data/status.json (health).
Static GitHub Pages site + scheduled GitHub Actions. No servers, no trackers.
| Workflow | Schedule | Does |
|---|---|---|
monitors.yml |
hourly | gas (21 chains + blob fee + BTC), chain liveness (23 chains), RPC latency (64 endpoints), health |
daily.yml |
04:30 UTC | incidents + RSS, events + ICS, jobs, grants link-check, glossary, protocols, depegs, token list; Grok: brief, incident explainer, ideas, digest |
weekly.yml |
Mon 03:00 UTC | Slither on 17 Sourcify-verified contracts; Grok: protocol briefs, contract explainers, audit checklists, whitepaper summaries |
security-scan.yml |
on demand | Slither on any Sourcify-verified address (maintainers) |
health.yml |
every 6 h | checks every service live: pages 200, data fresh, developer-repo CI green |
ci.yml |
push / daily | pages up to date, data validation, Playwright e2e of every page (local + live) |
AI runs only inside Actions with the XAI_API_KEY repository secret; the browser never calls an AI API. AI output can be wrong and is labelled as such on every page.
python scripts/job_gas.py # any job: job_liveness, job_rpc, job_daily [name], job_slither, job_ai [name] (needs XAI_API_KEY)
python scripts/catalog.py && python scripts/gen_site.py
python tests/serve.py 43117 & # serves the repo, proxies sibling project sites
BASE=http://127.0.0.1:43117 python tests/e2e.py && python tests/validate.pyData sources: public JSON-RPC, mempool.space, DefiLlama, L2BEAT, Sourcify, Slither, ETHGlobal, Greenhouse job-board APIs, CryptoJobsList, MetaMask eth-phishing-detect, Uniswap token list, blockchainlab.com. Not financial advice.
For AI agents and builders: read
AGENTS.md(setup, commands, structure, rules),llms.txt(doc map) and the machine-readableblocks/hub.json(schema). How all Blockchains blocks fit together: Build with Blocks · org catalogue: https://blockchains.github.io/blocks.json.
What it exports
| Export | Type | Install / access |
|---|---|---|
services.json |
http | catalogue of every service with id, name, url, category |
blocks.json |
http | aggregated blocks.json of every live Blockchains repo |
llms.txt |
http | org-wide doc map for LLMs (+ llms-full.txt) |
data/*.json |
http | gas.json, liveness.json, rpc-latency.json, incidents.json, events.json, jobs.json, grants.json, depeg.json, status.json, ai/*.json |
feeds |
http | incident RSS + /events/events.ics |
Minimal example (live, checked after publishing)
curl -s https://blockchains.github.io/blocks.json | jq -r '.blocks[] | "\(.name): \(.kind | join(",")) → \(.entrypoints[0].install // .entrypoints[0].usage // .entrypoints[0].ref)"'
curl -s https://blockchains.github.io/services.json | jq '.count'Inputs → outputs
- In:
public APIs/RPCs(network) read by scheduled jobs;XAI_API_KEY(secret) AI briefs - Out:
pages(HTML);data files(JSON with generated_at);blocks catalogue(JSON)
Composes with
- Blockchains/blockchainlab-api: data source for many pages
- Blockchains/blockchainlab-tools: tools are linked from the hub
- Blockchains/sites-monitor: status of the custom domains
- Blockchains/.github: BLOCKS-SCHEMA and BUILD-WITH-BLOCKS docs
Versioning & stability: stable. Data files keep their shape and always include generated_at. blocks.json is regenerated by scripts/blocks.py (weekly workflow + on demand).
The site is static and needs no keys to browse. The data jobs read these environment variables:
| Variable | Used by | Purpose |
|---|---|---|
XAI_API_KEY |
scripts/job_ai.py (via common.py) |
Grok calls for AI-generated pages; jobs that need it fail clearly when it is unset |
XAI_MODEL |
scripts/common.py |
Model override (default grok-4.3) |
GITHUB_TOKEN / GH_TOKEN |
scripts/job_health.py |
Authenticated GitHub API calls |
SCAN_WORKERS |
scripts/job_slither.py |
Parallel Slither scans (default 3) |
HEALTH_LOCAL=1, HEALTH_MIN |
scripts/job_health.py |
Check local files instead of the live site; minimum healthy ratio |
FORCE=1 |
scripts/job_ai.py |
Regenerate even when the source text is unchanged |
BASE |
tests/e2e.py |
Site URL under test |
MIT, see LICENSE. Data stays with each named source.
Issues and pull requests are welcome. Please read the contributing guide, code of conduct and security policy first.
Built by Blockchain Lab — blockchainlab.com · grokhack.com
