Search projects, hackathons, sponsors and tech

    ← All projects

    Demo

    About

    The problem it solves # OmniFi — Automated Cross-Chain RWA Vault ### Built for the Chainlink Chromion 2025 Hackathon --- ## I. Overview OmniFi is a cross-chain, automated vault protocol that brings real-world assets (RWAs) such as carbon credits into the decentralized finance (DeFi) ecosystem. It uses Chainlink services to enable: - Real-time valuation through price feeds - Risk-aware rebalancing using automation - Secure cross-chain transfers through a mint-and-burn coordination process powered by Chainlink Functions --- ## II. Key Features - **RWA Tokenization**: Users can mint dynamic ERC-20 tokens representing RWAs like carbon credits directly on Avalanche Fuji. - **Live Price Valuation**: Chainlink Data Feeds fetch up-to-date ETH/USD prices to value deposits accurately. - **Volatility-Aware Automation**: A custom volatility index monitors market shifts. If it exceeds a 5% threshold, Chainlink Automation triggers vault rebalancing. - **Cross-Chain Transfers**: Manual transfers are handled via a secure mint-and-burn mechanism. Execution is coordinated using Chainlink Functions. --- ## III. Chainlink Services Used - **Chainlink Data Feeds** Used for real-time ETH/USD pricing to ensure accurate RWA token valuation. - **Chainlink Automation** Automatically rebalances vaults across chains if volatility exceeds 5%. - **Chainlink Functions** Coordinates mint-and-burn logic for safe manual transfers across chains. - **Simulated CCIP Functionality** Due to technical limitations (CCIP requiring verified tokens), we used Chainlink Functions to simulate cross-chain execution logic securely. --- ## IV. Architecture Flow - Users connect MetaMask and mint RWA-backed ERC-20 tokens on Avalanche Fuji. - Vaults use Chainlink Data Feeds to track asset value. - A custom volatility index is continuously monitored. - If volatility exceeds 5%, Chainlink Automation rebalances assets across chains. - Manual transfers burn tokens on one chain and mint on another, triggered through Chainlink Functions. - Yield-aware routing and logic handled onchain. [View Architecture Diagram](https://github.com/chrsnikhil/OmniFi/blob/main/public/architecturediagram.png) --- ## V. Tech Stack - **Frontend**: Next.js, Tailwind CSS - **Smart Contracts**: Solidity (ERC-20) - **Vault Engine**: Chainlink Automation - **Cross-Chain Logic**: Chainlink Functions - **Price Feeds**: Chainlink Data Feeds (ETH/USD) - **Supported Chains**: Avalanche Fuji, Base Sepolia - **Wallet Integration**: MetaMask - **Blockchain Explorer**: Snowtrace --- VI. Smart Contracts ## Smart Contracts Overview ### **Vault.sol** - [View Vault.sol](https://github.com/chrsnikhil/OmniFi/blob/main/hardhat/contracts/Vault.sol) - **Chainlink Integration:** Automation, Data Feeds - **Description:** Handles deposits, tracks ETH/USD prices using Chainlink Data Feeds, and automates rebalancing if volatility exceeds 5%. --- ### **TransferCoordinator.sol** - [View TransferCoordinator.sol](https://github.com/chrsnikhil/OmniFi/blob/main/hardhat/contracts/TransferCoordinator.sol) - **Chainlink Integration:** Functions - **Description:** Uses Chainlink Functions to fetch external yield data (via off-chain JavaScript) and coordinates secure cross-chain transfers. --- ### Chainlink Data Feeds — `Vault.sol` - `import "@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol";` - Uses `AggregatorV3Interface` for `priceFeed`. - `getLatestPrice()` fetches `latestRoundData()`. - Dynamically adjusts deposit limits and calculates volatility. --- ### Chainlink Automation — `Vault.sol` - `import "@chainlink/contracts/src/v0.8/automation/AutomationCompatible.sol";` - Implements `AutomationCompatibleInterface`. - `checkUpkeep()` monitors conditions. - `performUpkeep()` executes automated rebalancing. --- ### Chainlink Functions — `TransferCoordinator.sol` - `import "@chainlink/contracts/src/v0.8/functions/v1_0_0/FunctionsClient.sol";` - `import "@chainlink/contracts/src/v0.8/functions/v1_0_0/libraries/FunctionsRequest.sol";` - Extends `FunctionsCli --- ## VII. Resources - Live Demo: [https://omni-fi-ruxn.vercel.app](https://omni-fi-ruxn.vercel.app) - GitHub: [https://github.com/chrsnikhil/OmniFi](https://github.com/chrsnikhil/OmniFi) --- ## VIII. Built By - **Chris Nikhil** — [@chrsnikhil](https://github.com/chrsnikhil) - **Aditya** — [@alienworld1](https://github.com/alienworld1) - UX & Testing — Team OmniFi - Project submitted for Chainlink Chromion 2025 Hackathon --- ## Tagline **Tokenize. Rebalance. Transfer.** OmniFi brings real-world assets onchain with intelligent, automated cross-chain execution.

    How it's made

    Challenges we ran into ## Challenges I Ran Into One of the core challenges we encountered was implementing seamless cross-chain token transfers while dealing with the constraints of verified tokens. Chainlink CCIP, while powerful, requires token contracts to be pre-verified, which posed a limitation for our architecture — OmniFi mints custom ERC-20 tokens dynamically based on user-submitted asset metadata (e.g., carbon credits). Since token verification isn’t feasible for on-the-fly minting, we architected an alternative solution: using Chainlink Functions to coordinate mint-and-burn operations across chains. This allowed us to maintain secure, verifiable token state transitions without needing native CCIP integration — all while preserving flexibility for dynamic asset generation. Designing and testing this orchestration layer to mimic CCIP-like behavior using Chainlink Functions took careful planning and debugging. In the end, this workaround allowed us to retain the cross-chain guarantees we envisioned without compromising technical feasibility or security.