Video thumbnail

Romi

Romi is a simple, secure crypto wallet integrating multiple chains and tokens into a pair (Tok/Cha)

Romi

Created At

ETHGlobal Cannes

Winner of

Chainlink - Best usage of Chainlink CCIP and/or CCT

1inch - Utilize 1inch APIs

Project Description

Romi: Automatic Crypto Conversion

Romi watches your wallet and automatically converts any tokens you receive into the crypto you actually want, on the chain you prefer. Set your preferences once, and Romi handles the rest.

How It Works

Romi simplifies dealing with different cryptocurrencies and blockchains:

Choose Your Preferences Tell Romi what token you want to end up with and which blockchain you prefer. That's it.

Automatic Swaps When someone sends you any supported token, Romi finds the best exchange rate and converts it automatically. No manual swapping needed.

Cross-Chain Delivery If you want your tokens on a different blockchain than where you received them, Romi handles the bridging automatically.

Easy Setup for New Users

Romi is designed to be straightforward, especially for people new to crypto:

No Existing Wallet Required Don't have a crypto wallet? Romi creates one for you during signup thanks to Privy.

Simple Addresses Instead of long, confusing wallet addresses, you get a readable (and can choose) name like "yourname.romi.eth" that people can actually remember.

Clean Interface The app focuses on what you need to know, not technical details. Set your preferences and you're done.

What's Supported

Right now, Romi works with Base, Arbitrum, and Optimism networks, and supports USDC and WETH. The system is built to add more chains and tokens without effort.

Who It's For

Romi works well for people who:

  • Want to simplify their crypto experience
  • Receive payments in different cryptocurrencies and have it swap into a single one
  • Don't want to manually manage swaps and bridging
  • Are new to crypto and want something straightforward

The goal is for us handle the technical stuff automatically so users can focus on using their crypto rather than managing it.

How it's Made

🖥️ our stack Frontend: NextJS + Privy for SIWE

Wallet Abstraction: [Privy] – To onboard users without existing wallets and create embedded wallets for a seamless start

ENS Integration: [ENS + L2 Registration] – Automatically registers a human-readable ENS (e.g., username.toromi.eth) on supported L2s to make wallet identities memorable and social. We used durin.dev contracts as base to deploy the L2 Registry and Registar

On-chain Data: [The Graph] – For detecting token deposits in registered wallets

Swapping: [1inch API] – Best-route swaps to a destination token

Bridging: [Chainlink CCIP] – Cross-chain delivery of the final token

🧩 How It Works ( Wallet Registration: Users register their wallet and set a destination token and chain. This info is stored and used to determine routing logic later.

Monitoring Wallets: A backend monitor continuously queries The Graph to detect new incoming token balances for registered wallets.

Swap Execution: When a new deposit is detected, we call the 1inch API to find the best route to swap it into the user’s destination token.

Bridge to Final Chain: After swapping, we trigger Chainlink CCIP to bridge the destination token to the chain selected by the user during setup.

🧪 Improvements that could be made CCIP Limitations: Since CCIP doesn’t support all tokens or all routes, we currently only support 3 chains (Base, Optimism, Arbitrum) and 2 tokens. But the system is modula and easy to extend its feature like fallback swaps on destination chains for more supported tokens.

Real-Time Detection: The "monitoring" mechanism isn't webhook-based. It’s polling + caching Graph queries with some throttling. Not ideal for production, but fast enough for a hackathon. 🤝 Partners useful tools The Graph helped us avoid building custom indexers for wallet activity. Massive time saver.

1inch API gave us instant access to multiple DEXs with no need to write on-chain routing logic.

Chainlink CCIP gave us a secure and trusted way to bridge across chains without building our own bridge infra.

Privy: Made onboarding frictionless for non-Web3 users.

background image mobile

Join the mailing list

Get the latest news and updates