# INTRODUCTION

{% hint style="success" %}
**Cardax is a Private, Non-Custodial and Multi-chain DEX.**
{% endhint %}


# What is Cardax?

Cardax DEX is a non-custodial, Automated Market Maker (AMM) decentralised exchange on Milkomeda.

The primary goal of the Cardax DEX is to provide users with products (initially swaps and liquidity pools) with the least amount of congestion possible. We achieve this is achieved in a novel way.

CardaxDEX allows users to trade any ERC-20 token, Cardano native tokens (after converting it)and stablecoins.&#x20;

Large, centralised exchanges (Binance, Kucoin etc) use an order book model and most decentralised exchanges use a standard AMM model.

## **Cardax DEX uses the AMM model.**

*A quick word on order book and AMM exchange models:*

Order book model exchanges work best when there is high liquidity between trading pairs. Users list their buy or sell orders and the exchange matches buy orders to sell orders.

AMM exchanges are better suited to trading pairs that may have low liquidity. Users have the advantage of being [liquidity providers ](https://docs.cardax.io/introduction/www.cardax.io/academy/the-complete-guide-to-liquidity-pools)(LP; that is, supplying their own tokens to a “communal pool” for a trading pair). Any user wishing to make a trade between a pair that has a liquidity pool will be able to do so, even if the market as a whole has low liquidity.

The benefit of AMM exchanges is that because there is a liquidity pool of each pair of tokens, there will always be market for the tokens.

The speed and efficiency that is provided by using the Cardax DEX  should **reduce slippage**.

Slippage is the difference in price between the price at which you made your order and the price at which the order is executed. Primarily this is a problem with low liquidity volatile trading pairs and on DEXs that have long queues of unprocessed transactions built up.

[Impermanent loss](https://www.cardax.io/academy/what-is-impermanent-loss) on the other hand is the bain of liquidity providers on AMM exchanges. Impermanent loss refers to the change in the price of a liquidity provider’s deposited assets, between the price they deposited them at and the current price.

It is called “impermanent” because this loss would only be realised if the LP removes their tokens from the pool before the price returns to its original value.

Version 1 of the Cardax DEX features token swaps and liquidity pools, with more upgrades and products launching in future versions.


# Introduction to Cardax DEX on Milkomeda

Getting started with Cardax on Milkomeda

We are happy to introduce Cardax DEX on Milkomeda. Launching our platform on Milkomeda allows our users to trade wrapped tokens (e.g. Wrapped ADA) with normal ERC-20 tokens. This is powerful because it allows you to finally trade Cardano native tokens for stablecoins, which is currently not possible on the Cardano blockchain.&#x20;

### What is Milkomeda C1?

Milkomeda is a groundbreaking new protocol that brings EVM capabilities to non-EVM blockchains. As development progresses, Milkomeda will expand to offer L2 solutions (rollups) for several major blockchains including Cardano, Solana, and Algorand. Currently, Milkomeda has an EVM-based sidechain connected to Cardano up and running.This the Milkomeda C1 sidechain.

### Why did Cardax build its DEX on Milkomeda?

* Milkomeda provides non-EVM ecosystems the ability to inherit key elements such as rollups and Solidity support from EVM-based ecosystems.
* Developers have access to all of the tooling from the EVM ecosystem. Building, deploying, debugging, and auditing all work the same as in Ethereum. The capability for developers to port projects over from Ethereum will significantly broaden the selection of dApps available on supported L1 blockchains.
* Security consistency among deployments: Multi-chain deployed code has the same security properties, eliminating the need to do individual audits per chain.
* Future innovations in zero-knowledge technology will be implementable as L3+ solutions on top of Milkomeda.
* Milkomeda empowers Cardax to build on chains like Cardano, Algorand, and Solana while tapping into the talent and resources of the largest community for smart contracts (Solidity).
* Scalability. Using Milkomeda, Cardax DEX can scale to hundreds of transactions per second without sacrificing long-term decentralization.&#x20;

### **Is Cardax DEX audited?** <a href="#bbe5" id="bbe5"></a>

Cardax is using the Uniswap V2 Smart Contracts, which have been independently audited by several industry-leading auditing companies. See [Uniswap V2 Audit Report](https://dapp.org.uk/reports/uniswapv2.html)

The validity of on-chain deployed contracts can be verified on launch, simply by comparing their bytecode to our GitHub repositories.

### **How can I make money on Cardax DEX?** <a href="#bbe5" id="bbe5"></a>

You will be able to earn by providing liquidity into liquidity pools and from transaction fees that occur in those pools. Liquidity providers make 0.3% fees.


# GET STARTED

A tutorial about how to interact with Cardax DEX

On the following tutorial, you'll see all the necessary steps to start trading on Cardax DEX on Milkomeda. Let's start!


# Intro

End users can send ADA from the Cardano mainnet to a bridge address and receive wrapped ADA on the Milkomeda C1 sidechain.

The Milkomeda C1 sidechain uses MilkADA as its base asset for paying fees and gas. To access the sidechain, you will need a Cardano wallet with some ADA as well as the MetaMask browser extension.

On the following pages, we will walk through the steps to create a Cardano wallet in Flint, configure MetaMask to get a Milkomeda C1 address, and finally send ADA to be converted into MilkADA on Milkomeda C1.

Our first step is to install Flint Wallet. [Go to the next page to begin](/get-started/set-up-flint-wallet).


# Set up Flint wallet

Flint Wallet is a Chrome extension that serves as a convenient go-to light wallet for DeFi and NFTs. The current version of Flint allows users to enable "Milkomeda mode" to send transactions to the Milkomeda C1 sidechain. Install Flint Wallet by visiting the following link while using Chrome browser and clicking the “Add to Chrome” button: [Install Flint Wallet](https://chrome.google.com/webstore/detail/flint/hnhobjmcibchnmglfbldbfabcgaknlkj)

After installing, click the "puzzle piece" icon ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAABM0lEQVRYCe2WzwrCMAzGfVMPXnbwIAo7+AcFRVFQFEUfTX2QnSvfIDA7s2RNhR0aGFlLm/z2pQ3ruQ5Zr0MsLsFw1UjKRFemKAp3uT1cf5CVHmOrBZdpuz+WIIDBc77erSzht4kgqt5KE6xMFYLe/w7zfL3dJJ99lYSSSx77sF9rojLjfBoEQqAA0poIQ0EtPsFw6kVTBv3E7ylcUm4+GgwFQoe1QqFjN3Vq8QATDDwCcV+vnW/q1K1gAGS96oDmrBVMZ5QByO5wMpUJJTKdGRzaxWpjguDK4s+LZZIOpuaG+Um5cTAMIEhy+CYoLrk/HwxDIBQQY05FWiN5ESYbjmpJoMIvmy/XtbVoBVoTYfA/4vcWDsYvFfZF/Z/RflWMdaIyMZJoYyQYTqmkTFKGU4Cb/wAg3RKRipGFkgAAAABJRU5ErkJggg==) at the top right of the Chrome window to access your extensions. Select **Flint**. Within the Flint Wallet window, proceed past the initial warning screen, click “**Let’s Begin**”, choose your language, click “**I agree**”, and when you arrive at the screen shown below, click the “**Mainnet**” button.

<figure><img src="/files/m17TOvBaFytZbTym5hzP" alt=""><figcaption></figcaption></figure>

Next, click “**Confirm**”, “**Create a new wallet**”, and write down a copy of your recovery phrase.

Confirm the recovery phrase at the next screen, set a wallet password, and click “**Create my wallet**”. For now you can select “**Skip**” at the App Passcode screen, and then click “**Finish**”. You should now have a Cardano wallet, as shown:

<figure><img src="/files/Iqo50prpvO158OaiOpRr" alt=""><figcaption></figcaption></figure>

Note that to proceed further you will need to fund your wallet with some ADA.&#x20;

Next, we will configure MetaMask to connect to the Milkomeda C1 sidechain.


# Configuring MetaMask

The next step is to obtain an address on the Milkomeda C1 sidechain where we can receive our MilkADA. For now, we recommend using MetaMask for this step.

First, install [MetaMask for Chrome](https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn). Then, click the Chrome Extensions icon ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAABM0lEQVRYCe2WzwrCMAzGfVMPXnbwIAo7+AcFRVFQFEUfTX2QnSvfIDA7s2RNhR0aGFlLm/z2pQ3ruQ5Zr0MsLsFw1UjKRFemKAp3uT1cf5CVHmOrBZdpuz+WIIDBc77erSzht4kgqt5KE6xMFYLe/w7zfL3dJJ99lYSSSx77sF9rojLjfBoEQqAA0poIQ0EtPsFw6kVTBv3E7ylcUm4+GgwFQoe1QqFjN3Vq8QATDDwCcV+vnW/q1K1gAGS96oDmrBVMZ5QByO5wMpUJJTKdGRzaxWpjguDK4s+LZZIOpuaG+Um5cTAMIEhy+CYoLrk/HwxDIBQQY05FWiN5ESYbjmpJoMIvmy/XtbVoBVoTYfA/4vcWDsYvFfZF/Z/RflWMdaIyMZJoYyQYTqmkTFKGU4Cb/wAg3RKRipGFkgAAAABJRU5ErkJggg==) and select MetaMask. Within the MetaMask window, click "**Get Started**" and then "**Create a Wallet**". Set a wallet password and click through the rest of the setup screens. When finished, you should have a new empty wallet as shown below. Select the network dropdown at the top right of the MetaMask screen.

<figure><img src="/files/mPaNbhMGnUkG2JRMS4P6" alt=""><figcaption></figcaption></figure>

The next step is to obtain an address on the Milkomeda C1 sidechain where we can receive our MilkADA. For now, we recommend using MetaMask for this step.

First, install [MetaMask for Chrome](https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn). Then, click the Chrome Extensions icon ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAABM0lEQVRYCe2WzwrCMAzGfVMPXnbwIAo7+AcFRVFQFEUfTX2QnSvfIDA7s2RNhR0aGFlLm/z2pQ3ruQ5Zr0MsLsFw1UjKRFemKAp3uT1cf5CVHmOrBZdpuz+WIIDBc77erSzht4kgqt5KE6xMFYLe/w7zfL3dJJ99lYSSSx77sF9rojLjfBoEQqAA0poIQ0EtPsFw6kVTBv3E7ylcUm4+GgwFQoe1QqFjN3Vq8QATDDwCcV+vnW/q1K1gAGS96oDmrBVMZ5QByO5wMpUJJTKdGRzaxWpjguDK4s+LZZIOpuaG+Um5cTAMIEhy+CYoLrk/HwxDIBQQY05FWiN5ESYbjmpJoMIvmy/XtbVoBVoTYfA/4vcWDsYvFfZF/Z/RflWMdaIyMZJoYyQYTqmkTFKGU4Cb/wAg3RKRipGFkgAAAABJRU5ErkJggg==) and select MetaMask. Within the MetaMask window, click "**Get Started**" and then "**Create a Wallet**". Set a wallet password and click through the rest of the setup screens. When finished, you should have a new empty wallet as shown below. Select the network dropdown at the top right of the MetaMask screen.

<figure><img src="/files/N2KmEzhLzJWjkOxV5L2H" alt=""><figcaption></figcaption></figure>

Now we are ready to return to Flint Wallet and send our ADA to be converted to MilkADA.


# How to add Milkomeda C1 to Metamask network list

The next step is to obtain an address on the Milkomeda C1 sidechain where we can receive our MilkADA. For now, we recommend using MetaMask for this step.

First, install [MetaMask for Chrome](https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn). Then, click the Chrome Extensions icon ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAABM0lEQVRYCe2WzwrCMAzGfVMPXnbwIAo7+AcFRVFQFEUfTX2QnSvfIDA7s2RNhR0aGFlLm/z2pQ3ruQ5Zr0MsLsFw1UjKRFemKAp3uT1cf5CVHmOrBZdpuz+WIIDBc77erSzht4kgqt5KE6xMFYLe/w7zfL3dJJ99lYSSSx77sF9rojLjfBoEQqAA0poIQ0EtPsFw6kVTBv3E7ylcUm4+GgwFQoe1QqFjN3Vq8QATDDwCcV+vnW/q1K1gAGS96oDmrBVMZ5QByO5wMpUJJTKdGRzaxWpjguDK4s+LZZIOpuaG+Um5cTAMIEhy+CYoLrk/HwxDIBQQY05FWiN5ESYbjmpJoMIvmy/XtbVoBVoTYfA/4vcWDsYvFfZF/Z/RflWMdaIyMZJoYyQYTqmkTFKGU4Cb/wAg3RKRipGFkgAAAABJRU5ErkJggg==) and select MetaMask. Within the MetaMask window, click "**Get Started**" and then "**Create a Wallet**". Set a wallet password and click through the rest of the setup screens. When finished, you should have a new empty wallet as shown below. Select the network dropdown at the top right of the MetaMask screen.

