Unaudited · TestnetExperimental software. Do not use real funds.
Strike
05MonitorRobinhood Chain mainnet · 4663

Monitor

Check that the stock prices Strike settles on are safe to use, right now.

Every Robinhood Chain stock token with a Chainlink feed, read live from mainnet and judged by the same rules as SafeStockFeed.status().

Read-only. The page uses its own mainnet client, whatever network the app is set to.

NYSE
Verdicts
Block
Last read

01 Stock tokens · 8

Reading mainnet…
02

What each check protects against

The checks run in this order; the first one that trips is the verdict. Limits on mainnet: price age 25 h and grace 1 day.

Hide the checks
  1. 01
    Two pause layers · the token

    TokenPaused

    paused() == true

    Robinhood can halt the token itself. A halted token has no tradable market, so no price for it is safe to act on, whatever the feed says.

    SafeStockFeed.sol L55
  2. 02
    Two pause layers · the feed

    FeedPaused

    oraclePaused() == true

    A separate flag Robinhood raises around corporate actions; while it is up the feed holds its last value. Testnet tokens don't have the function, and a missing or reverting call counts as not paused.

    SafeStockFeed.sol L56 SafeStockFeed.sol L166
  3. 03
    Splits in flight

    CorporateActionPending

    uiMultiplier ≠ newUIMultiplier, or now < effectiveAt + 1 day

    A split or stock dividend changes how many shares one raw token is worth. From the moment it is scheduled until a day after it lands, the feed and the token can disagree, so prices in that window are refused.

    SafeStockFeed.sol L57 SafeStockFeed.sol L147
  4. 04
    Broken rounds

    InvalidPrice

    answer ≤ 0, or updatedAt > block.timestamp

    A zero, negative or future-dated answer is a malfunction, never a price.

    SafeStockFeed.sol L61
  5. 05
    Frozen weekend feeds

    StalePrice

    block.timestamp − updatedAt > 25 h

    Stock feeds run 24/5 and have no heartbeat off-hours, so from Friday night to Sunday night the last print just sits there. Past the limit the price is stale, not merely quiet.

    SafeStockFeed.sol L63
  6. 06
    Multiplier double-count

    never × uiMultiplier

    priceWad = answer scaled to 18 decimals

    The Chainlink answer already prices one raw token including the multiplier. Multiplying it again counts every split and dividend twice. Strike's math uses the feed price as-is; the per-share column above divides by the multiplier for display only.

    SafeStockFeed.sol L11 SafeStockFeed.sol L159