OP Mainnet API Quickstart

How to get started building on OP Mainnet 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.

OP Mainnet (Optimism) is a Layer 2 scaling solution for Ethereum that leverages optimistic rollups to provide fast and low-cost transactions. As the foundation of the Optimism Superchain, OP Mainnet offers a secure and scalable environment for deploying Ethereum-based applications.

The OP Mainnet API facilitates interaction with the OP Mainnet network through a collection of JSON-RPC methods. Given its compatibility with the Ethereum ecosystem, developers familiar with Ethereum’s JSON-RPC APIs will find working with OP Mainnet both intuitive and straightforward.

Send Your First Request on Alchemy

Let’s use the viem package to create an OP Mainnet client connected to Alchemy and fetch the latest block number!

npm install --save viem

Create Client Connected to Alchemy

1import { createPublicClient, http } from "viem";
2import { optimism } from "viem/chains";
3
4const client = createPublicClient({
5 chain: optimism,
6 transport: http("https://opt-mainnet.g.alchemy.com/v2/YOUR_ALCHEMY_API_KEY"),
7});

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

Get Latest Block Number

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

Get an Address Balance

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

Read Block Data

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

Fetch a Transaction by Hash

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

Fetch Transaction Receipt

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

OP Mainnet APIs

For the full list of OP Mainnet APIs, see the OP Mainnet API Endpoints.