When I swap USDT to BNB, if I pass amount = 10, 100, 1000, the result is correct, the next results are ~10x to the previous on. But when I pass amount = 1, it is not. I expect itās 0.00226 but itās 0.0018. What is wrong here?
const NATIVE_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';
const USDT_ADDRESS = '0x55d398326f99059ff775485246999027b3197955';
let quote = await dex.quote({
chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon)
fromTokenAddress: USDT_ADDRESS, // The token you want to swap
toTokenAddress: NATIVE_ADDRESS, // The token you want to receive
amount: Moralis.Units.Token(100, 18).toString(),
});
console.log(quote.toTokenAmount / 10**18);
// result: 0.22591146855243083
quote = await dex.quote({
chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon)
fromTokenAddress: USDT_ADDRESS, // The token you want to swap
toTokenAddress: NATIVE_ADDRESS, // The token you want to receive
amount: Moralis.Units.Token(10, 18).toString(),
});
console.log(quote.toTokenAmount / 10**18);
// result: 0.022609721755199524
quote = await dex.quote({
chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon)
fromTokenAddress: USDT_ADDRESS, // The token you want to swap
toTokenAddress: NATIVE_ADDRESS, // The token you want to receive
amount: Moralis.Units.Token(1, 18).toString(),
});
console.log(quote.toTokenAmount / 10**18);
// result: 0.0018