The MonoX smart contracts will exist on the Ethereum blockchain. Until that time, there are a bunch of test networks are available for you to integrate and complete your tests. These networks are:
Ethereum Mainnet,
Polygon Mainnet,
Kovan Testnet,
Mumbai Test (Polygon)
Contracts
In order to complete an integration with the below contracts, you will need to have ABI ().
How to get ABI of a contract?
Contracts on Ethereum Mainnet
Contracts on Polygon Mainnet
Contract on Kovan Test Network
Contract on Mumbai Test Network
Integration
What type of functions is available for a contract?
MonoX Core Functionalities
Some of the key functionalities we offer are:
listNewToken,
addLiquidity,
addLiquidityETH,
removeLiquidity,
swapExactTokenForToken and swapTokenForExactToken,
swapExactETHForToken, swapExactTokenForETH, swapETHForExactToken and swapTokenForExactETH
listNewToken, addLiquidity, swapExactTokenForToken and swapTokenForExactToken requires that the token has been approved in advance.
listNewToken
This function list tokens and adds liquidity with vcashAmount and tokenAmount then sends LP tokens to to address. So, the user can list a new token.
function listNewToken (
address _token, // Token address to list
uint _price, // Token price
uint256 vcashAmount, // VCASH amount to add initially
uint256 tokenAmount, // Token amount to add initially
address to // Address that gets liquidity
)
addLiquidity
This function adds liquidity to an ERC-20⇄ERC-20 pool. So, users can contribute into the pool.
function addLiquidity (
address _token, // Token address
uint256 _amount, // Token amount to add
address to // Address to send LP token
)
addLiquidityETH
This function adds liquidity to an ERC-20⇄WETH pool with ETH. So, users can add liquidity to the ETH pool.
function addLiquidityETH (
address to // Address to send LP token
)
removeLiquidity
This function removes liquidity to an ERC-20⇄ERC-20 pool.
function removeLiquidity (
address _token, // Token address
uint256 liquidity, // Liquidity
address to, // Token amount to add
uint256 minVcashOut, // The minimum amount of VCash that must be received
uint256 minTokenOut // The minimum amount of Token that must be received
)
For removing ETH liquidity, use removeLiquidityETH function. It removes liquidity to an ERC-20⇄WETH pool with ETH.
swapExactTokenForToken
Users can swap tokens using swapExactTokenForToken. So, user's input token is known and the output token is calculated swapTokenForExactToken.
function swapExactTokenForToken(
address tokenIn, // Input token address
address tokenOut, // Output token address
uint amountIn, // The amount of input tokens to send
uint amountOutMin, // The minimum amount of output tokens that must be received for the transaction not to revert
address to, // Recipient of the output tokens
uint deadline // Unix timestamp after which the transaction will revert
)
swapTokenForExactToken
Users can swap tokens using swapTokenForExactToken. So, user's output token is known and the input token is calculated.
function swapTokenForExactToken(
address tokenIn, // Input token address
address tokenOut, // Output token address
uint amountInMax, // The maximum amount of input tokens that can be required before the transaction reverts
uint amountOut, // The amount of output tokens to receive
address to, // Recipient of the output tokens
uint deadline // Unix timestamp after which the transaction will revert
)
For swapping ETH, please use one of below functions:
function swapExactETHForToken(
address tokenOut, // Output token address
uint amountOutMin, // The minimum amount of output tokens that must be received for the transaction not to revert
address to, // Recipient of the output tokens
uint deadline // Unix timestamp after which the transaction will revert
)
function swapExactTokenForETH(
address tokenIn, // Input token address
uint amountIn, // The amount of input tokens to send
uint amountOutMin, // The minimum amount of output tokens that must be received for the transaction not to revert
address to, // Recipient of the output tokens
uint deadline // Unix timestamp after which the transaction will revert
)
function swapETHForExactToken(
address tokenOut, // Output token address
uint amountInMax, // The maximum amount of input tokens that can be required before the transaction reverts
uint amountOut, // The amount of output tokens to receive
address to, // Recipient of the output tokens
uint deadline // Unix timestamp after which the transaction will revert
)
function swapTokenForExactETH(
address tokenIn, // Input token address
uint amountInMax, // The maximum amount of input tokens that can be required before the transaction reverts
uint amountOut, // The amount of output tokens to receive
address to, // Recipient of the output tokens
uint deadline // Unix timestamp after which the transaction will revert
)
VCASH address:
MonoXPool address:
Monoswap address:
MONO address:
VCASH address:
MonoXPool address:
Monoswap address:
VCASH address:
MonoXPool address:
Monoswap address:
MonoToken address:
MonoswapStaking address:
VCASH address:
MonoXPool address:
Monoswap address:
MonoToken address:
MonoswapStaking address:
Our Monoswap contract ( or ) has some core features available for the developers who are interested in using them externally.