Build faster with production-ready APIs, smart wallets and rollup infrastructure across 70+ chains. Create your free Alchemy API key and get started today.
Polygon zkEVM is a decentralized Ethereum Layer 2 network that uses cryptographic zero-knowledge proofs to offer validity and quick finality to offchain transactions. Emulating the Ethereum Virtual Machine (EVM), zkEVM allows transparent deployment of existing Ethereum smart contracts while enhancing scalability, security, and transaction throughput. With zkEVM, you can build decentralized applications with quick finality and improved performance, all within the Ethereum ecosystem.
The Polygon zkEVM API is a collection of JSON-RPC methods that let you interact with the Polygon zkEVM network. Using the endpoints provided by the API, you can access up-to-date network data and submit transactions.
Let's use the viem package to create a Polygon zkEVM client connected to Alchemy and fetch the latest block number!
npm install --save viemimport { createPublicClient, http } from "viem";
import { polygonZkEvm } from "viem/chains";
const client = createPublicClient({
chain: polygonZkEvm,
transport: http("https://polygonzkevm-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 Polygon zkEVM APIs, see the Polygon zkEVM API Endpoints.