hackquest logo

StableGuard

Automatic depeg protection for stablecoin vaults: Chainlink CRE watches USDC, USDT, DAI and USDS; vaults freeze on a depeg and reopen on recovery. Live-tested on Arbitrum Sepolia; 240 tests.

ビデオ

プロジェクト画像 1
プロジェクト画像 2
プロジェクト画像 3

テックスタック

Chainlink CRE
Chainlink Data Streams
Arbitrum
Solidity
Web3
Hardhat
TypeScript
JavaScript

説明

Built as a state-machine architecture (DepegEventRegistry, ProtectionHoldLedger, StableGuardVault, StableGuardCREReceiver) rather than a simple pause/unpause bot — tracking each incident's full lifecycle from initial signal through protection, recovery, and stability confirmation, with reconciliation logic ensuring the on-chain protection state and the physical vault state never drift apart.

Deployed and fully wired on Arbitrum Sepolia and Ethereum Sepolia, with 240 passing automated tests. The codebase was put through an external security review, which surfaced real reconciliation bugs, a coordinator-rotation gap, and missing replay/freshness protections — all identified findings were fixed and independently re-tested against live Sepolia data before this submission.

The CRE workflow is built to fail safe: if a price feed fails for one coin, that coin is excluded from the report — a price is never faked or defaulted to "stable". Only Chainlink's official KeystoneForwarder can deliver reports to the receiver, and vaults only react to stablecoins they are registered as holding via an on-chain ExposureRegistry.

Built for lending protocols and vaults holding stablecoin collateral without a dedicated risk desk watching prices 24/7. Each vault chooses its freeze mode: deposit-only (new deposits blocked, existing users can still withdraw) or full freeze (deposits and withdrawals paused until the peg recovers). The live demo vault uses full freeze.

Next: extend protection to USDG, the native stablecoin of Arbitrum-based Robinhood Chain (already tracked live on our PegCheck dashboard, pegcheck.uk), and add Chainlink Proof of Reserve as a second trigger, so StableGuard can act when a coin's reserves fall short, before the price breaks.

ハッカソンの進行状況

Before the Buildathon (up to 10 Sept):

Deployed and fully wired all five StableGuard contracts (ExposureRegistry, DepegEventRegistry, ProtectionHoldLedger, StableGuardVault, StableGuardCREReceiver) to Ethereum Sepolia, replacing the previous CCIP/Automation-based architecture entirely. Verified against Chainlink's own documentation that the correct production KeystoneForwarder address was used before deployment. During this hardening pass, found and fixed several real bugs: a reconciliation gap where a vault could be marked "protected" without an underlying hold actually being recorded (and the reverse on recovery), a coordinator-rotation dead-end that would have blocked emergency receiver replacement, and missing replay/freshness/duplicate-report protection on incoming price data. All fixes are backed by targeted tests and verified against live production Sepolia data, not just local simulation.

Deployed the contract suite to Arbitrum Sepolia on 10 Sept, just before the Buildathon opened. During the Buildathon: hardened the contracts (hold-before-pause ordering, governance and role fixes), registered USDC vault exposure on-chain (tx 0xa9c15a77a8ec17c4bde05de79dc4b7b618529b769e88f3a998f19df14d5f9fee), and rebuilt the CRE workflow with per-coin fault isolation and Arbitrum Sepolia targets, then deployed it live on Chainlink's network under a CRE trial. The first live runs exposed a real integration gap: Chainlink's KeystoneForwarder checks ERC-165 support before delivering a report, so the receiver was being skipped. Added supportsInterface, raised the report gas limit, redeployed and rewired the receiver, and verified the event registry and hold ledger on Arbiscan. On 2 October a simulated 3% USDC depeg ran end to end, live: 10 Chainlink nodes reached consensus on a CRITICAL report, the forwarder delivered it, and in a single transaction StableGuard opened and confirmed a depeg event, recorded a protection hold and paused the vault: https://sepolia.arbiscan.io/tx/0x2bce3db20f25841c7d0570440ffd22e05542842302286da790d6c9591f1cbc6c. 240 contract tests passing.

資金調達の状況

Self-funded / bootstrapped. Actively looking for early feedback and potential integration partners rather than fundraising at this stage.
チームリーダー
MMatt Boyle
プロジェクトリンク
エコシステムをデプロイ
Arbitrum OneArbitrum One
業界
RWAInfraDeFi