Skip to main content

Exchange Service

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

EVM Swaps

# Get quote
price = monei.exchange.get_native_to_token_price({
    "token_address": "0xTokenAddress",
    "amount": "0.1",
    "chain_id": 56,
})
print(price.expected_output, price.price_impact)

# Execute swap Native → Token
tx = monei.exchange.swap_native_to_token({
    "token_address": "0xTokenAddress",
    "amount": "0.1",
    "chain_id": 56,
    "slippage": 0.5,
})

# Token → Token
tx = monei.exchange.swap_token_to_token({
    "token_in": "0xTokenInAddress",
    "token_out": "0xTokenOutAddress",
    "amount": "100",
    "chain_id": 137,
    "slippage": 1,
})

# Token → Native
tx = monei.exchange.swap_token_to_native({
    "token_address": "0xTokenAddress",
    "amount": "100",
    "chain_id": 56,
    "slippage": 0.5,
})

Solana Swaps

from monei.enums import SolanaNetwork

# Get quote SOL → Token
quote = monei.exchange.get_solana_to_token_quote({
    "output_mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "1",
    "network": SolanaNetwork.MAINNET,
})

# Execute SOL → Token swap
result = monei.exchange.swap_sol_to_token({
    "output_mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "1",
    "slippage": 1,
    "network": SolanaNetwork.MAINNET,
})

# Token → Token (Solana)
result = monei.exchange.swap_token_to_token_solana({
    "input_mint": "TokenAMintAddress",
    "output_mint": "TokenBMintAddress",
    "amount": "100",
    "slippage": 1,
    "network": SolanaNetwork.MAINNET,
})

# Token → SOL
result = monei.exchange.swap_token_to_sol({
    "input_mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "50",
    "slippage": 1,
    "network": SolanaNetwork.MAINNET,
})