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
}
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
});
Fee details
The response is of type object
.
Was this page helpful?