Skip to content

docs: restructure the IDE starter panel by chain and data type (323 → 1,025 entries) - #250

Merged
buddies2705 merged 4 commits into
mainfrom
docs/starter-queries-restructure
Aug 27, 2026
Merged

docs: restructure the IDE starter panel by chain and data type (323 → 1,025 entries)#250
buddies2705 merged 4 commits into
mainfrom
docs/starter-queries-restructure

Conversation

@buddies2705

Copy link
Copy Markdown
Contributor

The IDE's Queries and Streams panels render directly from docs/start/starter-queries.md and docs/start/starter-subscriptions.md — the parser reads only ##/###/####, three levels, and the paragraph under each #### becomes the hover tooltip. Those two files had drifted badly. This rebuilds them.

Nothing here is live until this merges — the IDE fetches refs/heads/main.

What changed

323 → 1,025 entries. 644 queries across 28 groups, 381 streams across 17.

One canonical section vocabulary applied identically to every group — Trades, Transfers, Balances & Holders, Price & OHLC, Supply & Market Cap, Liquidity & Pools, Transactions, Events & Calls, Mempool, Blocks & Validators — with a venue section (Uniswap, PancakeSwap, Raydium, Pump.fun, Four Meme…) promoted where a venue has 3+ queries.

Newly visible in the IDE, from zero: Arbitrum, Optimism, Algorand, Trading API, Stablecoins, Perpetuals, Futures DEXs, Avalanche, Celo, Dogecoin, Litecoin, Bitcoin Cash, Dash, Zcash. Robinhood 4 → 50, TRON 11 → 42, Polygon 2 → 27.

The Real Time / Historical section split is gone — it was decorative (Current Balance of an address sat under "Real Time Balance APIs" running dataset: combined). Blocks & Validators now holds the validator/miner/MEV/self-destruct entries that were buried under "Balance APIs". Mempool is a section for the first time.

Verification

Every entry was executed against the live API before inclusion — queries over HTTP, subscriptions over WebSocket. Anything that errored was dropped rather than shipped. The full audit suite passes:

gate result
play-link slug + tooltip on every entry pass
every slug resolves, not deleted, not unpublished pass
zero BalanceUpdates (cube being retired) pass
every entry on the chain its group claims pass
stored endpoint matches query dialect (V1 vs V2) pass
no duplicate titles within a group + tab pass
every entry executed successfully, live pass
Docusaurus production build success, no warnings
254 of 298 original entries retained every drop explained

The 44 dropped originals: 27 fail live, 11 use BalanceUpdates, 4 are dead slugs, 1 was on the wrong chain, 1 subscription rejected.

Defects fixed along the way

  • 14 links were unreachable because of a trailing # or ? inside the markdown URL, which the IDE folds into the slug via split("/").pop().
  • 8 links opened a different query than their title claimed — e.g. "Bonding Curve Progress of a Raydium Launchpad Token" opened the LetsBonk.fun query; "NFTs a contract holds" opened the wallet query.
  • 5 queries filed under one chain actually targeted another.
  • One V2 subscription was stored against the V1 endpoint.
  • A broken inbound anchor from learning-path.md (also fixed here).
  • docs/ide/paid.md said archive/combined were Enterprise-only; they are available to self-serve plans via the historical data add-on.

Removed

Cosmos and Bitcoin SV. Cosmos's only query times out server-side. Bitcoin SV's index stopped at block 934549 on 2026-02-02 — nearly seven months stale, while every other UTXO chain is current to the minute.

Celo ships without DEX queries: its dexTrades cube stopped at block 31124914 on 2025-03-26, though its other cubes are live.

