Gonka v0.2.13 went live on 2026-05-15 as an on-chain software upgrade proposal. It is a maintenance release: seven correctness fixes across the chain, the decentralized API, and devshard, plus three governance parameter changes and the activation of a second AI model (MiniMax-M2.7) on the network. There are no consensus-breaking architecture shifts in this version.

What shipped

  • Confirmation PoC reward accounting fix. During multi-model bootstrap, confirmation PoC used different model sets for measured weight, preserved weight, and reward rescaling. Honest miners serving both an eligible model and a not-yet-eligible model could see their confirmation weight reduced. v0.2.13 stores one epoch snapshot of confirmable models and weight-scale factors and reuses it for both confirmation and reward calculations. The migration disables confirmation PoC triggers for the rest of the upgrade epoch via a 3000-block UpgradeProtectionWindow, so the snapshot logic starts from the next epoch cleanly.

  • Devshard storage moves to epoch-scoped Postgres (PR #1145). Before v0.2.13, devshard kept all escrow history in a single SQLite store that grew without bound. The new layout partitions sessions, diffs, and signatures by epoch_id in Postgres, prunes in the background, and keeps only the last 3 epochs. SQLite remains as a local fallback.

  • Devshard escrow parameters opened up. DevshardEscrowParams.MaxEscrowsPerEpoch is now 500_000, and MaxNonce is 1_000_000 (up from a hardcoded 20_000 in the settlement path). The hard limit that was blocking high-throughput devshard runs is gone.

  • Confirmation snapshot and invalidation fixes landed via PR #1149 (snapshot) and PR #1147 (devshard inference invalidation).

  • Participant reactivation no longer accumulates penalties. ConsecutiveInvalidInferences was not reset when a participant returned to the ACTIVE state. A node could come back from invalid status and get re-invalidated after a single new failure. The counter now resets on reactivation and on upcoming promotion.

  • Authz backfill for dealer complaints. v0.2.12 added MsgRespondDealerComplaints to the permission list but did not migrate existing cold-to-warm ML ops grants. DAPIs that joined before v0.2.12 could not respond to dealer complaints. The migration backfills the grants on every existing pair.

  • Upstream response parsing widened. Some OpenAI-compatible inference upstreams return stop_reason as a number, not a string. Choice.StopReason now accepts any JSON type, so those responses no longer fail to unmarshal.

  • Node manager default port. NodeManagerGrpcPort defaults to 9400 when unset. Join compose uses the same default, so devshard can reach the API without manual configuration.

Under the hood: governance quorum rebalance

The most consequential parameter change in v0.2.13 is on the governance side. Genesis guardians held about 34% of adjusted voting power, which meant that when guardians did not vote, the chain-wide 33.4% quorum was unreachable from ordinary voters alone. Ecosystem proposals stalled.

v0.2.13 makes two coupled changes. GenesisOnlyParams.GenesisGuardianMultiplier drops from its previous value to 0.33334, reducing guardian power from about 34% to about 25%. Then the chain-wide governance quorum is set to 0.25. Quorum is computed against total bonded power; with guardians at 25% and not voting, the effective quorum among the remaining 75% becomes 0.25 / 0.75 = 0.334. So the policy is still "one third of the non-guardian voters must show up", but the math now resolves to that ratio without depending on guardians.

Under the hood: MiniMax-M2.7 as the second governance model

The release adds MiniMax-M2.7 (MiniMaxAI/MiniMax-M2.7) as a governance model and a PoC model config with PenaltyStartEpoch = 271. PoC weight-scale factors and validation thresholds are recalibrated against a Qwen-on-B200 reference after the vLLM 0.20.1 release:

Model WeightScaleFactor ValidationThreshold
Qwen3-235B-A22B-Instruct-2507-FP8 (reference) 0.940
Kimi-K2.6 0.78 0.900
MiniMax-M2.7 0.3024 0.922

Kimi had been measuring too high on B-series GPUs. The new factor brings it to Qwen-on-B200 plus a 10% top-tier premium. MiniMax matches Qwen-on-B200 directly. Kimi also gets --enable-auto-tool-choice added to its ModelArgs if absent.

Impact

For hosts: devshard storage no longer needs manual maintenance, and the MaxNonce = 1_000_000 ceiling makes high-throughput devshard runs viable. Hosts joining after the on-chain upgrade pull the updated api and node container versions from deploy/join/docker-compose.yml; existing hosts do not need to manually update those containers.

For validators and miners: confirmation weight is now stable for participants serving both eligible and bootstrapping models. Coming back from an invalid state no longer leaves a participant one failure away from re-invalidation. DAPIs that joined before v0.2.12 can respond to dealer complaints from epoch one of v0.2.13.

For governance: ecosystem proposals can pass quorum without guardian participation. Combined with the bounty distribution merged the previous day (PR #1168), v0.2.13 closes out the loose ends of the v0.2.12 cycle.

The release maintains backward compatibility for clients of the inference API. There is no breaking change to the OpenAI-compatible interface.