curl --request POST \
--url https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "getFeeForMessage",
"params": [
"AQABA36MCIdgv94d3c8ywX8gm4JC7lKq8TH6zYjQ6ixtCwbyhwEgP0xzGjSa7QhxjYGUHwUPDgYsz9S8Mb/9c7ejFiwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIOnEi/spkCilDriqSI6o2AneB2xk65o4Xm9EM+yGyiPAQICAAEMAgAAAADKmjsAAAAA",
{
"commitment": "finalized"
}
]
}
'{
"jsonrpc": "<string>",
"id": 123,
"result": 123
}curl --request POST \
--url https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "getFeeForMessage",
"params": [
"AQABA36MCIdgv94d3c8ywX8gm4JC7lKq8TH6zYjQ6ixtCwbyhwEgP0xzGjSa7QhxjYGUHwUPDgYsz9S8Mb/9c7ejFiwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIOnEi/spkCilDriqSI6o2AneB2xk65o4Xm9EM+yGyiPAQICAAEMAgAAAADKmjsAAAAA",
{
"commitment": "finalized"
}
]
}
'{
"jsonrpc": "<string>",
"id": 123,
"result": 123
}Documentation Index
Fetch the complete documentation index at: https://chainstack-mintlify-flesh-empty-pages.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
getFeeForMessage methodgetFeeForMessage method returns the fee in lamports that the cluster will charge to process the given message.
This method provides the cost of processing a message based on the current fee schedule. It is useful for estimating the cost of a transaction before it is submitted to the network.
message — the message to calculate the fee for.value — the fee in lamports that the cluster will charge to process the message.getFeeForMessage is to estimate the cost of a transaction before it is submitted to the network. This can be useful for wallets or other applications that need to display or make use of this information.
Here’s a script to generate the message data for the 1 SOL transfer:
const web3 = require('@solana/web3.js');
async function createSerializedTransaction() {
const connection = new web3.Connection(web3.clusterApiUrl('mainnet-beta'));
let transaction = new web3.Transaction().add(
web3.SystemProgram.transfer({
fromPubkey: new web3.PublicKey('9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM'),
toPubkey: new web3.PublicKey('A6132mRJy5zRmGsCCRbMsrbynuB9MRVgo3n6D5j49dBh'),
lamports: web3.LAMPORTS_PER_SOL // This transfers 1 SOL.
})
);
transaction.feePayer = transaction.instructions[0].keys[0].pubkey; // Set fee payer as the sender
transaction.recentBlockhash = (await connection.getRecentBlockhash()).blockhash;
// Serialize only the message part of the transaction
return transaction.serializeMessage().toString('base64');
}
createSerializedTransaction().then(serializedMessage => {
console.log(serializedMessage);
// Use this output as the parameter in your getFeeForMessage call
});
Was this page helpful?