Skip to content
Sentinel-Vault

Sentinel-Vault

Investing the smart way ...

Created on 25th January 2026

Sentinel-Vault

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:

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

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

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

Want to compete with all

Freshers

All the members are fresher

Forge Build

All the members are in forge build

Discussion

Builders also viewed

See more projects on Devfolio