The swapExactTokensForETH and swapTokensForExactETH function trades in HBAR but derives its name from Uniswap on Ethereum. This name was kept to simplify integration for developers versed in Uniswap tools.
Granting an spender allowance to the router contract is required when the input token is not native HBAR for security reasons enforced at the native code layer. Ensure that the allowance amount is in tokenโs smallest unit.
Consider the tokenโs decimal places when determining input amounts.
The input values should be in the tokenโs smallest unit. For the SAUCE token, which has 6 decimal places, an input of 123.45 SAUCE should be entered as 123450000 (123.45 multiplied by 10^6).
When providing HBAR in the path array, use the wrapped HBAR token ID (WHBAR).
Swap an exact amount of tokens for a minimum HBAR amount.
Solidity function name: swapExactTokensForETH
Parameter Name
Description
uint amountIn
The input token amount in its smallest unit
uint amountOutMin
The minimum token amount to receive in its smallest unit
address[] calldata path
An ordered list of token EVM addresses
address to
EVM address for the token recipient
uint deadline
Deadline in Unix seconds
Copy
Ask AI
function swapExactTokensForETH( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts);
Set the minimum output token amount (amountOutMin) with caution.
A high minimum might lead to a swap failure due to insufficient liquidity or rapid price movements. Conversely, setting the minimum too low can expose you to significant slippage, potentially resulting in a financial loss as you might receive far fewer tokens than expected.
Swap a maximum amount of tokens to receive an exact HBAR amount.
Copy
Ask AI
function swapTokensForExactETH( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts);
Function name: swapTokensForExactETH
Parameter Name
Description
uint amountOut
The exact output HBAR amount to receive in its smallest unit
uint amountInMax
The maximum allowed input amount in its smallest unit
address[] calldata path
An ordered list of token EVM addresses
address to
EVM address for the token recipient
uint deadline
Deadline in Unix seconds
Set the maximum input token amount (amountInMax) with caution.
A low maximum might lead to a swap failure if the required liquidity surpasses this limit or due to rapid price movements. Conversely, setting it too high can expose you to significant slippage, potentially leading to a financial loss as you might spend far more tokens than expected.
Swap an exact amount of tokens, supporting HTS tokens with custom fees on token transfer, for a minimum HBAR amount.
Solidity function name: swapExactTokensForETHSupportingFeeOnTransferTokens
Parameter Name
Description
uint amountIn
The input token amount in its smallest unit
uint amountOutMin
The minimum token amount to receive in its smallest unit
address[] calldata path
An ordered list of token EVM addresses
address to
EVM address for the token recipient
uint deadline
Deadline in Unix seconds
Copy
Ask AI
function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
Set the minimum output token amount (amountOutMin) with caution.
A high minimum might lead to a swap failure due to insufficient liquidity or rapid price movements. Conversely, setting the minimum too low can expose you to significant slippage, potentially resulting in a financial loss as you might receive far fewer tokens than expected.