1 of 12

FluX Finance

Dynamic Liquidity Management

Hackathon Submission | EthDenver 2025

​

2 of 12

What is FluX Finance?

​

  • DeFi protocol that sits between 2 x liquidity pools:
    • Uniswap v4
    • Silo Finance v2 lending pool

​

​

  • Dynamically manage unused liquidity �= re-allocate it between pools

​

  • goal: don’t let liquidity “idle” (= sleep) and optimize yields for liquidity providers across DeFi
  • ​

3 of 12

What is the problem?

  • Liquidity providers can provide liquidity that works in specific price ranges for the pair

• If the price range is not reached, the liquidity sits there, and does not generate any revenue.

​

Idle liquidity does not generate revenue

4 of 12

How FluX Finance solves that?

  • On every swap or every borrow:
    • check if liquidity is “idle” on Uniswap
    • if that’s the case, re-allocate the liquidity to Silo Finance v2 to earn borrowing interests

​

  • Moves liquidity back to Uniswap when price is back to range configured by liquidity provider

​

  • Ensures capital efficiency and maximizes yield for LPs.

5 of 12

Basic flow

6 of 12

How is it implemented?

  • Use hooks available in Uniswap v4 and Silo v2
  • Hooks triggered:
    • before swap
    • before borrow

​

Logic:

  1. check the price from ChainLink data feed
  2. Check the range from Uniswap v4 pool
  3. If price is out of range:
    1. ⬇️ 🦄 decrease liquidity in Uniswap
    2. ⬆️ 🔲 increase liquidity in Silo

7 of 12

Basic MVP implementation (GitHub)

https://github.com/CJ42/Flux-Finance---EthDenver-2025-Hackathon

​

The MVP is a minimum implementation for simplicity:

  • moving funds from one liquidity provider only
  • move a fix amount of liquidity (5 ether) between pools
  • only set and hardcoded to ETH / USDC pool

​

Why ChainLink to get price vs getting price on-chain

Price and data is pre-computed on ChainLink oracles. Cheaper to retrieve and less gas costly

​

Technologies used:

8 of 12

Ideas for future improvement (1)

Selection criterias for when to move liquidity

​

  • FIFO model: First-in First-out

= benefit those who provided liquidity first

​

  • Opt-In

= you can opt-in to choose if you want to have part of your liquidity re-allocated

​

9 of 12

Ideas for future improvement (2)

Chainlink Keepers to automate re-allocation

​

📍 currently: uses Chainlink's USDC/wETH Price Feed for market data.

​

🔮 future: use automated keeper to monitor price range changes and re-allocate (every 24 hours for instance)

​

👍🏻 Benefits: less operation on-chain, less costly for users to swap (don’t put cost on users side)

10 of 12

What did we learn?

  • How to setup hook permissions for:
    • Uniswap - getHookPermissions(...)
    • Silo - hookReceiverConfig(...)

​

  • Write custom behaviour in hooks
    • Uniswap - beforeSwap(...)
    • Silo - beforeAction(BORROW)

​

Learnings on these two new DeFi protocols + their hook functionalities

11 of 12

The Team

Jean

smart contracts

Jordy

product + DeFi

Founder

Stakingverse

Lead smart contracts

LUKSO

12 of 12

Thank you!

Quick walkthrough over the code