Monad API Quickstart

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

Monad is a high-performance Ethereum-compatible L1. Monad materially advances the efficient frontier in the balance between decentralization and scalability.

Please note that we currently only support the Monad testnet

The Monad API allows interaction with the Monad network through a set of JSON-RPC methods. Its design is familiar to developers who have worked with Ethereum’s JSON-RPC APIs, making it intuitive and straightforward to use.

Send Your First Request on Alchemy

Let’s use the viem package to create a Monad client connected to Alchemy and fetch the latest block number!

npm install --save viem

Create Client Connected to Alchemy

1import { createPublicClient, http, defineChain } from "viem";
2
3const monadTestnet = defineChain({
4 id: 10143,
5 name: "Monad Testnet",
6 nativeCurrency: { name: "MON", symbol: "MON", decimals: 18 },
7 rpcUrls: {
8 default: { http: ["https://monad-testnet.g.alchemy.com/v2/YOUR_ALCHEMY_API_KEY"] },
9 },
10});
11
12const client = createPublicClient({
13 chain: monadTestnet,
14 transport: http("https://monad-testnet.g.alchemy.com/v2/YOUR_ALCHEMY_API_KEY"),
15});

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 (MON):", 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);

Monad APIs

For the full list of Monad APIs, see the Monad API Endpoints.