network_get_fee_data
Retrieve current Ethereum and EVM-compatible blockchain fee data, including base fee and max priority fee, for accurate transaction cost estimation.
Instructions
Get the current fee data (base fee, max priority fee, etc.)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/handlers/wallet.ts:746-764 (handler)The getFeeDataHandler function that implements the core logic of the network_get_fee_data tool by fetching fee data from the Ethers provider.
export const getFeeDataHandler = async (input: any): Promise<ToolResultSchema> => { try { const provider = getProvider(); if (!provider) { return createErrorResponse("Provider is required to get fee data, please set the provider URL"); } // getFeeData is available in ethers v5.5.0+ // @ts-ignore - getFeeData might not be in the type definitions depending on the version const feeData = await provider.getFeeData(); return createSuccessResponse(`Fee data retrieved successfully Gas price: ${feeData.gasPrice?.toString()} Max fee per gas: ${feeData.maxFeePerGas?.toString()} Max priority fee per gas: ${feeData.maxPriorityFeePerGas?.toString()} `); } catch (error) { return createErrorResponse(`Failed to get fee data: ${(error as Error).message}`); } }; - src/tools.ts:543-551 (schema)The tool schema defining the name, description, and empty input schema for network_get_fee_data.
{ name: "network_get_fee_data", description: "Get the current fee data (base fee, max priority fee, etc.)", inputSchema: { type: "object", properties: {}, required: [] } } - src/tools.ts:556-608 (registration)The handlers dictionary registration that maps the tool name 'network_get_fee_data' to its handler function getFeeDataHandler.
export const handlers: HandlerDictionary = { // Provider Methods "wallet_provider_set": setProviderHandler, // Wallet Creation and Management "wallet_create_random": createWalletHandler, "wallet_from_private_key": fromPrivateKeyHandler, "wallet_from_mnemonic": fromMnemonicHandler, "wallet_from_encrypted_json": fromEncryptedJsonHandler, "wallet_encrypt": encryptWalletHandler, // Wallet Properties "wallet_get_address": getAddressHandler, "wallet_get_public_key": getPublicKeyHandler, "wallet_get_private_key": getPrivateKeyHandler, // Blockchain Methods "wallet_get_balance": getBalanceHandler, "wallet_get_chain_id": getChainIdHandler, "wallet_get_gas_price": getGasPriceHandler, "wallet_get_transaction_count": getTransactionCountHandler, "wallet_call": callHandler, // Transaction Methods "wallet_send_transaction": sendTransactionHandler, "wallet_sign_transaction": signTransactionHandler, "wallet_populate_transaction": populateTransactionHandler, // Signing Methods "wallet_sign_message": signMessageHandler, "wallet_sign_typed_data": signTypedDataHandler, "wallet_verify_message": verifyMessageHandler, "wallet_verify_typed_data": verifyTypedDataHandler, // Provider Methods "provider_get_block": getBlockHandler, "provider_get_transaction": getTransactionHandler, "provider_get_transaction_receipt": getTransactionReceiptHandler, "provider_get_code": getCodeHandler, "provider_get_storage_at": getStorageAtHandler, "provider_estimate_gas": estimateGasHandler, "provider_get_logs": getLogsHandler, "provider_get_ens_resolver": getEnsResolverHandler, "provider_lookup_address": lookupAddressHandler, "provider_resolve_name": resolveNameHandler, // Network Methods "network_get_network": getNetworkHandler, "network_get_block_number": getBlockNumberHandler, "network_get_fee_data": getFeeDataHandler, // Mnemonic Methods "wallet_create_mnemonic_phrase": createMnemonicPhraseHandler };