![MetaMask wallet](https://dcspark.github.io/milkomeda-documentation/assets/images/metamask-wallet-7c90c9998f53157bf2f09d965e043735.png)

From the dropdown list, select “**Add Network**” and enter the following:

> Network Name: Milkomeda Cardano (C1)
>
> New RPC URL: <https://rpc-mainnet-cardano-evm.c1.milkomeda.com>
>
> Chain ID: 2001
>
> Currency Symbol (Optional): MilkADA
>
> Block Explorer URL (Optional): <https://explorer-mainnet-cardano-evm.c1.milkomeda.com>

Click “**Save**”, and you should now see "**Milkomeda Cardano (C1)**" in the network dropdown. Copy your C1 wallet address to the clipboard by clicking on the account name, as shown.

![Copy Address in MetaMask](https://dcspark.github.io/milkomeda-documentation/assets/images/copy-address-metamask-9e59f4de396c2487d0790ad0701983e4.png)

Now we are ready to return to Flint Wallet and send our ADA to be converted to MilkADA.

{% embed url="<https://www.youtube.com/watch?v=GpANrujYcvY&feature=youtu.be&ab_channel=Cardax>" %}


# How to bridge ADA from Cardano to Milkomeda network?

Bridging from Cardano to Milkomeda

Open the Flint Wallet window and click "**Send**". At the next screen, enable the "**Milkomeda mode**" toggle, paste the Milkomeda C1 wallet address currently in the clipboard into the "**Milkomeda Ethereum Address**" field, and enter the amount to send (1 ADA in this example). Then click "**Continue**".

<figure><img src="/files/Qel1z4evSIG1N09jGJdD" alt=""><figcaption></figcaption></figure>

At the confirmation screen, enter your wallet password and click "**Send**".

<figure><img src="/files/7Pu3WbV9glX10jPoIqjv" alt=""><figcaption></figcaption></figure>

The transfer will require 10 confirmations, which should take approximately **5** minutes. Once the transaction is confirmed, the transferred MilkADA should be visible in your C1 wallet in MetaMask.

Now you have successfully wrapped your ADA into MilkADA for use on the Milkomeda C1 sidechain.

\-----------------------------------------------------------------------------------------------------

**A NOTE ON TRANSACTION FEES**

For transactions that take place solely on the Milkomeda C1 sidechain, you only pay the standard Milkomeda network transaction fee set by the block producers.

However, transactions that involve wrapping, i.e., moving assets between Cardano and the Milkomeda C1 sidechain, require payment of transaction fees for both Cardano and Milkomeda since one transaction is required on each chain.

For example, sending assets from Cardano to Milkomeda C1 requires one transaction on Cardano to lock your assets and another transaction on Milkomeda C1 to issue the wrapped assets to you.

When sending a transaction of this type in Flint Wallet, you can expand the "Network Fee" item to see a "Base Fee" (i.e., the Cardano transaction fee) and a "Milkomeda Fee". Note that the "Milkomeda Fee" for these transactions will be slightly higher than the standard transaction fee on Milkomeda since you are also paying the block producers for their role in wrapping your assets.<br>

{% embed url="<https://youtu.be/tDx7bSp2cm8>" %}


# How to bridge Cardano Native Tokens (CNTs) to the Milkomeda network?

Bridging from Cardano to Milkomeda

You can transfer your Cardano Native Tokens (CNTs), for example, CDX tokens from the Cardano network to Milkomeda using Flint Wallet.

{% hint style="info" %}
You need to have a Cardano wallet installed. We recommend [Flint wallet](https://flint-wallet.com/) because you can bridge from Cardano to Milkomeda, all within the same wallet.&#x20;

You need to have a Cardano Native token in your Cardano wallet. Make sure that CNT is already listed on Cardax DEX.&#x20;

You need to have at least 4 ADA  on your Cardano wallet balance for CNT bridging: about 2 ADA must be kept on Cardano network wallet for other tokens maintenance and the rest you need to pay as a fee for bridging and transactions. That fee doesn't go to Cardax but to Milkomeda.&#x20;
{% endhint %}

<https://www.youtube.com/watch?v=GdhsNllWRCE>

<br>


# How to add liquidity

{% embed url="<https://youtu.be/szt4yTuicNg>" %}


# How to swap tokens

{% embed url="<https://youtu.be/-MTQxRK__sQ>" %}


# Tokens listed on Cardax DEX

These are all the tokens you can currently trade on our DEX.

* CDX Contract address: 0x864a55C546DDB855bEe210245eBfFa9bF37a408A
* milkADA Contract address: 0x110538EbA00Cfa316f2bd8e6A520fF73e4BE88f0
* Tether USDT Contract address: 0x80A16016cC4A2E6a2CACA8a4a498b1699fF0f844
* WMT Contract address: 0x4D5C63c07463EFa5bb26EE0A6D8C39dd0e3DaBD9


# CDX TOKEN

### Cardax native token is CDX

CDX token Policy ID on Cardano: [`722c45e8ba2a3c399cf09949abe74546ecb75defb8206914085dc28e`](https://cardanoscan.io/tokenPolicy/722c45e8ba2a3c399cf09949abe74546ecb75defb8206914085dc28e)

CDX token ID on Milkomeda: 856319371a43643266dc2086f4f7aef4c83a3414000000000000000000000000

CDX token contract on Milkomeda: [0x864a55C546DDB855bEe210245eBfFa9bF37a408A](https://explorer-mainnet-cardano-evm.c1.milkomeda.com/address/0x864a55C546DDB855bEe210245eBfFa9bF37a408A/transactions)

### Token Conversion

The current CDX token in circulation will need to be converted into a new version. We will allow users to easily convert their current CDX to the new tokens at a 1:1 conversion rate. We will give notice when the conversion happens in all our social channels ([Twitter](https://twitter.com/CardaxDEX), [Discord](https://discord.com/invite/r7UQvcUDHp), [Telegram](http://bit.ly/3iED0Gd), [YouTube](https://www.youtube.com/channel/UCF33htwJytquAprg7Ezbv5Q)).

More about why the token conversion [here](https://cardax.blog/cardano-token-standards/)


# Token Utility

## Governance

The CDX token will play an important role in the governance of the protocol. CDX token holders will be able to vote on future proposals to the protocol.

## Future role in the Cardax ecosystem

CDX token will play an essential role in the expanded Cardax ecosystem. Specific utilities will be announced as we roll out new products and features.


# GLOSSARY

### AMM

Automated Market Maker. More on its dedicated [page](broken://pages/2Gjr8XAANI5EhlRyDShT)

###

### Booking

Booking is an action that a user submits his intention to make transactions in a liquidity pool. More on its dedicated [page](broken://pages/ElqDVv6OKUQipKg11xoW)

###

### APR

Annual Percentage Rate, the yearly interest expressed as a percentage of the investment amount. It does not take compounding interests into account.

###

### APY

Annual Percentage Yield, the yearly interest taking into account the effect of compounding interests, expressed as a percentage of the investment amount.

###

### Cardano Native Token

A custom token issued on Cardano Blockchain that enables the transacting of assets on Cardano. Each Cardano Native Token has its Policy Id. Check it to confirm the token's authenticity before investing. Cardax DEX enables the exchange between Cardano Native Tokens.&#x20;

### Exit

Each user, after he has [booked](#booking) a slot, is given a designated lane to make transactions in a liquidity pool. When finished making the transactions, the user should exit the lane so that the lane becomes free for the next user.

###

### Front-running

Trading an asset with inside information that a future transaction will affect its price and placing an order before that for taking advantage. On blockchain, front running usually happens when a miner or node operator who can access information on pending transactions places an order in his favour.

### Lane

The lane is an exclusive pathway in which users on Cardax DEX can place orders to a liquidity pool. Each user has his own designated lane, so he can make transactions without contentions and interruptions. A pool has a maximum number of lanes it can take. When all lanes are occupied, unbooked users need to submit the [booking](/glossary#booking) first and wait for getting into a free lane.

### LP

Liquidity Provider. More on its dedicated [page](broken://pages/RCw9Jkv7RFRK5H5w9Ge8)

### LP Token

When a liquidity provider provides liquidity in a pool, he gets an **LP token** that represents his share of liquidity in the pool. <br>

### Plutarch

Cardax DEX's smart contracts are written in [Plutarch](https://github.com/Plutonomicon/plutarch). Plutarch is a thin language over the (untyped) Plutus Core (UPC). The advantage of using Plutarch is that a lot of boilerplate introduced by a quite complicated compilation chain from PlutusTx to UPC can be omitted ([PlutusTx compile chain](https://iohk.io/en/blog/posts/2021/02/02/plutus-tx-compiling-haskell-into-plutus-core/)). This reduces not only the script size, but also reduces the required budgets on memory consumption and CPU usage.&#x20;

### Slippage Tolerance

Slippage is the difference in a token's price between what the trader initially requested and the execution price. Slippage Tolerance is how big a slippage a trader can accept. It is expressed as a percentage of the requested price.&#x20;

### Streaming Merge

Streaming Merge is Cardax’s proprietary solution to the concurrency issue on the Cardano blockchain. More on its dedicated [page](#streaming-merge)

### TVL

Total Value Locked. On Cardax DEX it refers to the total liquidity of all pools currently locked on the DEX. The value is expressed in ADA.&#x20;

### Volume

Trading volume, which is measured by token swap transactions' value in ADA.&#x20;

### Web-App

The user interface where users interact with Cardax DEX. Users need to connect wallets on the Web-App to make transactions.

###

###

###

###

###

###

###

###


# BUSINESS INFORMATION


# Brand assets & logo

Please find the Cardax logo and brand assets [here](https://drive.google.com/drive/u/0/folders/1JQJ_53zz4kfAtSv63_tYLcO34TZPB3YJ).

![](/files/bHVmLT9mUjR5I2bRIpxX)


# Partnerships

For a potential partnership request, kindly fill in this [form](https://docs.google.com/forms/d/e/1FAIpQLSeD3DFvLPgr-X53-eFWy0_wUcHh_wb5IkUtGRPZCfcctMg38w/viewform). We will get back to you shortly.


# Official Accounts

## Primary links

Website: <https://cardax.io/>

Web App: coming soon

Github:<https://github.com/CardaxDEX>

Blog: <https://cardax.blog/>

## Social Channels

Discord: <https://discord.com/invite/r7UQvcUDHp>

Twitter: <https://twitter.com/CardaxDEX>

Telegram: <https://t.me/CardaxAnnouncements>

Reddit: <https://www.reddit.com/r/Cardax/>


