mainnet-v1.72.2

MystenLabs/suimainnet-v1.72.2May 20, 2026by ebmifa

AI Summary

Identical to testnet-v1.72.2, this release introduces Address Balances and Gasless Stablecoin Transfers to mainnet along with DB version 4 upgrade and CLI fixes.

Key Highlights

  • Major protocol features: Address Balances and Gasless Stablecoin Transfers
  • gRPC RPC-index DB version bumped to 4 (re-indexing required)
  • CLI fixes for `send-funds` and new replay node URL option

New Features

  • Address Balances feature
  • Gasless Stablecoin Transfers feature
  • CLI fix for `sui client send-funds`
  • Custom node URL support for `sui replay`
  • External-keys subcommand improvements
  • Forking-mode flag for impersonation
  • Pipeline depth config knob
  • MAX_PENDING_ROWS for sequential pipelines

Full Release Notes

⚠️ Please upgrade ASAP. This release introduces two major protocol enhancements: [Address Balances](https://docs.sui.io/onchain-finance/asset-custody/address-balances/using-address-balances) and [Gasless Stablecoin Transfers](https://docs.sui.io/develop/transaction-payment/gasless-stablecoin-transfers). Address Balances introduce a canonical per-address balance model for each token type alongside the existing `Coin<T>` object model, simplifying transaction construction by removing the need for coin selection, splitting, and merging.  Gasless Stablecoin Transfers enable supported stablecoins to be sent peer-to-peer — including batched PTBs — with no gas fees and no gas token required.

## Protocol
#### Sui Protocol Version in this release: `124`

https://github.com/MystenLabs/sui/pull/26505: Bump protocol version

https://github.com/MystenLabs/sui/pull/26203: Adds protocol version 123 (`gas_model_version` 12). Fixes a stack-height double-decrement in the gas meter for native calls. Internal accounting correctness only; no user-visible change to successful transactions.

https://github.com/MystenLabs/sui/pull/26504: Enables address balances, gasless transactions, coin reservations, and the accumulator/withdraw stack on mainnet at protocol version 125. Gasless transactions are gated behind an empty token allow-list until a follow-up configures the mainnet tokens.

https://github.com/MystenLabs/sui/pull/26417: Adds the mainnet stablecoin gasless allowlist (USDC, USDSUI, SUI_USDE, USDY, FDUSD, AUSD, USDB) with a \$0.01 per-stable minimum transfer in protocol v123. Gasless remains disabled on mainnet.

## Nodes (Validators and Full nodes)

https://github.com/MystenLabs/sui/pull/26456: callers of `DBMap::safe_range_iter(..=K)` or `DBMap::reversed_safe_iter_with_bounds(_, Some(K))` where `K` serializes to all `0xFF` will now correctly include the entry at `K`. Previously that entry was silently skipped.

## gRPC

https://github.com/MystenLabs/sui/pull/26403: rpc-index DB version has been updated to `4`. This means that on startup re-indexing will be required and can take some time depending on the amount of object history present on the node.

## GraphQL

https://github.com/MystenLabs/sui/pull/26525: Adding new TransactionEffects.version field for typed TransactionEffects version (v1, v2, etc)

## CLI

https://github.com/MystenLabs/sui/pull/26369: Fix `sui client send-funds` which was always failing with `Insufficient balance … Coin balance: 0` regardless of the sender's actual coin balance.

https://github.com/MystenLabs/sui/pull/26405: `sui replay` now allows to pass a custom `node` url to a `GraphQL` server: `sui replay --node https://graphql.devnet.sui.io/graphql`.

https://github.com/MystenLabs/sui/pull/26346: external-keys subcommand receives --provision-mode [recoverable-assumed|mnemonic-backed|non-recoverable]

https://github.com/MystenLabs/sui/pull/26485: Sui CLI has a new `--forking-mode` flag to be used with the new `sui-fork` tool to allow impersonate a sender.

## Indexing Framework

https://github.com/MystenLabs/sui/pull/26357: A new `pipeline-depth` config knob is added to sequential pipelines which allows the pipeline to continue to build batches while a batch is being flushed to the database. No need to set this config explicitly, the default value should suffice.

https://github.com/MystenLabs/sui/pull/26358: Added MAX_PENDING_ROWS to sequential pipelines. It's a soft-cap that forces the batching loop to attempt a flush to the database, not a hard-cap on the amount of rows buffered in memory.

https://github.com/MystenLabs/sui/pull/26268: sui-indexer-alt-framework-store-traits: add store/connection test macros

https://github.com/MystenLabs/sui/pull/26526: Add support to `IngestionClient` to set arbitrary headers when making requests to remote stores.

---
#### Full Log: https://github.com/MystenLabs/sui/commits/mainnet-v1.72.2