Search projects, hackathons, sponsors and tech

    ← All projects

    About

    The problem it solves In today’s Web3 and gaming ecosystems, NFTs are mostly static, offering limited interactivity, financial utility, or connection to real-world actions. Players, creators, and developers lack a system where in-game assets can **evolve dynamically**, reflect **real-world effort**, and be **used across multiple chains** in a verifiable way. Additionally, most DeFi and NFT projects are siloed — they don't leverage cross-chain functionality or verifiable off-chain data to power smarter, more engaging experiences. --- ## What People Can Use It For **Gamers** can mint evolving avatars that mutate based on their real-world behavior (e.g. physical activity, location, weather) and unlock new powers, access, or economic incentives. **Developers** get a toolkit to build cross-chain, data-reactive game logic where traits update securely via Chainlink Functions and sync via CCIP or Avalanche IMP. **DeFi Users** can stake, trade, or lend these dynamic NFTs, whose changing states affect yield curves, collateral health, or governance power. **Players and collectors** get verifiable randomness (Chainlink VRF) and secure automation to ensure trustless upgrades, loot drops, and rarity levels. **Multichain users** can migrate NFTs between L1s (e.g., custom Avalanche subnet → C-Chain → Polygon) and retain trait consistency and utility. --- ## How It Makes Things Easier **No manual updates**: NFT trait changes are automated, trustless, and based on verifiable real-world triggers. **Cross-chain composability**: Using CCIP and IMP, players can carry asset state across chains, removing vendor lock-in. **Verifiable behavior → financial utility**: Users can convert real-life action into financial opportunities, gameplay benefits, or access tokens — without trusting centralized APIs. **Tamper-proof randomness**: Powered by Chainlink VRF, ensuring fairness in loot systems, upgrades, and trait mutations. ---

    How it's made

    Challenges we ran into ### 1. Interchain NFT State Syncing One of the hardest parts was designing a system where dynamic NFTs mutate on a custom Avalanche L1 and then sync their updated state to the Fuji C-Chain or other EVM chains. While Avalanche’s **Interchain Messaging Protocol (IMP)** helped, integrating it with **on-chain snapshot NFTs** and ensuring consistency across chains introduced race conditions and replay risks. --- ### 2. Cross-Chain Messaging with Chainlink CCIP Integrating **Chainlink CCIP** with our existing NFT mutation logic wasn’t straightforward, especially since CCIP assumes messages are about token transfers, not arbitrary state sync. --- ### 3. Chainlink Functions + NFT Updates Using **Chainlink Functions** to trigger NFT trait changes based on real-world APIs (like weather or location) required mapping off-chain JSON to on-chain structs with precision. Errors in the JSON schema or return type would break the function call. --- ### 4. Testing Subnet + Fuji + CCIP Together Coordinating testing across a **custom Avalanche Subnet**, **Fuji Testnet**, and **Chainlink’s CCIP test networks** was complex, as tooling and documentation were fragmented. --- See the Architecture for the solutions: ![image](https://assets.devfolio.co/content/63ca4fda26894187ac6274afd1898c84/d6125429-6f70-4629-9096-c80764f4bb90.png)