Known gaps

  • Tooltips are 80% human-written (harvested from each query's own docs page); the remaining ~196 are generated from cube and filter shape and would benefit from a pass.
  • Four Solana balance entries still rely on InstructionBalanceUpdates / joinBalanceUpdates — siblings of the cube being retired. Solana has no Balances cube, so they need a decision.
  • Backend, not docs: the Trading API market-cap queries die on a ~17s server deadline, and parts of the legacy NFT set request archive tables that are not deployed. Both are excluded here.
  • Stellar, Fantom, Cronos, Klaytn and Moonbeam are still unbuilt (Moonbeam was 16 days stale when checked).

🤖 Generated with Claude Code

Gaurav Agarwal and others added 4 commits August 26, 2026 20:57
The IDE's Queries and Streams panels render directly from these two files
(only ##/###/#### are parsed, max three levels). They had drifted: section
names differed per chain, the real-time/historical split was decorative,
18 entries were unreachable, and whole product lines were invisible.

Rebuilt both files against one canonical section vocabulary applied
identically to every group, with a venue section (Uniswap, PancakeSwap,
Raydium, Pump.fun, Four Meme, ...) promoted where a venue has 3+ queries.

323 -> 983 entries across 21 groups. Newly exposed in the IDE: Arbitrum,
Optimism, Algorand, the Trading API, Stablecoins, Perpetuals and Futures
DEXs, none of which had any presence before. Robinhood 4 -> 50, TRON
11 -> 42, Polygon 2 -> 27. Mempool is now a section of its own.

Every entry was executed against the live API before inclusion -- queries
over HTTP, subscriptions over WebSocket. Entries that error were dropped
rather than shipped, including the Trading API market-cap queries (server
deadline at ~17s) and the parts of the NFT set that request archive tables
that are not deployed. No entry uses the BalanceUpdates cube.

Also fixed: 14 links were unreachable because of a trailing '#' or '?' in
the markdown URL, which the IDE folds into the slug via split("/").pop();
8 links pointed at a different query than their title claimed; and 5
queries filed under one chain actually target another.

Cosmos is removed -- its only query times out server-side.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…line

Tooltips: 73% of entries already had prose written by a human next to their
IDE link on the query's own docs page. Harvested those instead of leaving
synthesised text in place -- tooltip provenance goes from ~25% to 89%
human-written (248 from the starter docs, 629 harvested, 106 synthesised).

Chains: added Dogecoin, Litecoin, Bitcoin Cash, Dash, Zcash and Bitcoin SV.
These are V1-only and had no docs pages carrying IDE links, so the corpus
never saw them. Authored a six-query standard set per chain -- latest blocks,
latest transactions, largest transfers, total received, total sent, address
activity -- executed all 36 against the V1 endpoint, and saved them to the
IDE so each has a real slug. 638 query entries across 27 groups.

paid.md: the page said archive/combined were Enterprise-only. They are
available to self-serve plans through the historical data add-on. Also
links the coverage matrix, since which cube has how much history per chain
is the question that actually follows.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Audit pass over the previous two commits, which found three real defects.

1. The 36 chain queries added last commit were recorded as passing from the
   pre-insert template run -- self-certification that never proved the stored
   text runs. Re-executing them straight out of the database found 4 failing
   with ClickHouse Code 241 (memory limit): 'Latest transactions' sorts the
   whole table when it has no date bound. All six now carry one, and the
   round-trip audit re-runs what is actually stored.

2. Bitcoin SV is removed. Its index stopped at block 934549 on 2026-02-02,
   nearly seven months stale, while every other UTXO chain is current to the
   minute. Its rows are retired rather than left published over dead data.

3. Tooltip harvesting was picking up unfenced code blocks and link fragments,
   so some tooltips were raw GraphQL or stubs like "You can run this query".
   The harvester now rejects code-shaped paragraphs, pointer boilerplate and
   sentences truncated on a preposition, falling back to the generated text.

Adds Avalanche (7 queries) and Celo (5). Both are V1-only -- V2 serves just
bsc, eth, arbitrum, base, matic, optimism and robinhood. Celo ships without
the DEX set: its dexTrades cube stopped at block 31124914 on 2025-03-26 while
its other cubes are live. Every query is date-bounded via a `since` variable,
since V1 has no relative-date filter and a literal would silently widen until
it hit the same memory limit.

644 query entries across 28 groups, 381 stream entries across 17.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ooltips

Ran the Docusaurus production build for the first time. It passes, and it
caught one thing no amount of checking the file in isolation could: the
restructure broke an inbound anchor. learning-path.md pointed traders at
starter-queries#crypto-price-change-api, and that entry is gone -- it dies
on a server-side deadline, so it was correctly dropped. Repointed at
#latest-price-of-any-token, which is the same idea and actually runs. The
build now completes with no warnings at all.

Also found by auditing what was published rather than what was intended:

- One entry was a V2 subscription stored against the V1 endpoint, so the IDE
  would have opened it against an endpoint that cannot serve subscriptions.
  My own harness hid this: the WebSocket checker always dials V2 regardless
  of what the row says, so it reported the query as healthy. Endpoint-vs-
  dialect is now an audit gate, and the row (ours, account 4) is corrected.

- A tooltip on a Base entry described Arbitrum. Harvested prose is the
  paragraph before a link, which attaches the wrong text when a page carries
  several links. Tooltips that place a query "on <other chain>" are now
  rejected in favour of generated text. Asset names are deliberately left
  alone, since Base's native token really is ETH.

644 query entries across 28 groups, 381 stream entries across 17.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant