HOW THE SATELLITE READS THE CHAIN

Where the hull log comes from

Two public feeds, no keys and no private data. The chain's tokenised-stock registry at api.robinhood.com/rhj/assets gives every tokenised equity deployed on the chain, with its contract address, its full registry name and its decimals. For each of those addresses, DexScreener's per-token pair list gives every pool that touches it, with the quote token and the pool's creation time.

A ticker is tagged when at least one pool quotes it against a token that is neither a major quote asset (WETH, ETH, USDG, USDC, USDT, USDE, USDAX, SYRUPUSDG, DAI, USDS, WBTC, CBBTC) nor another tokenised equity — in other words, when a memecoin has priced itself in that stock. The tag date is that pool's creation time as the feed reports it, and once written it is never moved. A ticker whose registry entry or pool list cannot be read on a pass is shown as unread, never as open: not knowing is not the same as nobody having sprayed it.

Turnover is the stock token's own 24h volume against money, which is what orders the hull log: the biggest empty signal first. The whole log is recomputed on a schedule, and every page says when it was read.

One feed is fast but shallow: it answers with at most thirty pools per token, and a busy stock fills all thirty with its own money pools. NVDA came back that way while fifteen memecoins were quoting it. So a ticker whose list arrives at that limit is unread too, not open, and a second, slower feed that pages through every pool reads those tickers in full on a rotation. When it finds a memecoin the wall is tagged; when it finds none, the ticker becomes honestly open. A tag never comes back off, because the shallow feed's silence about a ticker the deep feed already settled is not evidence.

What the hull says right now

  • 194 tokenised equities in the registry
  • 57 open · 137 tagged · 0 unread
  • 0 macros sprayed
  • read 2026-09-13 08:51 UTC (stored log)
  • last pass: ok, 194 signals, finished 2026-09-13 08:51 UTC

What a spray proves

A spray is a wallet signature over a nonce this site issued, covering the ticker, the macro name, the line and the spray base. The server recovers the address from the signature and refuses anything that does not match; the nonce is spent on use, so one signature lands exactly one macro. Nothing is a transaction: no gas, no approval, nothing moves. We read only live onchain trending tokens for inspiration — the image backend assembles the visual from a fixed spray-base image, and real fonts are overlaid after. No activity is invented. The message and the signing address are printed on every macro page so anyone can check it without trusting this site.

What a macro does not prove: that the coin exists, that anyone will make it, or that anything is worth buying. Every macro is fiction, and the only fact attached to it is the date it landed.

The measurement this site exists to make

Of the tickers tagged while this site has been watching, what share had at least one macro sprayed beforehand, and how long before the tag the earliest one landed. That number is the whole point, and it is either here or it is not.

  • watching since 2026-09-09 19:17 UTC
  • 2 tickers tagged since then
  • 0 of them had a macro sprayed first (0%)

Limits worth knowing

  • Both pool feeds are third parties. If they both miss a pool, this site will call a ticker open when it is not; the tag date is the feed's, not ours.
  • The deep read is paced at one call every 2.6 seconds without a key, so a ticker can sit unread for a few hours after it first appears at the shallow feed's limit.
  • The chain's block explorer API is behind a bot check, so nothing here uses holder counts or on-chain history.
  • A tag is any qualifying pool, however small. A dust pool counts, because "a coin appeared" is the event, not "a coin succeeded".
  • Macros can be fed back into the core, and a remix keeps a visible link to its parent. Nothing is moderated automatically.
  • Nothing here has been tested with users, and a macro is not a prediction anyone should trade on.

Read it as data

Both lists are public JSON, 50 records a page, in the shape { items, page, per_page, total, next }:

GO TO THE HULL LOG