A reusable on-chain safety layer (+ off-chain SDK) for consuming Chainlink price feeds on Robinhood Chain Stock Tokens
A reusable on-chain safety layer (+ off-chain SDK) for consuming Chainlink price feeds on Robinhood Chain Stock Tokens, which trade 24/7 while their feeds only update 24/5. Any lending or perps protocol on Robinhood Chain can import OracleGuard to get correct staleness handling, oracle-pause handling, and sequencer-uptime checks out of the box, instead of re-solving them from scratch.
Built for the Arbitrum Open House Singapore Buildathon. Covers the smart contract and SDK track (Weeks 1-2 of the build plan) plus a full frontend (Week 3, frontend/): a live safety-status dashboard, a liquidation walkthrough you can run for real from a connected wallet, and SDK documentation, all reading the same live testnet deployment below.
Stock Tokens are ERC-20s with a built-in uiMultiplier() (ERC-8056) for dividends/splits and an oraclePaused() flag during corporate actions -- Robinhood + Chainlink already solve this part on mainnet. (Testnet faucet tokens implement uiMultiplier() but not oraclePaused() -- see contracts/README.md.)
What's missing is a reusable, importable library that (a) treats weekend/holiday price staleness correctly instead of naively rejecting a valid Friday close, (b) blocks liquidations while oraclePaused() is true, and (c) checks the L2 sequencer uptime feed before trusting any price.