Take the docs into your AI

Every product guide, integration instructions and the complete API specification in one document.

Registry observations

verified listings
205
records with a canonical beacon
194
assets with a feed reading
45
recorded scan matches
3,289
changes observed in 7 days
1,093
registry status, self-reported
degraded

Reading checked . 2 of 33 jobs are not current (failing: second-source, lookalikes). Inspect source status and coverage.

Verified listings require recorded bytecode confirmation and matching symbol and decimals. Beacon and feed totals count stored observations, including older readings. Scan matches exclude contracts recorded as unlisted Stock Tokens. Changes cover the last seven days of observation time.

Latest listing observation
Latest beacon check
Latest feed read
Last successful lookalike scan
Latest recorded change

These are the newest source observations. Individual assets may be older and discovery may be incomplete. The shared reading is cached for up to ten seconds; the time above stays with that reading.

How the registry reads the chain

The source, contract call, schedule and coverage behind each recorded observation.

Last verified against production: . See current limits and availability.

The scheduled jobs

The Registry daemon runs these 33 jobs against mainnet, chain 4663. A cadence is the delay after a run finishes. Jobs run independently, so a long scan can overlap another job while its own next run waits. The status page shows each job's last run, last success and available coverage.

The table uses the scheduler's base intervals. With a dedicated RPC, dex-state ticks every 30 seconds; its active-pool eligibility and published freshness threshold still use the 10-minute base interval. A faster tick works through due pools sooner. It does not reread every pool every 30 seconds.

