Skip to main content
POST
/
evm
eth_maxPriorityFeePerGas
curl --request POST \
  --url https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm \
  --header 'Content-Type: application/json' \
  --data '
{
  "jsonrpc": "2.0",
  "method": "eth_maxPriorityFeePerGas",
  "params": [],
  "id": 1
}
'
import requests

url = "https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm"

payload = {
"jsonrpc": "2.0",
"method": "eth_maxPriorityFeePerGas",
"params": [],
"id": 1
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({jsonrpc: '2.0', method: 'eth_maxPriorityFeePerGas', params: [], id: 1})
};

fetch('https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'method' => 'eth_maxPriorityFeePerGas',
'params' => [

],
'id' => 1
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm"

payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_maxPriorityFeePerGas\",\n \"params\": [],\n \"id\": 1\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_maxPriorityFeePerGas\",\n \"params\": [],\n \"id\": 1\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_maxPriorityFeePerGas\",\n \"params\": [],\n \"id\": 1\n}"

response = http.request(request)
puts response.read_body
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x0"
}
This method is available on Chainstack. Not all Hyperliquid methods are available on Chainstack, as the open-source node implementation does not support them yet — see Hyperliquid methods for the full availability breakdown.
Returns the current maximum priority fee per gas for EIP-1559 transactions. On Hyperliquid, this method always returns zero as priority fees are not used.
Get your own node endpoint todayStart 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

This method takes no parameters.

Returns

Returns the maximum priority fee per gas as a hexadecimal string. On Hyperliquid, this is always "0x0".
On Hyperliquid, priority fees are always zero. The network uses only base fees for transaction pricing, so setting a priority fee will not affect transaction inclusion speed or priority.

Example request

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_maxPriorityFeePerGas","params":[],"id":1}' \
  https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm
from web3 import Web3

w3 = Web3(Web3.HTTPProvider("YOUR_CHAINSTACK_ENDPOINT"))

max_priority_fee = w3.eth.max_priority_fee
print(max_priority_fee)
import { JsonRpcProvider } from "ethers";

const provider = new JsonRpcProvider("YOUR_CHAINSTACK_ENDPOINT");

const maxPriorityFee = await provider.send("eth_maxPriorityFeePerGas", []);
console.log(maxPriorityFee);
import { createPublicClient, http } from "viem";

const client = createPublicClient({
  transport: http("YOUR_CHAINSTACK_ENDPOINT"),
});

const maxPriorityFee = await client.estimateMaxPriorityFeePerGas();
console.log(maxPriorityFee);
Use your own endpoint in your code. The code examples use a placeholder Chainstack endpoint (YOUR_CHAINSTACK_ENDPOINT) — replace it with your own Hyperliquid node endpoint from the Chainstack console. The curl above uses a shared public endpoint for quick checks only; do not use it in production.
Example response:
{"jsonrpc":"2.0","id":1,"result":"0x0"}

Use cases

  • EIP-1559 compatibility — Maintain compatibility with EIP-1559 transaction format
  • Wallet applications — Handle priority fee queries for cross-chain compatibility
  • Fee estimation — Calculate transaction costs knowing priority fees are zero
  • Protocol integration — Integrate with protocols that query priority fees

Body

application/json
jsonrpc
enum<string>
default:2.0
required

JSON-RPC version

Available options:
2.0
method
enum<string>
default:eth_maxPriorityFeePerGas
required

The RPC method name

Available options:
eth_maxPriorityFeePerGas
params
array
required

No parameters required

id
integer
default:1
required

Request identifier

Response

200 - application/json

Successful response with the maximum priority fee per gas

jsonrpc
string

JSON-RPC version

id
integer

Request identifier

result
string

The maximum priority fee per gas in wei as a hexadecimal string

Last modified on July 7, 2026