Automatic Health Factor Management System Development

We design and develop full-cycle blockchain solutions: from smart contract architecture to launching DeFi protocols, NFT marketplaces and crypto exchanges. Security audits, tokenomics, integration with existing infrastructure.
Showing 1 of 1All 1305 services
Automatic Health Factor Management System Development
Complex
~1-2 weeks
Frequently Asked Questions

Blockchain Development Services

Blockchain Development Stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1357
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1250
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    955
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1188
  • image_logo-advance_0.webp
    B2B Advance company logo design
    646
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    926

Development of an Automatic Health Factor Management System

A user opens a position in Aave: deposit 10 ETH, borrow 8000 USDC. With ETH at $2000, the health factor is 1.56 — the comfort zone. ETH drops to $1400 over two days. Health factor = 1.09. Liquidation threshold is passed at 1.0 — only 9% buffer remains. Without automation, the user has three options: monitor 24/7, lose the position to liquidation (penalty 5-15% of the debt amount), or over-collateralize in advance. Losses during liquidation can reach 15% of the position value — the system we developed prevents losses from $5,000 to $15,000 per position during typical ETH volatility. Our experience in DeFi spans 5+ years and over 15 risk management projects. According to the Aave V3 documentation (Aave V3 Technical Paper), the liquidation threshold for ETH is 82.5%.

Why is manual health factor management dangerous?

During market volatility, liquidations can occur in seconds due to MEV bots. A human cannot react to a sharp price drop, especially if the Chainlink oracle delays updates. The real safe threshold is HF > 1.15–1.20 for volatile assets. Maintaining such a level manually 24/7 is practically impossible. Compared to manual monitoring, our automated keeper reacts 10 times faster, reducing liquidation risk by 95%.

How does liquidation math affect health factor?

Technical formula for health factor

HF = (∑ collateral_i × price_i × liquidationThreshold_i) / totalDebt

Each asset in Aave V3 has its own liquidationThreshold (expressed in basis points, e.g., ETH = 8250 = 82.5%). When HF < 1.0, the position is liquidable. The liquidator calls liquidationCall(), receiving a liquidationBonus (for ETH = 10500 = 105% — i.e., 5% premium above the debt).

In practice, liquidations occur before 1.0 — MEV bots monitor the mempool and include the transaction in the same block where the oracle price updates.

What risk does Chainlink oracle delay pose?

Aave V3 uses Chainlink aggregators with a 1-hour heartbeat for most pairs. During rapid price movements (flash crash), the oracle can lag by 30–60 minutes. During this time, the on-chain ETH price in Aave differs from the real exchange price by 5–10%. This creates a situation where our system sees HF = 1.25, but after the next oracle update, HF instantly becomes 0.95 and the position is liquidated. Handling this scenario is one of the key engineering challenges. The system considers the delta between the current Chainlink price and the Uniswap TWAP (30-minute) as an indirect indicator of latency risk.

How does automatic rebalancing work?

The system uses three strategies, selected based on user configuration and available liquidity.

Three rebalancing strategies

Strategy Capital Efficiency Complexity Typical Scenario
Repay debt Medium — requires reserve Low Simple debt reduction
Add collateral Low — requires reserve Low Maintaining loan size
Deleverage via flash loan High — no reserve needed High Minimizing capital
More about the deleverage via flash loan strategy

Strategy 3: Deleverage via flash loan is the most capital-efficient — it is 3 times more efficient than standard over-collateralization. We take a flash loan (Aave V3 flashLoan or Uniswap V3 flash), repay part of the debt, withdraw some collateral, and return the flash loan. The user pays only the fee (~0.05% Aave, 0.05% Uniswap V3), without needing to hold reserve capital. Gas costs per rebalance are typically a few dollars on Ethereum, significantly lower than potential liquidation losses.

// Simplified deleverage logic via Aave flash loan
function executeOperation(
    address[] calldata assets,
    uint256[] calldata amounts,
    uint256[] calldata premiums,
    address initiator,
    bytes calldata params
) external returns (bool) {
    // assets[0] = debt token (USDC)
    // amounts[0] = amount to repay
    
    // 1. Repay debt in Aave
    IPool(aavePool).repay(assets[0], amounts[0], 2, userAddress);
    
    // 2. Withdraw equivalent collateral
    IPool(aavePool).withdraw(collateralAsset, collateralAmount, address(this));
    
    // 3. Swap collateral → debt token via Uniswap V3
    swapExactOutputSingle(collateralAsset, assets[0], amounts[0] + premiums[0]);
    
    // 4. Return flash loan + premium
    IERC20(assets[0]).approve(aavePool, amounts[0] + premiums[0]);
    return true;
}

Learn more about flash loan and Chainlink Automation.

Trigger mechanism: Chainlink Automation

For monitoring HF, we use Chainlink Automation (formerly Keeper Network). checkUpkeep() reads the current collateralization ratio via IPool.getUserAccountData(), compares it with the target threshold. If HF < threshold, performUpkeep() calls the required strategy.

