Lens API Quickstart

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

Lens Network is a decentralized social media infrastructure built on Ethereum using zkSync’s technology. It aims to create open and fair social spaces by leveraging hybrid scaling solutions for high-throughput, low-cost transactions. Lens empowers users with control over their social identity and connections, enabling seamless movement across applications and fostering an environment with reduced censorship and enhanced freedom of expression.

Please note that we currently only support Lens Sepolia Testnet

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

Lens APIs

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