IOTA Protocol Weekly - Apr 28, 2026

Apr 28, 2026: IOTA Protocol v1.22.0-beta introduces protocol version 25, removes zkLogin, updates JSON-RPC, GraphQL, CLI, and gRPC.

IOTA Staking Team 2 min read
IOTA protocol update
Share:

Protocol v1.22.0-beta is live on the testnet. This prerelease introduces protocol version 25, removes zkLogin authentication, and includes breaking changes across JSON-RPC, GraphQL, CLI, and gRPC. Operators and developers working on testnet should review the changes carefully before upgrading.

Protocol Changes

  • Protocol version updated to 25.
  • zkLogin authentication support fully removed (#10737). zkLogin signatures, including those within multisig, are now rejected. JWK consensus updates no longer occur.

Node Updates

  • Deprecated gRPC index tables removed (#11209). Migration on restart may cause several minutes of downtime. Plan updates according to your SLA.
  • Config options jwk_fetch_interval_seconds and zklogin_oauth_providers removed. JWK periodic fetching and consensus submission also removed (#10737).

JSON-RPC Updates

  • iota_{execute,dryRun}TransactionBlock endpoints now provide clearer error responses (#11250).
  • Fixed type mismatch in JSON-RPC spec (#11292). The SequenceNumber2 type is now SequenceNumberBigInt and represented as a string. This breaks clients generated by the spec but doesn't impact existing downstream applications.
  • Breaking schema changes (#10737):
    • CompressedSignature and PublicKey: zkLogin variant changed to string literal ZkLoginDeprecated.
    • GenericSignature.ZkLoginAuthenticator renamed to ZkLoginAuthenticatorDeprecated with a null payload.
    • Removed branches and schema components related to zkLogin, including AuthenticatorStateUpdateV1, ZkLoginInputs, and IotaJWK.

GraphQL Updates

  • Subscription queries now accept an optional startAfter transaction digest to resume from a specific point (#11196).
  • zkLogin-related fields and types removed from the public schema (#10737). This includes verifyZkloginSignature, ActiveJwk, and AuthenticatorStateCreateTransaction, among others.

CLI Changes

  • Removed keytool commands related to zkLogin (#10737):
    • zk-login-sign-and-execute-tx
    • zk-login-enter-token
    • zk-login-sig-verify
    • zk-login-insecure-sign-personal-message
  • decode-or-verify-tx now explicitly states that zkLogin is not supported.

gRPC Updates

  • New limit on concurrent checkpoint streaming clients (#11299). Default is 1024, configurable via grpc-api-config.max-concurrent-stream-subscribers. Monitor usage with the new Prometheus metric node_grpc_inflight_checkpoint_stream_subscribers.

Migration Notes

  • Operators should expect downtime during node restarts due to gRPC index table removal. Staging updates is recommended to minimize disruptions.
  • JSON-RPC schema changes may break compatibility with auto-generated clients. Verify and update your integrations accordingly.
  • zkLogin removal impacts all areas—transactions, GraphQL queries, CLI commands, and gRPC. Ensure your systems no longer rely on any zkLogin-related functionality.

For the full changelog and details, see the v1.22.0-beta release notes. This is a testnet release, so do not apply these changes to mainnet environments.

Sources: v1.22.0-beta, v1.22.0-alpha, v1.21.1

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

```