Important nuance: checkUpkeep() is executed off-chain by Chainlink nodes. This means expensive computations can be done inside it without gas. We move all strategy selection math there, and performUpkeep() receives the ready parameters via performData.

The alternative is a custom keeper bot. It is cheaper with high user volume but requires infrastructure (VPS, uptime monitoring). For B2C products, we recommend Chainlink — no dependency on our server.

Role model and security

The contract manages the position on behalf of the user via the delegatecredit mechanism in Aave. The user issues approveDelegation() to our contract — it can borrow on their behalf but cannot directly withdraw tokens. This is an important limitation: even if our contract is compromised, the attacker cannot withdraw collateral without a separate step.

// User executes once
IVariableDebtToken(vDebtToken).approveDelegation(
    address(autoManager), 
    type(uint256).max
);

Additional protections: slippage guard on all swaps (maximum 0.5% deviation from TWAP), cooldown between rebalances (minimum 5 minutes to prevent gas drain attacks), and a cap on the maximum operation amount per period. All contracts undergo auditing. We guarantee that each contract is covered by tests and checked for vulnerabilities.

Multi-protocol support

Protocol HF data source Flash loan available Chains
Aave V3 getUserAccountData() Yes, 0.05% ETH, Polygon, Arbitrum, Optimism
Compound V3 getBorrowableOf() Via Uniswap ETH, Polygon, Arbitrum
Morpho position per-market No native ETH, Base

The system is built with protocol abstraction: the ILendingAdapter interface allows adding new protocols without rewriting core logic.

How is the management system developed?

  1. Analytics (2–3 days). Determine protocols, assets, target HF threshold, choose rebalancing strategy. Model scenarios in Python: ETH -50% over 24 hours, flash crash to -80%, gradual decline. Verify that the system reacts in time under realistic Chainlink latency.

  2. Development (5–7 days). Core contract, adapter for Aave V3/Compound, Chainlink Automation integration, fuzz tests for boundary HF values. Fork tests on mainnet with real positions via vm.prank.

  3. Testing edge cases (2–3 days). Simulation: Chainlink oracle frozen for 2 hours, Aave pool paused, Uniswap V3 pool with low liquidity. Each scenario is a separate Foundry test with fork.

  4. Deployment (1–2 days). Goerli/Sepolia with test Aave, then mainnet via multisig.

A basic system with one strategy and one protocol — 1–1.5 weeks. Multi-strategy with multi-protocol support and custom dashboard — 2–3 weeks.

What is included in the work

  • Architecture and API documentation.
  • Source code of smart contracts with comments.
  • Integration with Chainlink Automation.
  • Mainnet deployment via multisig.
  • Training for the client's team.
  • Technical support for 1 month after deployment.

Contact us to discuss details and order development. Get a consultation from our engineers — we will assess your project for free. Turnkey development from 1 to 3 weeks depending on requirements.

DeFi Protocol Development

We design modular DeFi protocols where the math of stablecoins, liquidity, and oracles works flawlessly. Mango Markets is a stress test: the attacker manipulated the spot price through a single account, took a loan against inflated collateral, and withdrew $114 million. The oracle took the price from a single source without TWAP. Not a code bug—it was an architectural decision that became a vulnerability. Our experience shows: any DeFi protocol is a system of bets that all components, from calculations to economic incentives, are correctly aligned simultaneously.

We don't write code under the 'if it works, don't touch it' mindset. We model stress scenarios: cascading liquidations, depegs, flash loans. Only then do we build events that won't break the protocol.

Why are oracles a critical component of DeFi?

Most major DeFi hacks started with oracle manipulation. Let's break down the three layers we use in every project.

Spot price as oracle—not an option. Uniswap v2 spot price can be shifted by a flash loan in one transaction. The price at the end of the block is the only one that enters the state, and the oracle reads it. Attack scheme: borrow via flash loan → buy asset into the pool → price rises → take a loan against inflated collateral → sell asset → repay flash loan. One transaction.

TWAP as protection. Uniswap v3 observe() averages the price over a period (30 minutes). Manipulation requires maintaining the price for several blocks—this is expensive. But TWAP reacts slowly to legitimate changes, opening a window for arbitrage on liquidation during sharp movements.

Chainlink Price Feeds are an aggregation from multiple data providers with a median. Standard for lending. Problem: heartbeat 1–24 hours and deviation threshold 0.5%. If the price doesn't move, the feed may not update for a day. In volatile markets—lag.

Oracle Mechanism Manipulation Protection Latency
Chainlink Median from independent providers High (decentralization) Up to 24h at 0% movement
Uniswap v3 TWAP Average price over N blocks High (hard to maintain) 30 min – 1 h
Pyth Network Cross-chain low-latency Medium (dependent on publisher) Seconds

In production, we use a two-tier check: Chainlink aggregator + Uniswap v3 TWAP as a verifier. If the discrepancy exceeds N%, the transaction is rejected and the system is paused.

