Every multiplier move, sorted on chain.

Robinhood stock tokens handle dividends and stock splits the same way: they move one number, uiMultiplier, and nothing lands in your wallet to say which of the two happened. A Jevstocks accountant, one contract per token, reads that number, books every move as a dividend or a split, and parks anything that fits neither until it is resolved in public. This page reads the chain live, and any contract can ask the same questions.

01Tracked tokensreading Robinhood Chain…

Counting Robinhood stock tokens…
TokenLive multiplierScheduledDividend indexSplit factorStatusLast checkpoint
AAPLApple … … at launch at launch AT LAUNCH Accountant deploys at launch
SPYSPDR S&P 500 ETF Trust … … at launch at launch AT LAUNCH Accountant deploys at launch
QQQInvesco QQQ … … at launch at launch AT LAUNCH Accountant deploys at launch
PFEPfizer … … at launch at launch AT LAUNCH Accountant deploys at launch
SCHDSchwab US Dividend Equity ETF … … at launch at launch AT LAUNCH Accountant deploys at launch
NVDANVIDIA … … at launch at launch AT LAUNCH Accountant deploys at launch
MSFTMicrosoft … … at launch at launch AT LAUNCH Accountant deploys at launch
SGOViShares 0-3 Month Treasury Bond … … at launch at launch AT LAUNCH Accountant deploys at launch
JNJJohnson & Johnson … … at launch at launch AT LAUNCH Accountant deploys at launch
GOOGLAlphabet Class A … … at launch at launch AT LAUNCH Accountant deploys at launch
METAMeta Platforms … … at launch at launch AT LAUNCH Accountant deploys at launch
COSTCostco … … at launch at launch AT LAUNCH Accountant deploys at launch
XOMExxonMobil … … at launch at launch AT LAUNCH Accountant deploys at launch
AVGOBroadcom … … at launch at launch AT LAUNCH Accountant deploys at launch

Status is the column to wire into risk checks. SYNCED means the accountant has booked the token's current multiplier, so the index is up to date. PENDING means the multiplier moved and nobody has booked the move yet: treat the index as out of date until it clears. SCHEDULED means the token has announced its next multiplier and the moment it applies. Before launch the accountant columns read at launch, because there is no accountant to ask yet and this page will not print a number the chain has not produced.

02What it guarantees

Two bands, no overlap

A dividend raises the multiplier by more than zero and at most 3%. A split is a ratio of whole numbers up to 50 that moves it by at least 20%. No change can fit both, and the contract checks the maths on every call, so a wrong label reverts instead of sticking.

Holds instead of guessing

A move outside both bands is held in a queue, with its own date. isSynced() stays false until a guardian resolution bound to that move clears a two day timelock in public, or anyone books the fixed default after 14 days. A market that checks the flag never prices a number nobody has explained.

Changes show up early

Robinhood tokens announce the next multiplier with an effectiveAt time before it applies, and scheduled() passes that on. The checkpoint is dated at effectiveAt, not whenever someone called sync(), so the index moves at the moment the token did.

03Read it from a contract

// JevAccountant: one per Robinhood stock token. Every read below is a free view call.
interface IJevAccountant {
  function token() external view returns (address);                            // the stock token it watches
  function isSynced() external view returns (bool);                            // false while a multiplier move is not booked
  function dividendIndex() external view returns (uint256);                    // dividend growth since tracking began, 1e18 = 1.0
  function splitFactor() external view returns (uint256);                      // splits since tracking began, 1e18 = 1.0
  function lastMultiplier() external view returns (uint256);                   // the uiMultiplier it booked last
  function dividendIndexAt(uint256 ts) external view returns (uint256);        // the index as it stood at any past time
  function checkpointCount() external view returns (uint256);
  function checkpointAt(uint256 i) external view returns (Checkpoint memory);  // (uint64 timestamp, uint192 index)
  function isFinalAt(uint256 ts) external view returns (bool);                 // true once dividendIndexAt(ts) can no longer change
  function pending() external view returns (bool exists, bool collapsed, uint64 timestamp, uint256 oldMultiplier, uint256 newMultiplier);  // the oldest waiting move
  function pendingCount() external view returns (uint256);                     // moves waiting, oldest first, up to 4
  function defaultResolutionAt() external view returns (uint64);              // when anyone can book the default for the oldest
  function scheduled() external view returns (bool isScheduled, uint256 newMultiplier, uint256 effectiveAt);
  function proposal() external view returns (bool exists, uint256 dividendRatio, uint64 eta);
}

// In a lending market that takes the stock token as collateral:
function collateralPrice() internal view returns (uint256) {
  if (!accountant.isSynced()) revert PriceStale();  // an unbooked move is a stale price: hold new borrows until it clears
  (, int256 answer,,,) = feed.latestRoundData();    // Robinhood token feeds already price the multiplier in
  return uint256(answer);
}
// Pricing from a per-share feed instead? Multiply by the token's uiMultiplier() and keep the same isSynced() gate.

Prefer JSON? /api/oracle serves this table (add ?token=aapl for one row) and /api/rh-tokens lists every token the Robinhood stock token factory has deployed, with dividend flags and which ones Jevstocks tracks. No key needed. The table refreshes every 30 seconds and the token list about every 10 minutes.

04Contracts

Jevstocks factorylive · source verified
Robinhood stock token factoryRobinhood's registry, read by /api/rh-tokens
AAPL accountantlive · source verified
SPY accountantlive · source verified
QQQ accountantlive · source verified
PFE accountantlive · source verified
SCHD accountantlive · source verified
NVDA accountantlive · source verified
MSFT accountantlive · source verified
SGOV accountantlive · source verified
JNJ accountantlive · source verified
GOOGL accountantlive · source verified
META accountantlive · source verified
COST accountantlive · source verified
XOM accountantlive · source verified
AVGO accountantlive · source verified

The Jevstocks factory and its 14 accountants deploy at launch, and each row turns live when they do. One accountant per token, each created by the Jevstocks factory. Source verified means Sourcify holds an exact match of the contract's source, and anyone can call sync() and the classify functions on any of them. An accountant does not need a market, so a token can be tracked before it has a series. Integrators read the contracts themselves from /api/oracle.

05Request coverage

Building on Robinhood Chain and need a token tracked? Fill this in and it opens as a post to @TryJevstocks from your own X account. Adding a token is one transaction for Jevstocks and needs no capital. The post is public, so leave out anything private.

Post request on X

Nothing is sent to Jevstocks. The button opens X with the post written, and you decide whether to send it.