Skip to main content
Version: v1

Midnight Indexer v3.0.0 release notes

  • Version: v3.0.0
  • Date: 2026-01-28
  • Environment: Preview, Preprod

High-level summary

This release updates the Indexer API to v3 and fully supports Ledger v7 and Node 0.20. Breaking changes affect all users.


Audience

This release note is critical for developers who:

  • Use the Midnight Indexer via the Indexer API
  • Run the Midnight Indexer

What changed (Summary of updates)

  • Updated Indexer API from v1 to v3
  • Full support for Ledger v7 and Node v0.20
  • Comprehensive unshielded token functionality
  • DUST/cNIGHT tracking and generation status
  • Governance system parameters support
  • Enhanced transaction metadata with status, fees, and execution results
  • Ledger events support

New features

Below are the new features and improvements for this release.

Unshielded tokens

The Indexer now provides full unshielded token support including DUST and cNIGHT. Unshielded tokens can be owned by contracts, and subscriptions include sync progress data.

Governance

The Indexer now supports D-Parameter and Terms and Conditions (T&C). Governance system parameters are exposed in the GraphQL API for easy access and monitoring.

Transaction enhancements

Transaction metadata has been enhanced to include status, fees, and execution results. The API now supports system transactions, and ApplyStage has been renamed to TransactionResult with segment results.

API improvements

The API now includes ApiError with client and server error types. Database query results use node-like default ordering, and error handling for network ID mismatches has been improved.


Improvements

  • Removed deprecated health endpoint.
  • Removed obsolete metrics, added wallets connected gauge.
  • Lowercase network ID validation at startup.
  • Ledger state validation on save.
  • Composite index on transactions(variant, id) for performance.

Breaking changes

Below are the breaking changes and required actions for developers.

API version change

What changed: Indexer API changed from v1 to v3 (v2 was skipped).

What breaks: All DApps using v1 API endpoints.

Required actions: Update API calls to use v3 endpoints and schema.

Node and Ledger compatibility

What changed: Support for Node 0.12 removed; only supports Node v0.20 and Ledger v7.

What breaks: DApps using older Ledger or Node versions will not work with Indexer v3.

Required actions: Update your Ledger to v7 and Node to v0.20.0.

Network ID format

What changed: Network ID changed from enum to string and must be lowercase.

What breaks: Applications passing uppercase or enum-based network IDs.

Required actions: Update network ID references to lowercase strings (for example, "preview" instead of NetworkId.Preview).