fetchFeeEstimate
Estimates the transaction fee by trying fetchFeeEstimateTransaction first and falling back to fetchFeeEstimateTransfer if the node cannot provide an estimate (e.g. for a new contract call it has not seen before).
Usage
import {
makeUnsignedSTXTokenTransfer,
fetchFeeEstimate,
} from '@stacks/transactions';
const transaction = await makeUnsignedSTXTokenTransfer({
recipient: 'ST1SJ3DTE5DN7X54YDH5D64R3BCB6A2AG2ZQ8YPD5',
amount: 1000000n,
publicKey: '034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa',
network: 'testnet',
fee: 0, // placeholder — we'll estimate
nonce: 0n,
});
const estimatedFee = await fetchFeeEstimate({
transaction,
network: 'testnet',
});
transaction.setFee(estimatedFee);Notes
The builder functions call this automatically when
feeis not provided.Returns the middle (median) estimation from the three-tier response.
Signature
Returns
Promise<bigint | number>
A promise that resolves to the estimated fee in microSTX.
Parameters
opts.transaction (required)
Type:
StacksTransactionWire
The transaction to estimate fees for.
opts.network (optional)
Type:
StacksNetworkName | StacksNetwork
The network to query. Inferred from the transaction if not provided.
opts.client (optional)
Type:
NetworkClient
Custom client configuration for the API call.
Last updated
Was this helpful?