---
title: "Nimiq Web Client"
description: "A JavaScript light client that connects directly to the Nimiq blockchain from any browser or Node.js environment — no servers, no intermediaries."
canonical_url: "https://nimiq.dev/web-client"
---
# Nimiq Web Client

> A JavaScript light client that connects directly to the Nimiq blockchain from any browser or Node.js environment — no servers, no intermediaries.

The Nimiq Web Client is a WebAssembly-powered light client packaged as an npm module. It lets your JavaScript application participate in the Nimiq blockchain directly — syncing with the network, reading on-chain state, and broadcasting transactions — without relying on any server or third-party API.

## What you can build

<u-page-grid>
<u-page-card description="Fetch account balances, look up blocks, and check transaction status — all from the browser." icon="i-nimiq:nodes" title="Query the Blockchain" to="https://nimiq.dev/web-client/guides/query-the-blockchain" variant="outline">



</u-page-card>

<u-page-card description="Subscribe to new blocks, track transactions for an address, and react to consensus changes in real time." icon="i-nimiq:bolt" title="Listen for Events" to="https://nimiq.dev/web-client/guides/listen-for-events" variant="outline">



</u-page-card>

<u-page-card description="Generate keypairs, derive addresses from mnemonics, and manage HD wallets entirely client-side." icon="i-tabler:wallet" title="Create and Manage Wallets" to="https://nimiq.dev/web-client/guides/wallets" variant="outline">



</u-page-card>

<u-page-card description="Build, sign, and broadcast NIM transfers with optional data payloads." icon="i-tabler:send" title="Send Transactions" to="https://nimiq.dev/web-client/guides/send-transactions" variant="outline">



</u-page-card>

<u-page-card description="Create stakers, delegate to validators, and manage your stake directly from your application." icon="i-nimiq:verified" title="Stake NIM" to="https://nimiq.dev/web-client/guides/stake-nim" variant="outline">



</u-page-card>
</u-page-grid>

## Quick start

Install the package and connect to the network in a few lines:

<code-group>

```bash [pnpm]
pnpm add @nimiq/core
```

```bash [npm]
npm install @nimiq/core
```

```bash [yarn]
yarn add @nimiq/core
```

```bash [bun]
bun add @nimiq/core
```

</code-group>

<code-group>

```js [browser.js]
import init, * as Nimiq from '@nimiq/core/web'

await init()

const config = new Nimiq.ClientConfiguration()
const client = await Nimiq.Client.create(config.build())

await client.waitForConsensusEstablished()
```

```js [Node.js]
import Nimiq from '@nimiq/core'

const config = new Nimiq.ClientConfiguration()
const client = await Nimiq.Client.create(config.build())

await client.waitForConsensusEstablished()
```

</code-group>

## Where to go next

<callout icon="i-tabler:rocket" to="https://nimiq.dev/web-client/getting-started">

**New to the Web Client?** — Set up your environment, pick a network, and get test funds in the Getting Started guide.

</callout>

<callout icon="i-tabler:code" to="https://nimiq.dev/web-client/integrations/vite">

**Using a framework?** — Follow the integration guide for [Vite](https://nimiq.dev/web-client/integrations/vite), [Nuxt](https://nimiq.dev/web-client/integrations/nuxt), [Next.js](https://nimiq.dev/web-client/integrations/nextjs), or [plain ESM](https://nimiq.dev/web-client/integrations/esm).

</callout>

<callout icon="i-tabler:book" to="https://nimiq.dev/web-client/concepts/browser-vs-server">

**Want to understand the fundamentals?** — Learn how the light client works, or compare the [Web Client vs RPC](https://nimiq.dev/web-client/concepts/web-client-vs-rpc) approach.

</callout>

<callout icon="i-tabler:file-search" to="https://nimiq.dev/web-client/reference">

**Looking for a specific method?** — Browse the full API Reference.

</callout>


## Sitemap

See the full [sitemap](https://nimiq.dev/sitemap.md) for all pages.
