Inspiration

While there are many options to trade cryptocurrencies on Solana, the most advanced and interesting ones seem to concentrate on other blockchains. We want Invariant to change that. The idea of Uniswap, providing liquidity only within a specified price range, seemed to be the most promising so we decided to bring it to Solana.

What it does

At first glance, Invariant might look like just another exchange, with liquidity providers, swaps, and trade fees. The difference lies in making it possible to provide liquidity just over specified price ranges. This has an effect of keeping liquidity where the price is, where it is needed the most.

From the trader's point of view

Because liquidity is in a sense cheaper on Invariant, it seems only natural that traders benefit from it. It makes it possible to reduce the fee on trades by an order of magnitude. The default value is going to be just 0.04%. Moreover, users benefit from greater virtual liquidity as it offers smaller slippage on trades.

From the liquidity provider's point of view

Concentrating liquidity allows for much greater efficiency than in traditional AMMs. In other words, creating the same amount of liquidity requires a smaller amount of tokens. Keeping liquidity near the price can increase that effect even further.

How we built it

The project was built from the start using the invaluable Anchor framework. This helped us achieve a much faster development process, with more time to spend on polishing and focusing on details.

Challenges we ran into

While Solana is great in terms of its architecture, it comes with some constraints to programs built on it. All in all, it required great creativity, trials, and errors, however, we achieved our goal.

Invariant as part of a community

We decided to make Invariant open source as well as source verifiable in the near future. Moreover, aim to introduce isolated staking and DAO.

What's the future looks like for Invariant

We plan to continue to improve Invariant and work hard to make it production-ready and deploy it to the mainnet for everybody to try out and enjoy.

Built With

Share this project:

Updates