Introducing Kromatika

With the launch on Uniswap v3, the DEFI community got a lot of opportunities that Uniswap v2 was not able to provide mainly because of how the liquidity was managed.

CONCENTRATED LIQUIDITY

Uniswap v3 brings a new feature on the table, namely the possibility for the users to:

  • Select different fees when providing liquidity to the pools (0.05 %, 0.3% and 1%).
  • Select a price range where they want to provide their liquidity for, known as concentrated liquidity.

We will mainly focus on the second feature here and the ability to provide concentrated liquidity for pairs in a pool.
Every Uniswap v3 pool is identified by the 2 tokens in the pool (known as pairs) and the fee selected for the pool (0.05 %, 0.3% or 1%).

Every Uniswap v3 pool has a current / market price, defining the price between the 2 tokens in the pool.

When adding liquidity to the Uniswap v3 pool, user can (in the given order):

  • select the pairs (pool) and the fees. This is the Uniswap v3 pool identifier.
  • select the target price range (min-max) for providing the liquidity. The users can usually select a price range left (lower) or right(higher) than the current price.
  • deposit the amounts of the 2 tokens in the pool according to the price range selected.

Please note that target price range consist of min — max target prices.

Lets discuss about the target price range selection and the rules for it:

  • If the target price range is including the current price, the user needs to deposits amounts for the both tokens. This deposit will be immediately used (during swaps), since its price range is within the current price.
  • If the target price range is higher than the current price, the user can only deposit one of the tokens i.e. the first token of the pool. This deposit will only be used when the current price moves within this price range.
  • If the target price range is lower than the current price, the user can only deposit one of the tokens, i.e. the second token of the pool. This deposit will only be used when the current price moves within this price range.

The second and the third point are known as range orders in Uniswap V3.
LIMIT ORDERS

Limit orders are used in the crypto world whenever users:

  • want to SELL a token at a target price, usually when the price is higher than the current/market price, for example sell 1 ETH for USDC whenever the price reaches 4000 USDC/ETH.
  • want to BUY a token at the given price, usually when its price is lower than the current/market price, for examples buy 1 ETH with USDC whenever the price reaches 3000 USDC/ETH.

This is a well known investment strategy: buy low, sell high.
Those 2 mentioned cases of buy and sell limit orders are exactly what can be implemented using Uniswap v3 range orders by selecting a thin target price range.
HOW IT WORKS ?

Uniswap v3 automatically process your limit orders whenever the current / market price reaches and surpasses your selected THIN target price range.

Once the current /market price moves on the other side of your THIN target price range, your tokens are considered sold (in case of a sell limit order) or bough (in case of a buy limit order).

Sell Limit Order

User places sell limit orders for a given token pair on Uniswap v3 if they select a THIN price range higher than the current price of the pool.

Sell 1 ETH for USDC whenever the price reaches 4000 USDC/ETH. Note the min and max price are close to each other, this is what is referred as THIN price range.

Once the current price moves ABOVE the max price of 4048 USD per ETH, your ETH tokens will be sold (automatically by Uniswap v3) for USDC.

You will get the 4048 USDC amount from selling the ETH, as WELL as any additional fees earned from Uniswap v3 for providing the liquidity. That means you are getting slightly more USDC than what you placed the sell order for, which is better than if you were to swap ETH to USDC directly.

Buy Limit Order

User places buy limit orders for a given token pair on Uniswap v3 if they select a THIN price range lower than the current / market price of the pool.

Buy ETH with 3000 USDC whenever the price reaches 3000 USDC/ETH. Note the min and max price are close to each other, this is what is referred as a THIN price range.

ETH/USDC buy limit order on Uniswap v3

Once the current price moves BELOW the min price of 2981 USD per ETH, your USDC tokens will be sold (automatically by Uniswap v3) for ETH.

You will get the 1 ETH amount from selling the 3000 USDC, as WELL as any additional fees earned from Uniswap v3 for providing the liquidity. That means you are getting slightly more ETH than what you placed the buy order for, which is better than if you were to swap USDC to ETH directly.

THE PROBLEM ?

This feature is perfect, however there are 2 problems with it:

  • The user needs to MANUALLY collect and withdraw the amounts obtained on Uniswap v3 using the limit order.
  • Most important, the user needs to do this RIGHT AFTER the current / market price surpasses your target price range.

Of course the user can sit, monitor, wait 24/7 and do it on their own. But why do that, when all of this can be automated.

This is where Chainlink keepers comes into place.

CHAINLINK KEEPERS

