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
npm install @nimiq/core
yarn add @nimiq/core
bun 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()
import Nimiq from '@nimiq/core'
const config = new Nimiq.ClientConfiguration()
const client = await Nimiq.Client.create(config.build())
await client.waitForConsensusEstablished()