Inspiration

At the moment, Wormhole provides a good solution for transferring assets in one chain to another chain, but requires paying gas fees on both sides. This means that if you don't already have native Solana, theres no way to get native Solana without using a CEX. This inconvenience was the inspiration that created Citrus.

What it does

Citrus uses the user's assets to wrap them into Wormhole-wrapped Solana tokens, and then does a market order on Serum to exchange them for Native Solana. Protocols like Atrix ensure that markets exist for wrapped assets on Serum, and arbitrageurs commit to keeping rates on Serum markets as competitive as possible.

Citrus takes a small portion of the Final transaction to pay for gas fees that occurred during the transaction.

This allows users to transfer their native Ethereum, Matic, Avax, Bnb, and Luna to native Sol without having to pay for gas on the SOL side.

How we built it

Citrus uses the wormhole Javascript sdk Serum Orderbooks

and uses a frontend built with React, a backend built with NodeJS, and a smart contract written in Rust.

What's next for Citrus Exchange

Citrus Exchange can support transferring native assets into chains other than Solana using similar methods. Next we plan on adding support to transfer native assets into Matic. If markets exist for wrapped tokens on Solana (such as wrapped Doge) in the future, then Citrus can support cross chain liquidity in these assets as well.

Built With

Share this project:

Updates