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

Query the Blockchain
Fetch account balances, look up blocks, and check transaction status — all from the browser.
Listen for Events
Subscribe to new blocks, track transactions for an address, and react to consensus changes in real time.
Create and Manage Wallets
Generate keypairs, derive addresses from mnemonics, and manage HD wallets entirely client-side.
Send Transactions
Build, sign, and broadcast NIM transfers with optional data payloads.
Stake NIM
Create stakers, delegate to validators, and manage your stake directly from your application.

Quick start

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

pnpm add @nimiq/core
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()

Where to go next

New to the Web Client? — Set up your environment, pick a network, and get test funds in the Getting Started guide.
Using a framework? — Follow the integration guide for , , , or .
Want to understand the fundamentals? — Learn how the light client works, or compare the approach.
Looking for a specific method? — Browse the full API Reference.
Copyright © 2026