Skip to content
Alchemy Logo

Arbitrum API Quickstart

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

Arbitrum is a Layer 2 scaling solution for Ethereum that leverages optimistic rollups to provide fast and low-cost transactions. Designed to support the needs of decentralized applications (dApps), Arbitrum enhances the scalability and efficiency of Ethereum-based applications while maintaining full EVM compatibility.

The Arbitrum API facilitates interaction with the Arbitrum 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 Arbitrum both intuitive and straightforward.

Let's use the viem package to create an Arbitrum client connected to Alchemy and fetch the latest block number!

npm install --save viem

import { createPublicClient, http } from "viem"; 
import { arbitrum } from "viem/chains";
 
const client = createPublicClient({
  chain: arbitrum,
  transport: http("https://arb-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 Arbitrum APIs, see the Arbitrum API Endpoints.

Was this page helpful?