JobSourceMethodCadenceWhere it shows
control-planeAccessControlsRegistry on mainnetRead pause, block, upgrade and role logs; call implementation() and paused(); retain a block checkpoint.20 sRegistry header, Changes, token control history and registry alerts
authority-matchRecorded authority events and enabled subscriptionsMatch up to 200 unmatched events to registry or token watchers and enqueue deliveries.10 sDashboard Alerts, Telegram and webhooks
new-pool-matchDiscovered pools and enabled new-pool subscriptionsMatch pools after the subscription's starting block; apply depth and lookalike filters; enqueue up to 20 per watcher.1 minDashboard Alerts, Telegram and webhooks
chain-healthL2 RPC, Ethereum rollup contracts and the chain operator's status JSONRead block timing, gas, confirmed assertions, governance and inbox activity; retain unavailable fields as unread.1 minRegistry chain health and chain API
feedsChainlink's Robinhood feed directory and matching feed contractsCache the directory for one hour; call latestRoundData() through Multicall3; record answers and round times.1 minToken feed panel, Registry feed filters, history and token alerts
supply-eventsTracked issued-token Transfer logsScan transfers from or to the zero address as mints and burns, with separate resumable checkpoints.2 minToken supply history, supply reconciliation and Changes
multiplier-eventsStock Token multiplier logsDecode announced multiplier changes and retain their transaction and block references.5 minToken multiplier history and Changes
token-stateTracked token contractsMulticall current and pending multipliers, effective time, pause flags and raw/display supply where supported.5 minToken state panel, Registry filters, daily history and token alerts
api-pricesRobinhood's public /rhj/prices/{symbol} endpointRead bid, ask and trading halt; compare midpoint times the recorded multiplier with the feed answer.5 minToken quotes, halt/divergence filters and history
corporate-actionsRobinhood's public /rhj/corporate-actions endpointStore announced actions and report additions or changed status after the initial baseline.1 hToken corporate actions and Changes
canonicalActive Stock Token storage and bytecodeRead the EIP-1967 beacon slot and compare its address with AccessControlsRegistry; retain the code hash.6 hToken canonical observation, Registry totals and Changes
bridgedConfigured Ethereum token candidates and the L2 GatewayRouterCall calculateL2TokenAddress(), check deployed bytecode and read ERC-20 metadata and supply.6 hRegistry bridged listings and token pages
transfer-ledgerTransfer logs for tracked assets, excluding wrapped native tokensApply balance deltas and daily activity in committed windows, 300 blocks behind head.1 minToken holders, activity, concentration and history
holder-labelsHolder balances, known addresses, pools and mint recipientsCombine known labels with bounded getCode probes and mint-pattern inference for material holders.1 hHolder labels and circulating-float categories
concentrationCovered transfer ledger and holder labelsRecord top-holder shares, Gini and float categories when the ledger is sufficiently caught up.24 hToken holders and concentration history
dex-poolsUniswap v4 PoolManager Initialize logsScan pools with a tracked asset or quote on either side and store discovered pool identities.10 minMarkets, token DEX panels and new-pool alerts
dex-pools-v3Uniswap v3 factory PoolCreated logsScan tracked sides in bounded block ranges and store pool addresses and factory provenance.10 minMarkets, token DEX panels and new-pool alerts
dex-statev4 StateView, v3 pools and quote-token balancesRead price state and liquidity for due pools; calculate prices and observed or estimated quote depth.10 minMarkets prices/depth, token DEX panels and premium observations
dex-tokensToken contracts encountered in discovered poolsRead symbol, name, decimals, supply, bytecode and burn-address balances in bounded batches.1 minMarkets token pages, trust badges and metadata backlog status
dex-pricesRecorded pool stateSave eligible price samples and retain 48 hours for change calculations.5 minMarkets price changes and token DEX views
dex-tiersRecorded pool depth, liquidity, activity and observation timesAssign active, quiet or dormant tiers to control subsequent sampling.1 hMarkets pool tiers and sampling coverage
dex-swapsv4 Swap logs and factory-enrolled v3 pool Swap logsAdvance a bounded live tail 30 blocks behind head; validate window hashes and record raw swap legs.1 minMarkets activity, rolling-window coverage and swap-indexer status
dex-swap-backfillHistorical Swap logs for enrolled active and quiet poolsExtend contiguous coverage backwards for up to 100 pools in a bounded range.1 minMarkets rolling-window coverage and swap-indexer status
market-refreshQueued requests for token metadata or pool stateClaim up to one token and one pool request per tick; use bounded RPC reads and persisted retry state.15 sMarkets and token pages after a refresh request
bridge-flowsConfigured L2 gateway deposit and withdrawal logsScan tracked bridge movements 30 blocks behind head and record withdrawal waiting times.2 minBridged-token panels, bridge API and Changes
bridge-escrowEthereum gateway balances and recorded L2 supplyResolve getGateway(), read the L1 token's balanceOf(gateway), and compare it with stored L2 supply.30 minBridged-token escrow panel and bridge API
issuer-docsRobinhood Europe's legal hub and linked document headersParse document links; read ETag, Last-Modified and size with HEAD; track additions, changes and removed links.6 hIssuer documents, token paperwork and Changes
issuer-pagesConfigured Robinhood issuer and chain-notice pagesFetch page text, remove markup and page chrome, and compare SHA-256 hashes.1 hIssuer pages and Changes
feed-historyAttached Chainlink feed contractsCall getRoundData() for up to 100 older rounds per feed per pass, toward a 2,000-round target.30 minToken feed charts and feed-history API
second-sourceBlockscout token details and countersRead holder, transfer and supply counts; compare indexed supply with the recorded contract supply.1 hToken second-source comparison and history
lookalikesBlockscout token search and candidate beacon storageCompare ticker/name claims; read the beacon for newly found candidates and retain observed holder counts.6 hLookalikes, token warnings, trust badges and Changes
supply-snapshotContract totalSupply() and recorded mint/burn totalsOnce scanners are close enough to head, record total supply minus net mint/burn history for the UTC day.24 hToken supply reconciliation, residual filter and Changes
state-dailyRecorded token state, feeds, quotes, holders and coverageUpsert the current UTC day's observations; retain unread fields where the source was not read that day.1 hToken daily history and history API

Listings and address checks

A separate 15-minute service imports Robinhood's published Stock Token list, checks bytecode at listed addresses and refreshes ERC-20 metadata when due. Successful metadata reads are normally reused for seven days. Bridged assets come from a configured set of Ethereum tokens checked through the gateway router.

