estimateTransactionFee

Estimates the transaction fee in both lamports and the specified token.

JSON-RPC Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "estimateTransactionFee",
  "params": {
    "transaction": "base64EncodedTransaction",
    "fee_token": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
  }
}

JSON-RPC Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "fee_in_lamports": 5000,
    "fee_in_token": 1000000,
    "payment_address": "3Z1Ef7YaxK8oUMoi6exf7wYZjZKWJJsrzJXSt1c3qrDE",
    "signer_pubkey": "3Z1Ef7YaxK8oUMoi6exf7wYZjZKWJJsrzJXSt1c3qrDE"
  }
}

cURL Example

curl -X POST http://localhost:8080 \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"estimateTransactionFee","params":{"transaction":"base64EncodedTransaction","fee_token":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"}}'

TypeScript SDK

const fees = await client.estimateTransactionFee({
  transaction: 'base64EncodedTransaction',
  fee_token: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v' // USDC
});
console.log('Fee in lamports:', fees.fee_in_lamports);
console.log('Fee in USDC:', fees.fee_in_token);