Skip to content
NovaDapp

NovaDapp

Cross Chain Lending and Borrowing

Created on 27th June 2025

โ€ข

NovaDapp

NovaDapp

Cross Chain Lending and Borrowing

The problem NovaDapp solves

๐ŸŒ‰ Cross-Chain Bridge (Avalanche Fuji โ†” Sepolia)

A powerful, CCIP-based bridge to wrap and move assets across Avalanche Fuji and Ethereum Sepolia testnets.

๐Ÿ” Supported Bridge Flow

1. Avalanche Fuji โ†’ Sepolia

  • ๐ŸŒ Send Native AVAX from Fuji.
  • ๐ŸŽฏ Receive WAVAX (Wrapped AVAX) on Sepolia.
  • ๐Ÿ”„ Conversion ratio: 1:1 (testnet parity).
  • ๐Ÿงฑ WAVAX can now be used for testing or DeFi interactions on Sepolia.

2. Sepolia โ†’ Avalanche Fuji

  • ๐Ÿ“จ Send WAVAX from Sepolia.
  • ๐Ÿ’ธ Receive Native AVAX on Fuji.
  • ๐Ÿช„ Smoothly unwraps the token and returns native AVAX.

โœ… Facilitates using wrapped tokens on Sepolia for testnet experimentation.


๐Ÿ’ฐ Cross-Chain Lending & Borrowing

Cross-chain mUSDC protocol for testing decentralized credit on multi-chain environments.

๐ŸŒฑ Lend on Avalanche Fuji

  • ๐Ÿช™ Users can mint mUSDC on Fuji.
  • ๐Ÿ“ฅ Deposit into the lending protocol as collateral.

๐Ÿ’ธ Borrow on Sepolia

  • ๐Ÿงพ Borrow mUSDC on Sepolia.
  • ๐Ÿ” Borrowing power depends on user's supplied amount on Fuji.

โš–๏ธ Borrowing Limit

  • ๐Ÿ”ข Borrow up to 70% of the supplied mUSDC (for testing).

๐Ÿ› ๏ธ Powered by Chainlink CCIP for seamless and secure cross-chain communication.

Challenges I ran into

๐Ÿงฉ Challenges I Ran Into

While building the cross-chain lending and borrowing system, I encountered a few notable hurdles:

1. ๐Ÿงฎ Interest Rate Logic Misalignment

Initially, I implemented an interest accrual system based on a fixed APY (Annual Percentage Yield). The idea was to simulate real-world borrowing costs, but due to precision mismatches, rounding errors, and inconsistencies across chains, the calculations led to bugs and unpredictable behavior. After multiple attempts at adjusting the math and managing time deltas properly, I decided to remove the interest logic entirely โ€” at least for this testnet version.

๐Ÿ”ง Resolution: Reverted to a static 1:1 lending/borrowing ratio with a fixed borrow limit (70% LTV), ensuring consistency and simplicity for testing.


2. ๐Ÿ’ฑ Real-Time Price Feed Complexity

I intended to fetch the real-world price of USDC (e.g., via Chainlink oracles) to calculate more accurate collateral values. However, integrating price feeds across chains introduced latency and sync issues. Additionally, when testing on Sepolia and Fuji, price feed contracts were either unavailable or unreliable for test tokens like mUSDC.


3. ๐Ÿ” Cross-Chain Message Ordering

One subtle issue I faced was the timing between user actions (like withdrawals) and their corresponding CCIP messages. For example, users could withdraw tokens before their cross-chain message was confirmed, creating sync issues between chains.


๐Ÿค” Lessons Learned

  • Sometimes, simplicity is more robust โ€” especially in multi-chain environments.
  • Cross-chain development introduces synchronization and finality delays you donโ€™t face in single-chain systems.
  • Testnet limitations (like missing price feeds or liquidity) require pragmatic workarounds that still simulate real-world logic.

These challenges helped shape a more stable, testable system โ€” and gave me better insight into designing for eventual mainnet deployment.

Tracks Applied (2)

Cross-Chain Solutions

using CCIP it sends messages through fuji chain and receives on sepolia also works on vise-versa.

Avalanche Track

Built on top of avalanche fuji for robust cross chain experience with sepolia chain.
Avalanche

Avalanche

Discussion

Builders also viewed

See more projects on Devfolio