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
TableJSON 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 };