Pool Creation Fee

Fetch the pool creation fee from the Factory contract.

The following code demonstrates how to accurately the current pool creation fee in HBAR using a combination of JSON RPC and REST API. The pool creation fee is used when creating a new liquidity pool.

The current fee for creating V1 liquidity pools is $50 USD, paid in HBAR. The exchange rate information is used to accurately determine the equivalent value in HBAR.

The pairCreateFee() function will return the current fee expressed in Tinycent (US).

No gas cost

Resources:

import * as ethers from 'ethers'; //V6

//Set one of Hedera's JSON RPC Relay as the provider
const provider = new ethers.JsonRpcProvider(hederaJsonRelayUrl, '', {
  batchMaxCount: 1, //workaround for V6
});

//load ABI data containing Factory's pairCreateFee function
const interfaces = new ethers.Interface(abi);

//get pool creation fee in tinycent
const factoryContract = new ethers.Contract(factoryEvmAddress, interfaces.fragments, provider);
const result = await factoryContract.pairCreateFee();
const tinycent = Number(result); //amount in tinycent (US)

//get the current exchange rate via REST API
const url = `${mirrorNodeBaseUrl}/api/v1/network/exchangerate`;
const response = await axios.get(url);
const currentRate = response.data.current_rate;
const centEquivalent = Number(currentRate.cent_equivalent);
const hbarEquivalent = Number(currentRate.hbar_equivalent);
const centToHbarRatio = centEquivalent/hbarEquivalent;

//calculate the fee in terms of HBAR
const tinybar = BigNumber(tinycent / centToHbarRatio).decimalPlaces(0);
const poolCreateFeeInHbar = Hbar.from(tinybar, HbarUnit.Tinybar);
console.log(`Pool creation fee: ${poolCreateFeeInHbar.toString(HbarUnit.Hbar)}`);

Last updated