starknet_estimateMessageFee | Starknet

๐Ÿ“˜

Starknet OpenRPC spec

For the latest version of the publicly maintained OpenRPC spec, see the Starknet specs GitHub repo.

Starknet API method that returns an estimate of the fee for a given message.

It provides an estimate of the maximum amount of fee required to process the message based on the network's current state and the message's parameters. A client or wallet can use this estimate to determine the appropriate amount of fee to include in a message to ensure that the network processes it.

๐Ÿ‘

Get you own node endpoint today

Start for free and get your app to production levels immediately. No credit card required.

You can sign up with your GitHub, X, Google, or Microsoft account.

Parameters

  • message โ€” the message to estimate, which includes the following fields:
    • to โ€” the string of the address to which the message is directed, a wallet, or a smart contract.
    • data โ€” additional data to be sent with the message, usually used to invoke functions from smart contracts as a string of the hash of the method signature and encoded parameters.
  • block_id โ€” the hash of the requested block, or number (height) of the requested block, or a block tag, for the block referencing the state or call the transaction on.

Response

  • result โ€” the estimated amount of fee needed, represented as a hexadecimal string.

Use case

A practical use case for starknet_estimateMessageFee is to calculate the fee required for a message that interacts with a contract on Starknet. The fee is an important factor in messages, as it determines the amount of fees that need to be paid by the sender to the network for processing the message.

Deprecated feeder gateway method

The feeder gateway was deprecated on December 11, 2023.

Example of the call you had to make to the feeder gateway before the deprecation:

curl --request POST \
     --url 'https://alpha-mainnet.starknet.io/feeder_gateway/estimate_fee?blockNumber=385940' \
     --header 'Content-Type: application/json' \
     --data-raw '{
         "type": "INVOKE_FUNCTION",
         "sender_address": "0x0569b13e8164bc8000c0bbcf4887856516643af123c5bc3b01e229e92f9cfd10",
         "nonce": "0x51",
         "max_fee": "0xb3a2f1ab6d632",
         "version": "0x1",
         "calldata": [
            "0x3",
            "0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",
            "0x219209e083275171774dab1df80982e9df2096516f06319c5c6d71ae0a8480c",
            "0x3",
            "0xfff107e2403123c7df78d91728a7ee5cfd557aec0fa2d2bdc5891c286bbfff",
            "0x984e103a8acd6",
            "0x0",
            "0x68f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8",
            "0x219209e083275171774dab1df80982e9df2096516f06319c5c6d71ae0a8480c",
            "0x3",
            "0xfff107e2403123c7df78d91728a7ee5cfd557aec0fa2d2bdc5891c286bbfff",
            "0x4c4b40",
            "0x0",
            "0xfff107e2403123c7df78d91728a7ee5cfd557aec0fa2d2bdc5891c286bbfff",
            "0x2f0b3c5710379609eb5495f1ecd348cb28167711b73609fe565a72734550354",
            "0xe",
            "0x569b13e8164bc8000c0bbcf4887856516643af123c5bc3b01e229e92f9cfd10",
            "0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",
            "0x68f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8",
            "0x1f4",
            "0xa76cc",
            "0xa7b5e",
            "0x984e103a8acd6",
            "0x0",
            "0x4c4b40",
            "0x0",
            "0x9542431aa6bf1",
            "0x0",
            "0x4ac4a0",
            "0x0"
         ],
         "signature": ["0x54c2201c7b9021777389e208e28eafc67e4ba1f1aa7016a1123b61c6ff79c29", "0x58c2d97614e5abfd9668b314f344c945d16ea154cb32a7b08b4445204f1f1d3"]
     }'
Language
Click Try It! to start a request and see the response here!