Lumia API Quickstart

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

Lumia is the first next-gen, ultra capital efficient, hyper-liquid zkEVM utilising cutting edge tech stack: PolygonCDK, AvailDA and (redundancy) private DAC, Polygon AggLayer, Gevolut, custom AVS’, Chain Abstraction, Account Abstraction and more, thanks to co-development efforts between GatewayFM (RaaS) and Lumia’s tech team.

The Lumia API allows interaction with the Lumia 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 Lumia 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 lumia = defineChain({
4 id: 994873017,
5 name: "Lumia",
6 nativeCurrency: { name: "LUMIA", symbol: "LUMIA", decimals: 18 },
7 rpcUrls: {
8 default: { http: ["https://lumia-mainnet.g.alchemy.com/v2/YOUR_ALCHEMY_API_KEY"] },
9 },
10});
11
12const client = createPublicClient({
13 chain: lumia,
14 transport: http("https://lumia-mainnet.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 (LUMIA):", 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);

Lumia APIs

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