IOTA Protocol Weekly - Apr 21, 2026

Apr 21, 2026: Protocol v24 ships on testnet with Starfish consensus, REST API removal, and new gRPC metrics.

IOTA Staking Team 3 min read
IOTA protocol update
Share:

Protocol v24 is live on the testnet with the release of v1.21.1-rc. This prerelease introduces Starfish consensus across all networks, removes REST API support entirely, and brings significant changes to the indexer, gRPC, and CLI components. If you're running a testnet node or indexer, expect migrations and config updates.

Protocol v24: Starfish Consensus

The consensus protocol has switched to Starfish across all networks. This change is part of PR #11073. Starfish is designed to improve scalability and resilience, though details on its implementation are in the pull request.

RocksDB has been bumped to version 0.24.0 (PR #11044). If you're managing node infrastructure, ensure compatibility with this version.

AuthContext updates include new fields: tx_data_bytes and signing_digest. The signing Intent representation is now integrated into the IOTA framework (PR #11039). These additions enhance transaction signing capabilities.

Node Metrics Update

Authority gRPC metrics have been renamed for consistency (PR #11126). Key changes:

  • inflight_grpcauthority_grpc_inflight_requests
  • grpc_requestsauthority_grpc_requests
  • grpc_request_latencyauthority_grpc_request_latency

Update any monitoring tools relying on these metrics.

Indexer Changes

Several updates impact indexer functionality:

  • Transaction object changes now include unwrapped objects (PR #10988). A run-backfill object-changes-unwrapped command is available for populating historical data.
  • The iota_tryGetObjectBeforeVersion JSON-RPC endpoint now returns BCS-encoded object bytes (PR #11040).
  • Pruning now uses per-table watermarks, enabling independent retention policies (PR #10875). Optimistic indexing uses object-based dependency checks, making it resilient to pruning of old transactions. The --optimistic-pruner-batch-size argument is deprecated.
  • Autovacuuming for pruned tables is more aggressive. Large database operators should ensure sufficient shm_size (e.g., 2g) on Postgres containers.
  • Execution errors now propagate to the errors field in transaction responses (PR #11116).
  • A new migration removes the redundant objects_owner index (PR #11120). Restarting the writer service triggers a database migration that takes ~60 minutes.
  • IndexerExecutor::run() is removed as part of CheckpointReaderV1 deprecation (PR #11185). Migrate to IndexerExecutor::run_with_config().

REST API Removed

The REST API is gone (PR #10566). If your full node was a checkpoint source for an indexer, reconfigure to use the gRPC endpoint. Migrating to this release will take 10-15 minutes for index updates.

Validator Updates

The effectiveCommissionRate is now exposed in the IotaValidatorSummary via the iotax_getLatestSystemStateV2 JSON-RPC endpoint (PR #10473) and GraphQL queries (PR #10412). This follows IIP8.

CLI and gRPC Changes

Deprecated CLI commands (iota start, iota genesis, etc.) are removed (PR #10866). TLS is now enabled for gRPC connections to validators (PR #10989).

If you're running testnet infrastructure, review the release notes and migration steps carefully. Full log: compare v1.20.0-rc...v1.21.1-rc.

Sources: v1.21.1-rc

I

Written by IOTA Staking Team

Expert in IOTA staking, blockchain technology, and DeFi strategies. Providing actionable insights to help you maximize your staking rewards.

Share this article:

Related Articles

```