Next chapter would be related to how to configure Chainlink keeper to automatically monitor the limit orders and how to cover its upkeep cost from the fees charged to the end users.

HOW IT WORKS

KROMatika consists of:

  • Audited smart contracts for creating trades and processing them, all powered by Uniswap.
  • UI for interacting with KROMatika smart contracts .
  • Off-chain decentralized processing services, responsible for active processing of the trades, powered by Chainlink Keepers.
  • KROM token — utility ERC20 token used for paying the service fee. This fee is paid by the users and is used to cover the cost of the processing services (Chainlink Keepers).

# PLACING TRADE

Placing a DEX trade on Kromatika is pretty simple:

  • Go to [app.kromatika.finance] (make sure you select the Kovan Test Network from your metamask wallet, other networks to follow).
  • Select the token and the amount you want to sell (example 1 ETH)
  • Select the token you want to receive. (Example USDC)
  • Select the target price and place the trade. (Example target price: 1ETH = 5300 USDC).
  • As a result of placing the trade, you will receive a unique Non-Fungable Kromatika trade position token.

Trading ETH for DAI

Congratulations. First step done. Now what is remaining is funding your account with KROM tokens and waiting for the trade(s) to be processed.

  • Go on [app.kromatika.finance]to list all your active trades
  • Check the minimum KROM token balance needed for processing the trades. If your current KROM balance is lower than the minimum KROM balance, you’ll need to fund your account with KROM tokens.

KROM TOKENeconomy

  • [KROM token] is a non-mintable ERC20 token, deployed on Ethereum, secured by OpenZepellin and audited by MythX, having a 100 millions of total supply EVER.
  • 60 millions KROM tokens are already available for trading on Uniswap V3 MAINNET. Get your KROM tokens
  • Starting token price is: 1 KROM = 1 000 gwei = 0.000001 ETH.
  • For better security and prevention from rug pulls hacks, the proof of liquidity (position) has been burned.
  • The majority of the token is in the community hands forever.
  • 20 millions KROM tokens will be available for trading on Layer2 Uniswap (Arbitrum and Optimism) in the first month of the launch.
  • The rest of the tokens: 20 millions KROM tokens will be held in a multisignature Gnosis Safe wallet and used solely for project funding.

# PROCESS TRADE

During the processing, the service fee is deducted from your KROM balance. The service fee is used to automatikally replenish the service ( Chainlink Keepers ), so that it can continue managing the trades.

After the trade has been processed, the user can collect the amount from it.

If the trade hasn’t been processed for a while, the user can cancel it.

This concludes the user interaction with the platform:

1. Placing Trade(s).

2. Funding your account with KROM tokens.

3. Claiming the amounts from your processed trades.

4. Cancelling non-processed trades.

# WHY KROMatika

  • When doing swaps on Uniswap V3, the user pays what is called a swap fee that is: 0.05%, 0.3% or 1%. When placing trades on KROMatika, the user does not pay swap fee, but pays service fee instead.
  • The swap fee depends on the amount being swapped, whereas the service fee is FIXED.
  • The actual service fee is paid in ETH, since this is the real cost of the processing services (gas fee), however the users always pay with KROM tokens.
  • KROM token allows for huge savings on the service fee, close to having a ZERO service fees.
  • Early KROM token holders would have HUGE savings on service fees, because they would be buying the token cheap and pay the service fee (which is fixed ETH) when its token price has increased.

Hidden gem: Within the DAPP, the user can choose a lower target gas price for the automatik processing of their trades, even further lowering the service fee, sacrificing some processing speed for lower service fees.

ZERO SERVICE FEE

KROMatika will be deployed on Layer2 (Arbitrum and Optimism) because of the lower gas cost.

The service fee on Layer 2 would be around 0.00002 ETH, expressed in KROM tokens. That’s 1 dollar cent for a service fee.

It could not get any cheaper. Well, it can…. go into earning instead of paying service fees…. and that’s to be discussed later on.

Hello guys

Kromatika DAPP is officially deployed on Optimism One Network.
Kromatika DAPP offers:
NO Swap Fees
NO Front-Running Bots
NO Price Slippage
Come and trade for free at http://app.kromatika.finance/
The 100 first Traders will get their service fees reimbursed
Also there is ongoing BUG Bonuty,each reported BUG gives you 500$KROM.
You can report bugs here

Introducing Kromatika, or what I see as “The most innovative solution against Ethereum swap fees”.

Links to Kromatika:

1 - Uniswap v3

