Logo
Learn
  • Explore Course
Build
  • Explore Buildathon
  • Project Archive
Hack
Hack Coming Soon
  • Explore IRL Hackhouse
  • How to Qualify
  • Past Events

Custos

A reusable on-chain safety layer (+ off-chain SDK) for consuming Chainlink price feeds on Robinhood Chain Stock Tokens

Videos

Description

Stock Oracle Guard

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.

The gap

  • 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.

Progress During Hackathon

Stock Oracle Guard — Buildathon Progress What we're building: A safety system for the Arbitrum Open House Singapore Buildathon. Stock tokens (like tokenized TSLA) trade 24/7, but their price feeds only update 5 days a week — so lending apps can get tricked by stale weekend prices. Our project fixes that. What's done: Smart contracts — built and tested (23 passing tests) the core safety logic: it checks if a price is trustworthy, knows when markets are closed (weekends/holidays), and blocks risky actions (like liquidations) when data is stale or paused. Live on testnet — fully deployed and working on Robinhood Chain's test network. Verified with real transactions, including a full end-to-end test: deposit collateral → borrow → simulate a price crash → liquidate. Worked exactly as designed. Tested against real mainnet data — ran our contracts against the actual live Chainlink price feed to confirm the logic holds up outside of test conditions. SDK (developer toolkit) — a TypeScript library so other developers can easily plug this safety layer into their own apps. Verified working against the live deployment. Keeper bot — an automated script that keeps the market holiday calendar up to date on-chain. Frontend & live demo — a teammate built a website on top of this (dashboard + interactive walkthrough) and it's deployed and publicly accessible. Fixed a few bugs along the way (wallet connection issues, network switching errors). Where things stand: Everything — contracts, SDK, keeper, and the live demo site — is deployed, tested, and working end-to-end. Repo is public and the site auto-updates when we push changes.

Tech Stack

ReactNextWeb3SolidityRustNode

Fundraising Status

NA

Team Leader
RRobbert Abimbola
GitHub Link
github

GitHub

https://github.com/robertocarlous/Custos
Product Category
DeFiRWA