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 fee is not provided.

  • Returns the middle (median) estimation from the three-tier response.

Reference Linkarrow-up-right


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?