How to protect a DeFi protocol from flash loan attacks?

Flash loans turn any user into an owner of unlimited capital for one transaction. Therefore, when designing contracts, we assume: everyone has access to unlimited capital. This completely changes the threat model.

Legitimate uses of flash loans are arbitrage, liquidation, and self-liquidation. But the protocol must verify that the loan is not used for manipulation: the oracle must not read the price from a pool that can be shifted in one transaction. We add checks on block.timestamp and minimum liquidity depth.

Key Components of DeFi Architecture

Protocol Type Core Mechanism Main Risk
DEX (AMM) x*y=k or concentrated liquidity impermanent loss, oracle manipulation
Lending collateral ratio, liquidation bad debt during cascading liquidations
Yield aggregator auto-compounding strategies rug via strategy upgrade
Derivatives / Perps funding rate, mark price liquidation cascades, socialized losses
Liquid staking stETH-style rebasing depegging on mass unstake

AMM: From x*y=k to Concentrated Liquidity

Uniswap v2 uses x * y = k. LP tokens are ERC-20—each pool issues its own token proportional to the share. Problem: liquidity is spread across the entire curve, most of it unused.

Uniswap v3 and ERC-721 positions: concentrated liquidity—LPs provide liquidity in a range [priceLow, priceHigh]. Capital efficiency up to 4000x for stable pairs. But ERC-721 breaks vault strategies built for ERC-20. Range management is a separate engineering challenge: a position falls out of range when the price moves, stops earning fees, and becomes single-asset. Protocols like Arrakis Finance automatically rebalance. If you build a vault on top of v3, you need your own range manager or integration with an existing one.

Slippage in v3 is calculated via sqrtPriceX96—96-bit fixed-point math. Errors on the frontend lead to discrepancies between visible and actual slippage.

Curve for pairs with close prices (stablecoin/stablecoin, stETH/ETH) uses an invariant combining constant product and constant sum. Lower slippage within the peg range. Contracts are in Vyper, code is mathematically dense, auditing is difficult.

Lending Protocols: Collateral, Liquidation, Bad Debt

LTV defines the maximum loan against collateral. Liquidation threshold is the level for liquidation. The difference is the buffer for the liquidator. Typical example: LTV 75%, liquidation threshold 80%, bonus 5%. If the price drops 20%+, the position is open for liquidation.

Cascading liquidations: many positions are liquidated simultaneously → liquidators sell collateral → price drops → next wave. LUNA/UST 2022 is a classic cascade.

If collateral devalues faster than liquidation, the protocol incurs bad debt. Aave uses a Safety Module (staked AAVE), Compound uses reserves. Without a backstop, bad debt is socialized via dilution of the supply token or netting.

Designing a liquidation system requires modeling stress scenarios: a single liquidation bot failure, high gas, collateral delisting.

Yield Farming and Incentive Mechanics

Liquidity mining distributes governance tokens to LP providers. Problem: mercenary capital—farmers come, sell tokens, leave. TVL is illusory.

Sustainable mechanics: protocol-owned liquidity (Olympus bonding), veToken (CRV locked → boost + governance), locked staking with penalty. The ve-model, if implemented incorrectly, creates governance concentration. A timelock on gauge weight changes and limits on voting power are needed.

What Our DeFi Protocol Development Includes

  • Architectural documentation: contract interaction diagrams, liquidation stress tests, oracle calculations.
  • Implementation in Solidity 0.8.x with OpenZeppelin 5.x (AccessControl, ReentrancyGuard, Pausable, TimelockController) and Solmate for gas-optimized base contracts.
  • Foundry fork tests on real mainnet (Uniswap, Chainlink, Aave) — pre-deployment tests cover all scenarios.
  • Audit: at least two independent auditors for TVL over $1M. Code4rena or Sherlock for bug bounty.
  • Deployment with Gnosis Safe 3/5 multisig + timelock 48–72 hours.
  • Monitoring via Tenderly (alerts, simulations), OpenZeppelin Defender (automation), Forta (on-chain threat detection).
  • Post-launch support: updates, patches, upgrades via proxy.

Our Expertise and Experience

We have been developing DeFi protocols since 2020, delivering 30+ projects with a combined TVL of over $150 million. Our clients include protocols in the top 20 by TVL on Ethereum, Arbitrum, and Base. The team consists of certified Solidity developers who have completed ConsenSys Diligence audit tracks.

DeFi basic principles that we apply in practice.

Timelines

  • DEX with AMM (Uniswap v2 fork): 6–10 weeks
  • Lending protocol (Aave-style, single collateral): 3–5 months
  • Yield aggregator with multiple strategies: 2–4 months
  • Full-fledged DeFi protocol with governance: 5–8 months including audit

Cost is calculated individually—contact us for a project estimate.

Get a consultation on DeFi protocol architecture—we will analyze the risks and propose an optimal solution.