eth_getRawTransactionByHash
curl --request POST \
--url https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"method": "eth_getRawTransactionByHash",
"params": [
"0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a"
],
"id": 1
}
'import requests
url = "https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm"
payload = {
"jsonrpc": "2.0",
"method": "eth_getRawTransactionByHash",
"params": ["0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a"],
"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_getRawTransactionByHash',
params: ['0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a'],
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_getRawTransactionByHash',
'params' => [
'0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a'
],
'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_getRawTransactionByHash\",\n \"params\": [\n \"0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a\"\n ],\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_getRawTransactionByHash\",\n \"params\": [\n \"0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a\"\n ],\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_getRawTransactionByHash\",\n \"params\": [\n \"0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a\"\n ],\n \"id\": 1\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": "0xf86c0185037e11d6008252089433c3321b162edac1fdbb53af2962b2940c07e334880de0b6b3a76400008026a01234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdefa0abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890ab"
}Hyperliquid node API
eth_getRawTransactionByHash | Hyperliquid EVM
Returns the raw transaction data by its hash. Use this method to retrieve the RLP-encoded raw transaction when you have the transaction hash.
POST
/
evm
eth_getRawTransactionByHash
curl --request POST \
--url https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"method": "eth_getRawTransactionByHash",
"params": [
"0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a"
],
"id": 1
}
'import requests
url = "https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm"
payload = {
"jsonrpc": "2.0",
"method": "eth_getRawTransactionByHash",
"params": ["0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a"],
"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_getRawTransactionByHash',
params: ['0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a'],
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_getRawTransactionByHash',
'params' => [
'0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a'
],
'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_getRawTransactionByHash\",\n \"params\": [\n \"0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a\"\n ],\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_getRawTransactionByHash\",\n \"params\": [\n \"0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a\"\n ],\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_getRawTransactionByHash\",\n \"params\": [\n \"0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a\"\n ],\n \"id\": 1\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": "0xf86c0185037e11d6008252089433c3321b162edac1fdbb53af2962b2940c07e334880de0b6b3a76400008026a01234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdefa0abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890ab"
}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.
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
transactionHash(string, required) — The 32-byte hash of the transaction
Returns
Returns the raw transaction data as a hex-encoded string, ornull if the transaction is not found.
The raw transaction data is RLP-encoded and includes all transaction fields in their original binary format.
Raw transaction data can be decoded using RLP decoding libraries to extract individual transaction fields like nonce, gas price, gas limit, recipient, value, and signature components.
Example request
curl -X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getRawTransactionByHash","params":["0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a"],"id":1}' \
https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm
from web3 import Web3
w3 = Web3(Web3.HTTPProvider("YOUR_CHAINSTACK_ENDPOINT"))
# eth_getRawTransactionByHash has no high-level helper, so call it directly
response = w3.provider.make_request(
"eth_getRawTransactionByHash",
["0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a"],
)
print(response["result"])
import { JsonRpcProvider } from "ethers";
const provider = new JsonRpcProvider("YOUR_CHAINSTACK_ENDPOINT");
// eth_getRawTransactionByHash has no high-level helper, so use send()
const rawTx = await provider.send("eth_getRawTransactionByHash", [
"0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a",
]);
console.log(rawTx);
import { createPublicClient, http } from "viem";
const client = createPublicClient({
transport: http("YOUR_CHAINSTACK_ENDPOINT"),
});
// eth_getRawTransactionByHash has no high-level action, so use request()
const rawTx = await client.request({
method: "eth_getRawTransactionByHash",
params: ["0x66112ff0438f84686c8003f3a855057694c9018f07905c0e15f2f20f4dd0791a"],
});
console.log(rawTx);
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.
Use cases
- Transaction broadcasting — Re-broadcast transactions to other networks
- Forensic analysis — Analyze transaction structure and encoding
- Cross-chain bridges — Verify transaction format across different networks
- Development tools — Debug transaction encoding and decoding
- Archive services — Store transactions in their original format
- Signature verification — Extract and verify transaction signatures
Body
application/json
JSON-RPC version
Available options:
2.0 The RPC method name
Available options:
eth_getRawTransactionByHash Parameters: [transactionHash]
Request identifier
Last modified on June 24, 2026
Was this page helpful?