For the complete documentation index, see llms.txt. This page is also available as Markdown.

eth_getTransactionByHash - zkSync

Example code for the eth_getTransactionByHash JSON-RPC method. Сomplete guide on how to use eth_getTransactionByHash JSON-RPC in GetBlock.io Web3 documentation.

Returns transaction details by transaction hash. zkSync responses include the standard Ethereum fields plus L1 batch metadata.

Parameters

Parameter
Type
Required
Description

transactionHash

string

Yes

32-byte hash of the transaction

Request Example

curl --location --request POST 'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "jsonrpc": "2.0",
    "method": "eth_getTransactionByHash",
    "params": [
        "0x22de7debaa98758afdaee89f447ff43bab5da3de6acca7528b281cc2f1be2ee9"
    ],
    "id": "getblock.io"
}'
import axios from 'axios';

const data = JSON.stringify({
    "jsonrpc": "2.0",
    "method": "eth_getTransactionByHash",
    "params": [
        "0x22de7debaa98758afdaee89f447ff43bab5da3de6acca7528b281cc2f1be2ee9"
    ],
    "id": "getblock.io"
});

const config = {
    method: 'post',
    url: 'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/',
    headers: {
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => console.log(JSON.stringify(response.data, null, 2)))
    .catch(error => console.log(error));

Response Example

{
    "jsonrpc": "2.0",
    "id": "getblock.io",
    "result": {
        "blockHash": "0x4f3a1d6e8c2b9a7e5d3f1c8a4b6e9d2f5a8c3e7b1d4f9a6c2e5b8d3f7a1c4e9b",
        "blockNumber": "0x2249b7",
        "from": "0x36615cf349d7f6344891b1e7ca7c72883f5dc049",
        "gas": "0x5208",
        "gasPrice": "0xee6b280",
        "maxFeePerGas": "0xee6b280",
        "maxPriorityFeePerGas": "0x0",
        "hash": "0x22de7debaa98758afdaee89f447ff43bab5da3de6acca7528b281cc2f1be2ee9",
        "input": "0x",
        "nonce": "0x42",
        "to": "0xd85498dbeaeb1df24be52eed4f52eac2fbd56245",
        "transactionIndex": "0x0",
        "value": "0x16345785d8a0000",
        "type": "0x2",
        "chainId": "0x144",
        "l1BatchNumber": "0x72582",
        "l1BatchTxIndex": "0x5",
        "v": "0x0",
        "r": "0x4f3a1c...",
        "s": "0x6c8d2b..."
    }
}

Response Parameters

Field
Type
Description

result.blockHash

string | null

Hash of the L2 block containing this transaction, or null if pending

result.blockNumber

string | null

L2 block number, or null if pending

result.from

string

Sender address

result.to

string | null

Recipient address; null for contract creations

result.value

string

ETH transferred in wei (hex)

result.maxFeePerGas

string

Max total fee per gas (EIP-1559)

result.maxPriorityFeePerGas

string

Max priority fee per gas (EIP-1559) — often 0x0 on zkSync

result.type

string

Tx type: 0x0 legacy, 0x2 EIP-1559, 0x71 (113) EIP-712 zkSync extended

result.l1BatchNumber

string

L1 batch number containing this transaction (zkSync extension)

Use Cases

  • Inspecting a transaction after broadcast

  • Building transaction detail views in wallets and explorers

  • Confirming transaction inclusion vs pending status

Error Handling

Status Code
Error Message
Cause

403

Forbidden

Missing or invalid <ACCESS-TOKEN>

-32602

Invalid params

Request parameters are missing or malformed

429

Too Many Requests

Rate limit exceeded for your plan

SDK Integration

Last updated

Was this helpful?