For an active Stock Token, the canonical job reads the EIP-1967 beacon storage slot and checks whether it points to AccessControlsRegistry. It also records the bytecode hash and the registry's recorded implementation address. The trust badge has its own listing, symbol and decimals checks, described on the trust page.

Lookalike discovery searches the first Blockscout results page for each tracked ticker. New candidates receive a beacon read; discovered DEX tokens can also supply folded-name collisions. Unicode normalization catches selected Greek and Cyrillic lookalikes and invisible characters. The result describes an address and matching labels; search coverage remains bounded.

Feeds, supply and holders

Chainlink answers carry the feed's update time. The reader uses a 24-hour heartbeat to mark an answer stale and keeps the previous successful observation when a call fails. Robinhood's quote comparison multiplies the bid/ask midpoint by the recorded token multiplier before comparing it with the feed.

The transfer ledger commits holder balance deltas, activity and block progress together. Newly tracked assets need their own historical coverage. Concentration and supply snapshots wait for their required scanners to catch up; a successful skipped run can still leave a figure unread.

The holder ledger stays 300 blocks behind head. A deeper reorganization is logged for investigation and its applied balances are not automatically reversed. Control-plane and supply scanners use separate hash checks and a 2,000-block rewind. Watch uses the different rollback path shown on its product page.

Holder labels combine known addresses, bytecode reads and mint-pattern inference. Blockscout holder counts remain a separate measurement. Daily history records available observations for the current UTC day, so an earlier missing day remains a coverage gap.

Markets work in bounded passes

Pool discovery reads supported v3 and v4 events involving tracked assets or quote tokens. State reads select at most 1,000 due pools, reserving one slot in four for the oldest backlog. Active pools become due after ten minutes and quiet pools after a day; dormant state is refreshed on demand. Failed reads retain the previous observation and defer retry.

Token metadata uses batches of up to 40 and a 45-second work window. Successful reads become due after a day; failed reads retry after an hour. Pool-state and demand reads have daily allowances of 40,000 and 4,000 RPC methods and also consume the shared 200,000-call bucket. Other readers have their own pacing and limits.

The swap reader records raw token legs and block hashes, then measures coverage for each rolling window. Historical USD valuation remains unavailable. A v3 depth reading uses that pool's quote balance; v4 depth is a one-percent price-movement estimate bounded by the shared PoolManager's quote holdings. Read the displayed timestamps and coverage alongside the figures.

Bridge and issuer observations

Bridge flows come from the configured L2 gateways. Escrow compares an Ethereum gateway's token balance with the stored L2 supply reading, which may have a different timestamp. Withdrawal waiting time is derived from recorded events and the configured challenge window; a claim still needs its own transaction.

Issuer document tracking compares linked-document headers such as ETag and Last-Modified. Issuer page tracking hashes cleaned page text. These observations help identify changed source material; they do not establish what a document's legal terms mean.

Freshness, failure and coverage

Each job records its start, finish, result and available error. Failed jobs retry with increasing delays capped by their normal interval. Partial reads can retain earlier values, so a successful job run alone does not make every asset current.

A job is late when its last success is older than twice its base cadence, with a minimum one-minute allowance. A history scanner more than 10,000 blocks behind is filling; if its checkpoint stops moving beyond the larger of 30 minutes or twice its cadence, it is stalled. Missing figure timestamps are unread. Token metadata can remain filling while due or failed entries remain.

The Registry daemon reports every 15 seconds. After a minute without a heartbeat, its overall status is stale. Live permits jobs that are still filling; degraded includes failing, late, stalled or never-completed jobs. The separate observer records those verdicts and changes every minute without advancing a job's own timestamps.

The status API includes checkedAt and ages measured from that reading, and caches the same reading for ten seconds. Read the verdict in the response body: stale data can still return HTTP 200. Per-figure newest times describe the newest recorded observation, so use asset timestamps and scanner coverage for a particular token.