Skip to main content
Version: Canary 🚧

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).