---
title: "Web Client vs RPC"
description: "Compare the Nimiq Web Client and the RPC Client to choose the right approach for your application."
canonical_url: "https://nimiq.dev/web-client/concepts/web-client-vs-rpc"
---
# Web Client vs RPC

> Compare the Nimiq Web Client and the RPC Client to choose the right approach for your application.

Nimiq offers two ways to interact with the blockchain: the **Web Client** and **RPC**. They differ in architecture, infrastructure requirements, and language support.

The Web Client is a light node — it joins the peer-to-peer network directly and syncs with other peers. RPC follows a client-server model: your application sends HTTP requests to a Nimiq node, which interacts with the network on your behalf.

![Web Client vs RPC](https://nimiq.dev/assets/images/protocol/network.png)

## Web Client

The [Web Client](https://nimiq.dev/web-client) is a JavaScript library compiled from Rust to WebAssembly. It runs in browsers and Node.js, connects directly to the blockchain network, and requires no server infrastructure.

It supports account queries, transaction creation and broadcasting, wallet management, and real-time event subscriptions. See the [guides](https://nimiq.dev/web-client/guides/query-the-blockchain) for what you can build with it.

## RPC

[RPC](https://nimiq.dev/rpc) exposes a Nimiq node's full functionality over HTTP using the JSON-RPC specification. It works from any programming language that can send HTTP requests.

RPC provides everything the Web Client does, plus full node control: managing accounts, configuring node settings, retrieving detailed blockchain state, and managing validator operations.

## Comparison

<table>
<thead>
  <tr>
    <th>
      Aspect
    </th>
    
    <th>
      Web Client
    </th>
    
    <th>
      RPC
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        Architecture
      </strong>
    </td>
    
    <td>
      Peer-to-peer, joins the network directly
    </td>
    
    <td>
      Client-server, connects to your node
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Infrastructure
      </strong>
    </td>
    
    <td>
      None — runs in the browser or Node.js
    </td>
    
    <td>
      Requires running a Nimiq node
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Languages
      </strong>
    </td>
    
    <td>
      JavaScript / TypeScript
    </td>
    
    <td>
      Any language with HTTP support
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Functionality
      </strong>
    </td>
    
    <td>
      Light client operations: queries, transactions, events
    </td>
    
    <td>
      Full node control: all light client operations plus node management, validator operations, advanced queries
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Use cases
      </strong>
    </td>
    
    <td>
      Wallets, browser dApps, payment flows, mobile apps
    </td>
    
    <td>
      Block explorers, analytics, server applications, validator management
    </td>
  </tr>
</tbody>
</table>

## When to use each

**Choose Web Client when:**

- Building browser-based or mobile-friendly applications
- You want zero infrastructure — no server to run or maintain
- Working in JavaScript / TypeScript
- Building decentralized applications where users connect directly

**Choose RPC when:**

- Building server-side applications or backend services
- You need full node control or validator management
- Working in languages other than JavaScript
- Building block explorers, analytics tools, or data pipelines

## Start building

<u-page-grid>
<u-page-card :title="{"Web Client icon":{"i-lucide-globe to":{"/web-client variant":"outline"}}}">



</u-page-card>

<u-page-card icon="i-lucide-terminal" title="Nimiq RPC" to="https://nimiq.dev/rpc" variant="outline">



</u-page-card>

<u-page-card icon="i-lucide-shield-check" title="Validators" to="https://nimiq.dev/nodes/validators/becoming-a-validator" variant="outline">



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

## Further reading

- [Nimiq Albatross protocol documentation](https://nimiq.dev/protocol) — consensus algorithm, block structure, network protocol
- [How the Light Client Works](https://nimiq.dev/web-client/concepts/how-the-light-client-works) — what the Web Client can and cannot access


## Sitemap

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