Skip to main content

Overview

monei.exchange get quotes and execute token swaps on both EVM chains and Solana.

EVM Swaps

Get Price Quote (Native → Token)

const price = await monei.exchange.getNativeToTokenPrice({
  tokenAddress: '0xTokenAddress',
  amount: '0.1',
  chainId: 56,
});

console.log(price.expectedOutput, price.priceImpact);

Swap Native → Token

const tx = await monei.exchange.swapNativeToToken({
  tokenAddress: '0xTokenAddress',
  amount: '0.1',
  chainId: 56,
  slippage: 0.5, // 0.5%
});

console.log(tx.txHash);

Get Price Quote (Token → Token)

const price = await monei.exchange.getTokenToTokenPrice({
  tokenIn: '0xTokenInAddress',
  tokenOut: '0xTokenOutAddress',
  amount: '100',
  chainId: 137,
});

Swap Token → Token

const tx = await monei.exchange.swapTokenToToken({
  tokenIn: '0xTokenInAddress',
  tokenOut: '0xTokenOutAddress',
  amount: '100',
  chainId: 137,
  slippage: 1,
});

Swap Token → Native

const tx = await monei.exchange.swapTokenToNative({
  tokenAddress: '0xTokenAddress',
  amount: '100',
  chainId: 56,
  slippage: 0.5,
});

Solana Swaps

Get SOL → Token Quote

const quote = await monei.exchange.getSolanaToTokenQuote({
  outputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // USDC
  amount: '1',
  network: SolanaNetwork.MAINNET,
});

Swap SOL → Token

const result = await monei.exchange.swapSolToToken({
  outputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
  amount: '1',
  slippage: 1,
  network: SolanaNetwork.MAINNET,
});

Swap Token → Token (Solana)

const result = await monei.exchange.swapTokenToTokenSolana({
  inputMint: 'TokenAMintAddress',
  outputMint: 'TokenBMintAddress',
  amount: '100',
  slippage: 1,
  network: SolanaNetwork.MAINNET,
});

Swap Token → SOL

const result = await monei.exchange.swapTokenToSol({
  inputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
  amount: '50',
  slippage: 1,
  network: SolanaNetwork.MAINNET,
});