Skip to main content
Version: 1.x

Overview

Nitrolite is a state channel protocol for high-speed off-chain interaction while preserving on-chain security guarantees. Users exchange signed state updates off-chain with Nodes, and any user can enforce the latest agreed state on the blockchain layer at any time.

:::info Language-agnostic specification This section describes protocol rules and invariants. It is not tied to a particular programming language, package, or transport implementation. :::

Design Goals

The protocol is designed to achieve:

  • Off-chain scalability: minimize on-chain transactions by moving state advancement off-chain.
  • Blockchain security guarantees: allow any user to fall back to the blockchain layer to enforce the latest state.
  • Cross-chain asset interaction: operate on assets across multiple blockchains through a unified model.
  • Extensibility: support additional functionality through protocol extensions without modifying the core protocol.

System Roles

RoleProtocol responsibility
UserOpens channels, signs state updates, and holds assets within the protocol.
NodeFacilitates off-chain state advancement, manages channels, and syncs with the blockchain layer.
BlockchainValidates enforceable incoming states, stores states, holds assets, and resolves disputes.

High-Level Architecture

The system operates in three conceptual layers:

LayerScope
Protocol layerRules for state validity, advancement, and enforcement.
Off-chain layerSigned state update exchange with a Node.
Blockchain layerContracts that hold assets and enforce states.

Core Concepts

Channels are state containers shared between a User and a Node. Each channel holds user asset allocations and supports off-chain state updates. A channel is defined by immutable parameters including participants, asset, challenge duration, and approved signature validators.

States represent the current agreed asset allocations and metadata shared between a User and a Node. Each state contains a home ledger, a non-home ledger, a version number, and the transition that produced it.

State advancement is the off-chain process by which a User and a Node exchange signed state transitions. Each new state MUST have a version exactly one greater than the previous state.

State enforcement is the process by which any party MAY submit the latest signed state to the blockchain layer. The blockchain layer validates signatures, version ordering, and ledger invariants before accepting a state.

Unified assets represent the same asset across multiple blockchains. The protocol normalizes amounts by decimal precision when comparing allocations across chains.

Extensions provide additional protocol functionality, such as application sessions. Extensions interact with channels through commit and release transitions.

Protocol Layers

LayerDefines
Core ProtocolChannels, states, state advancement rules, and enforcement mechanisms.
Extension LayerAdditional functionality that interacts with the core protocol through defined interfaces.
Blockchain LayerChannel creation, deposits, state enforcement, escrow operations, and fund release.

Version Scope

This documentation describes the current Nitrolite protocol.

Compatibility expectations:

  • State structures and signing rules defined in this version are stable.
  • Extension interfaces may evolve in future versions.
  • Blockchain layer contracts are version-specific.
  • Channel identifiers include the protocol version in their hashing function to prevent cross-version replay.