StableGuard is autonomous cross-chain stablecoin depeg protection. When UST/Terra collapsed, $40B disappeared with no automated warning system — protocols kept accepting bad collateral because nothing was watching fast enough. StableGuard cross-checks two independent data sources before acting — a Chainlink price oracle and on-chain DEX data — avoiding the false alarms that plague single-feed monitoring bots. When confident a depeg is real, it automatically fires a Chainlink CCIP alert that can broadcast to multiple destination chains at once, triggering protective action before a human even notices. It doesn't stop a stablecoin from collapsing if it's genuinely dying — nothing can — but it stops the collateral damage from spreading to protocols and positions that had nothing to do with the original coin.
Price Feeds and Uniswap as two independent sources — only acting when both agree a depeg is real, avoiding the false alarms that plague single-feed monitoring bots. When confident, it automatically fires a Chainlink CCIP alert that can broadcast to multiple destination chains simultaneously, pausing new exposure before a human even notices — with fault isolation so one failed destination can't block the others.
Built for lending protocols and vaults holding stablecoin collateral without a dedicated risk desk watching prices 24/7. Pausing blocks new deposits specifically, while existing users can always withdraw — no one gets trapped mid-position.
During this event we found and fixed a real security vulnerability (performUpkeep was trusting caller-supplied data instead of live-computed values), deployed to Robinhood Chain testnet, and wired a working pause integration end-to-end against a real vault contract — not a stub.
Update: root-caused and fixed two CCIP delivery bugs (incorrect router address, missing destination gas limit) through direct on-chain forensics — decoding router events rather than guessing. Verified the full pause mechanism correct via a local fork test that proves AlertReceived, ProtectionActivated, and vault.paused() all fire end-to-end. Live testnet CCIP delivery timing remains a separate, ongoing piece.