Skip to content
Alchemy Logo

zkSync Era API Quickstart

How to get started building on zkSync Era using Alchemy

Don't have an API key?

Build faster with production-ready APIs, smart wallets and rollup infrastructure across 70+ chains. Create your free Alchemy API key and get started today.

zkSync is a Layer 2 scaling solution for Ethereum, leveraging zkRollup technology. It provides low gas fees, high throughput, and enhanced user privacy while maintaining a secure and decentralized architecture.

The zkSync Era API enables developers to interact seamlessly with the zkSync Era network. Through the API, developers can submit transactions, query state changes, and more, all while benefiting from the scalability and security zkSync Era offers.

Let's use the viem package to create a zkSync Era client connected to Alchemy and fetch the latest block number!

npm install --save viem

import { createPublicClient, http } from "viem"; 
import { zkSync } from "viem/chains";
 
const client = createPublicClient({
  chain: zkSync,
  transport: http("https://zksync-mainnet.g.alchemy.com/v2/YOUR_ALCHEMY_API_KEY"),
});

Now that you've created a client connected to Alchemy, you can continue with some basics:

const blockNumber = await client.getBlockNumber();
console.log("Current block number:", blockNumber);

const balance = await client.getBalance({ address: "0xab5801a7d398351b8be11c439e05c5b3259aec9b" });
console.log("Balance (ETH):", Number(balance) / 1e18);

const block = await client.getBlock({
  blockNumber: blockNumber, // from previous example
});
console.log(block);

const tx = await client.getTransaction({ hash: "0xYOUR_TX_HASH" });
console.log(tx);

const receipt = await client.getTransactionReceipt({
  hash: "0xYOUR_TX_HASH"
});
console.log(receipt);

For the full list of zkSync Era APIs, see the zkSync Era API Endpoints.

Was this page helpful?