RPC method

eth_getTransactionByHash on zkSync Era

Supported on SwiftNodes

Everything below was measured on 2026-10-13 by calling eth_getTransactionByHash on zkSync Era through the same endpoint customers use, and is re-measured weekly.

What eth_getTransactionByHash does

Returns a transaction by its hash: sender, recipient, value, input data, gas fields and signature, plus the block it was included in. It returns null for a hash the node does not know, and a transaction still in the mempool has a null blockNumber.

Transaction types on zkSync Era

Types of the 5 transactions in five consecutive blocks when we measured. Decoders that reject unknown types will fail on zkSync Era if any of these is missing from their list.

0x71 zkSync EIP-7124 (80%)
0x0 legacy1 (20%)

A real zkSync Era transaction

A type 0x71 transaction from one of the latest blocks, as our endpoint returned it (long hex values shortened).

{
  "hash": "0xf45d9b599c88ffa97ea02abadc9af1a1b6bb4f350b9a0f53b839892cc6114570",
  "nonce": "0xe3",
  "blockHash": "0xb7d508c9d7b07735453f104b19577e5fa38856e91f3caa40132fddcbe7334e2b",
  "blockNumber": "0x451bbd0",
  "transactionIndex": "0x0",
  "from": "0x528acad9478cf2d9f99e556ad8858b8ee6ac766a",
  "to": "0xe629b208046f7a33de3a43931c9fe505a7ac3d36",
  "value": "0x0",
  "gasPrice": "0x2b275d0",
  "gas": "0x10c8e0",
  "input": "0x5889320100000000…(260 bytes)",
  "yParity": "0x1",
  "v": "0x1",
  "r": "0x14ca467a2c266fe00347e4114b8c483aab4728febac2f8c461af93742c85e462",
  "s": "0x3209d0491955c3b4f54b29c8fe56ef592e25d0b3b2fbb430aec0d8b6f8cbf57f",
  "type": "0x71",
  "maxFeePerGas": "0x2b275d0",
  "maxPriorityFeePerGas": "0x0",
  "chainId": "0x144"
}

Example request

curl -s https://rpc.swiftnodes.io/rpc/zksync?key=YOUR_API_KEY \
  -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_getTransactionByHash","params":["0xf45d9b599c88ffa97ea02abadc9af1a1b6bb4f350b9a0f53b839892cc6114570"]}'
import { createPublicClient, http } from "viem";

const client = createPublicClient({
  transport: http("https://rpc.swiftnodes.io/rpc/zksync?key=YOUR_API_KEY"),
});

const tx = await client.getTransaction({ hash: "0xf45d9b599c88ffa97ea02abadc9af1a1b6bb4f350b9a0f53b839892cc6114570" });
if (tx.blockNumber === null) console.log("still pending");
console.log(tx.type, tx.from, tx.to, tx.value);

Other methods on zkSync Era

eth_getTransactionByHash on other chains

Frequently asked questions

Does zkSync Era support eth_getTransactionByHash?

Yes. eth_getTransactionByHash answered on the SwiftNodes zkSync Era endpoint when our weekly probe called it through the customer path (2026-10-13).

Which transaction types does zkSync Era use?

In five recent blocks: 4 × 0x71 (zkSync EIP-712), 1 × 0x0 (legacy).

Why does eth_getTransactionByHash return null on zkSync Era?

The node does not know the hash: it was never broadcast, it was dropped from the mempool, or it was sent to another chain. Check the hash and the chain ID before retrying.

zkSync Era endpoints, live block height and WebSocket status are on the zkSync Era RPC page.

One key covers every chain we serve, and SwiftNodes has a free tier.