Sentinel-Vault
Investing the smart way ...
Created on 25th January 2026
•
Sentinel-Vault
Investing the smart way ...
The problem Sentinel-Vault solves
The Problem: DeFi is too complex, risky, and fragmented for the average user. Currently, users who want to earn yield have to navigate a fragmented landscape. They must manually monitor lending rates on Aave, manage complex liquidity ranges on Uniswap V3 to avoid impermanent loss, and constantly watch the market for crashes. This requires:
Constant Monitoring: 24/7 attention to prevent liquidations or heavy losses.
High Gas Costs: Manually moving funds between protocols to chase the best yield is expensive.
Technical Complexity: Understanding "ticks" and "health factors" is a barrier to entry.
The Solution: A "Set-and-Forget" Smart Vault Our DeFi Vault simplifies this entire process into a single ERC4626 deposit. It acts as an autonomous hedge fund manager that:
Automates Yield: Smart contracts automatically route capital between Aave V3 (Lending) and Uniswap V3 (Liquidity) based on real-time performance, ensuring capital is always working efficiently.
Mitigates Risk: The "Risk Guardian" module (powered by Chainlink Automation) monitors market health off-chain. If a market crash or de-peg event is detected, it automatically triggers an on-chain "Stop-Loss," exiting risky positions to protect user principal.
Standardizes Access: By using the ERC4626 standard, our vault is fully composable, meaning other protocols can build on top of our strategy easily.
In short, we turn complex, active portfolio management into a simple, passive savings account.
Challenges we ran into
Building a vault that interacts with two major protocols (Aave & Uniswap) while keeping the user experience simple was significantly harder than expected. Here are the main hurdles:
- The "Uniswap Tick Math" Nightmare
The Problem: Integrating Uniswap V3 is not like V2. You can't just provide token amounts; you have to calculate "Ticks" and "Square Root Prices" (SqrtPriceX96). Doing this math inside Solidity is gas-heavy and prone to overflow errors.
The Fix: Instead of forcing the smart contract to calculate the range, I moved the complex math to the frontend. I used the Uniswap SDK to calculate the optimal tickLower and tickUpper client-side and passed those raw integers to the smart contract. This saved massive amounts of gas and prevented transaction reverts.
- Handling "Zero State" in the Dashboard
The Problem: My charts and data visualizations worked perfectly when the vault had money in it. But when I tested with a fresh wallet, the entire dashboard crashed with NaN (Not a Number) errors and "Division by Zero" exceptions because the Total Value Locked (TVL) was 0.
The Fix: I had to rewrite the frontend data hooks to strictly handle "null" states. As you can see in my screenshots, I implemented dedicated "No Active Strategy" UI states and placeholders that appear only when the user has no deposits, ensuring the app looks professional even for a first-time user.
- Chainlink Automation Gas Limits
The Problem: The "Risk Guardian" needs to check the health of the portfolio off-chain. Initially, my checkUpkeep function was too heavy, trying to simulate the entire withdrawal process to see if a stop-loss was needed. This caused the Chainlink nodes to timeout.
The Fix: I optimized the off-chain check to rely strictly on the latestRoundData() from the Price Feeds. I created a lightweight "Health Factor" view function that returns a simple boolean, allowing the Automation nodes to check the system status instantly without running complex logic.
Tracks Applied (3)
Open Track
Freshers
Forge Build
Technologies used