To understand Kromatika, you first have to understand Uniswap V3. Uniswap is the leading DEX and one of the biggest DeFI protocols that exist today. The V3 of Uniswap introduced many interesting and innovative features (multiple fee tiers, improved Uniswap Oracles…). But we’ll focus on one of them. Learn more here

  • Uniswap V2 vs V3 & Concentrated liquidity
    • Before, on V2, users who provided LPs had their liquidity evenly spread across all theoretically possible prices ($0 to infinity, as the upward price growth of an asset, is potentially unlimited). This was to ensure that whatever the price was at, swaps were technically possible.
    • Unfortunately, this was not optimal , especially for Uniswap V2 stablecoin pools (Ex: DAI/USDC) .
      • As they are dollar-pegged , the vast majority of swaps occur in a +/- 1% price variation from $1 ( $0.99-$1.01 price range ).
      • This means that provided liquidity in that pool will most likely never be used outside of that price range. Nobody wants to sell 1 USDC for $0.97 as much as nobody wants to buy 1 DAI for $1.03. Thus, this unused liquidity generates no swap fees and providers receive smaller, unoptimized rewards.
      • The DAI/USDC pool example makes the flaws of V2 easier to understand.

Example for the DAI/USDC LP

  • Uniswap V3’s Concentrated liquidity
    • In V3, liquidity is not evenly spread on the whole price curve. Instead, users can manually choose the price range they want to “concentrate” their LPs.
      • Example: Imagine you are putting liquidity in the ETH/DAI pool. You’re putting 1 $ETH and 4000 $DAI. You choose to concentrate your liquidity in the $3800-$4200 price range. This simply means that whenever someone swaps $ETH for any amount of $DAI between 3800-4200 $DAI, you get to earn the fees from that swap. If $ETH is traded outside the 3800-4200 $DAI range, then you get 0 fees .

Example for ETH/DAI LP

  • This improves capital efficiency, as every user can set their own LP strategy, and target a specific price range to fit their personal analysis.

Concentrated liquidity makes higher capital efficiency

  • Uniswap V3’s Range orders Now that you know more about the concept of concentrated liquidity, understanding range orders should be easier.Users only deposit 1 single asset instead of 2, at a price range of their choice. This price range has to be above the current market price.
    • If this market price is hit, then the token will be sold against the other underlying asset.
      • Example: Take the DAI/USDC pool. The current $USDC market price is 1.001 $DAI. Imagine you put 1M $DAI at the price range of 1.002-1.003 $USDC.When the price of $DAI reaches your price range, your $DAI will instantly be converted into $USDC and you’ll also earn fees for that exact transaction, as you’re providing liquidity.
    • Do not mistake this for limit sell orders. To transform range orders into limit sell orders, users have to manually remove their deposited single asset liquidity as soon as it gets converted (when the price range is hit).
      • Example: You provided $DAI, your tokens got converted into $USDC, which means that your price range has been hit.
    • However, if the market price goes down again, it re-triggers your price range thus reconverting your $USDC into $DAI (remember, you are providing liquidity which is concentrated in your target price range, you are not limit selling, you do that to earn swap fees).
    • This means that to do limit selling on Uniswap V3, users have to constantly monitor their LP position and the current market price, and that is negative for UX.

2 - Leveraging Uniswap V3 for limit orders

Kromatika dApp

Now you know more about concentrated liquidity and range orders.

But what does Kromatika bring to the table after all?

Basically, Kromatika does all the steps users have to do in Uniswap V3 range orders on their behalf. The protocol automates the process of removing the liquidity after your price range has been hit.

From a user’s perspective, the only interaction is to select a token and place a limit order on Kromatika. The rest is done by the protocol itself, reducing the steps by a lot.

How does it work?

Smart contracts alone can’t trigger or initiate their own functions at arbitrary times or under arbitrary conditions. State change will only occur when a transaction is initiated by another account (such as user, oracle, or contract).

Chainlink Keepers provide users with a decentralized network of nodes that are incentivized to perform all registered jobs (or Upkeeps ) without competing with each other.

When placing a limit order on Kromatika, you are placing a range order on Uniswap v3.

Kromatika uses Chainlink Keepers to monitor everyone’s position so that when a user’s target is hit, the amount deposited gets automatically swapped then sent to the user’s wallet.

Keepers will simply check 24/7 if your target price is reached or not. If it is, then they will remove your liquidity (which has already been swapped for the desired token), and send the intended swapped mount + swap fees directly to your wallet.

