Search projects, hackathons, sponsors and tech

    ← All projects

    Pulse Finance

    Cross-Chain Stablecoin Auto-Rebalance Vault

    Demo

    About

    The problem it solves # 🧠 Pulse: Top of the Stablecoin Stack ![Pulse Diagram](https://assets.devfolio.co/content/b5e4a0c8f1064310ac926bc59c390e57/ed12e23e-93eb-40e9-b75f-91a81510e193.png) In the last year, **stablecoin-based yield strategies** have exploded in popularity across DeFi. As a result, **over $11 billion** is now deployed in stablecoin yield products—up from just $1.5B in early 2024. The trend is clear: > People don’t want to gamble—they want **safe, predictable yield**. But today’s yield farming is still frustrating and complex: > You have to monitor multiple chains, compare APYs, bridge assets manually, and constantly chase the best rates. > It's tedious, error-prone, and exposes you to bridging risks and missed opportunities. --- # 💡 Pulse simplifies stablecoin yield farming into one smart layer: - **🚀 One-click deposit** Just deposit USDC/USDT. Pulse takes care of the rest—bridging, vault selection, and yield optimization. - **🔁 Auto-rebalancing** Smart contracts continuously monitor the best opportunities and reallocate funds automatically. - **🌐 Cross-chain optimization** Pulse moves capital across chains to wherever yield is best, unlocking **maximum efficiency** without user intervention. - **🧯 Volatility protection** By focusing purely on **stablecoin vaults**, Pulse protects users from the risks of volatile DeFi positions. --- > Pulse turns DeFi yield into a **stable, safe, and hands-off experience**—so you can earn more by worrying less.

    How it's made

    Challenges we ran into **What happened?** We wanted our vault-rebalancing logic to live entirely on-chain, using Chainlink's CCIP to send allocation instructions across multiple chains (Ethereum Sepolia, Base Sepolia, Arbitrum Sepolia, and Avalanche Fuji). **The hurdle** - CCIP message payloads needed to be optimized for efficient cross-chain communication while maintaining data integrity. - Our allocation struct (`PortfolioLib.Allocation`) contained multiple fields that needed proper serialization for CCIP transmission. - Testnet relayer timeouts and message delivery verification required robust error handling and logging mechanisms. **How we overcame it** 1. **Optimized payload structure**: Used a minimal `abi.encode(strategyIndex, allocationAmount)` format for CCIP messages, keeping only essential data (strategy index and amount) to minimize payload size while maintaining functionality. 2. **Efficient struct design**: Designed the `PortfolioLib.Allocation` struct with compact data types (`uint64` for chain selector, `uint16` for strategy index and percentage) to optimize gas usage and message size. 3. **Enhanced CCIP integration**: Implemented a dedicated `CCIPRouterAdapter` wrapper that handles message construction, fee calculation, and proper CCIP Router interaction with comprehensive error handling. 4. **Comprehensive testing**: Built extensive test suites including `MockCCIPAdapter` for local testing, cross-chain integration tests, and end-to-end scenarios to ensure reliable message delivery and proper strategy execution. > Result: our on-chain allocator now reliably bridges user funds to the highest-yield vault across any networks, fully automated via CCIP with optimized message payloads and robust error handling.