$KROM token is the token users pay as service fees to Kromatika. (They cover Chainlink keepers fees and network fees). This means $KROM has an intrinsic value, being a utility token. Service fees are also inverse proportional to the $KROM price, as Keepers fees and network fees do not grow (in the quantity of ETH).

What are the benefits of using Kromatika rather than other DEXes?

  • Krom provides liquidity (Kromatika limit order = doing LPs)
  • You earn additional fees through Kromatika’s limit orders
  • Other projects such as 1inch have also implemented limit orders, but they are simple swaps that are triggered at a target price (as they are doing it over Uniswap V2, not V3).
  • Not everyone wants to spend ETH at each TX. Lots of people want to stack this token, so paying in $KROM is better in that sense.

Who is behind Kromatika?

The core team is composed of three people, who are all developers.

@Kromatika.Finance please use the same topic instead of creating a new one for each message.

2 Likes

Introducing GASLESS Limit Trades on Kromatika

It’s been 2 months since Kromatika protocol was launched as the first decentralized limit order manager powered by UniswapV3.

During those months, the team has completed a live deployment on Optimism network with a few live deployments on other networks in the pipeline, scheduled for January.

Kromatika has brought a unique solution for traders to do limit trading on DEX, without swap fees, no price slippage and no risk of front-running bots, all supported by Uniswap liquidity.

There were 100 limit trades already created on Optimism and we expect many more to be created once Kromatika protocol hits Arbitrum and Ethereum network.

But before getting to Ethereum, let’s consider the problem that is troubling the network:

THE GAS FEE PROBLEM

Lately, the Ethereum network has seen an increase in network gas fees, making it barely usable for low profile users. This has forced some of the projects and especially users to seek alternatives to other networks where the gas fees are much cheaper.

Even Kromatika joined the effort to deploy its protocol on 3 alternative chains (Arbitrum, Optimism, Polygon) beside Ethereum mainnet to allow its users a cheaper alternative.

However, Ethereum chain still remains one of the biggest, if not the biggest chain with huge trading DEX volume, forcing the projects to look for alternatives how to optimize their DAPPs and save on gas fees as much as possible.

Kromatika also tried to optimize its DAPP and provide as low gas fees for its users as possible. While our smart contracts have been optimized for lower gas costs, still it was not enough. We went even deeper into trying to find solutions on how to avoid Kromatika limit traders to pay gas fees.

The solution has been found !!!

We are thrilled to announce that Kromatika is the first ever GASLESS limit order manager for Uniswap.

Gasless mode in Kromatika

Let’s turn it ON.

HOW TO DO GASLESS TRADES?

Usually, when users are submitting limit trades on Kromatika, they need to pay gas fees that depend on the gas price.

This gas price varies a lot especially on Ethereum mainnet and sometimes can be as high as 300–400 gwei, resulting in 200–300$ spent just on ETH gas fees.

How can we avoid gas fees ?!

The solution sounds simple: We relay the gas fees to someone who is willing to pay them.

It sounds simple, but it was tricky to explain and implement. That someone needs to be compensated for its effort of relaying the transaction and covering the gas fees. We are calling them Kromatika Relayers.

KROMATIKA RELAYERS

Kromatika Relayers are small micro-services, running on the bullet-proof OpenZeppelin technology, accepting requests from Kromatika users, and submitting their transactions onto the Ethereum blockchain network to be confirmed by the miners.

Kromatika Relayers are publishing the transactions on the blockchain on the user’s behalf, thus covering the ETH gas fees.

But how Kromatika Relayers are getting compensated for their service.

The solution might be simple:

KROM

That’s right. Kromatika protocol gives the opportunity to its users to use KROM for compensating the Relayers. Note, this feature is experimental, optional and every user can decide to enable gasless mode individually. By default, the mode is disabled and ETH gas fees are being paid.

Lets see how the user interaction with Kromatika is, when gasless mode is enabled:

  1. User deposits KROM balance in Kromatika protocol ( this is a blockchain transaction, need to pay gas fees at least once).
  2. User starts creating limit trades on Kromatika (no ETH gas fees being paid).
  3. Some of the limit trades are filled, user gets the amounts from the trade directly in their wallet (no ETH gas fees being paid), this is an automatic step, done by the Chainlink keepers.
  4. User cancels some of their pending limit trades (no ETH gas fees being paid ).

By enabling gasless mode, users can deposit KROM tokens in the Kromatika protocol at least once and use the Kromatika protocol for limit trading all the time, without having to pay a single ETH gas fee anymore.