SN v0.13.6 pre-release notes

Starknet v0.13.6 Pre-release Notes

DRAFT
Testnet – 30 June 2025
Mainnet – 8 July 2025

Enable resource counting, and temporarily disable Cairo Native

Configurations

Breaking changes

Transactions that are larger than 0.13.6 blocks are no longer acceptable

Enable resource counting, and temporarily disable Cairo Native

Version 0.13.6 will disable Cairo Native. The Starknet OS will track individual builtins used, capping the number of builtins that may fit inside each block. This kind of tracking is currently not possible with Cairo Native, and we will add this feature to Cairo Native before enabling it again. Notice that this affects only testnet, as Cairo Native is disabled on mainnet ATM.

Configurations

  1. Max `l2_gas` per block: This version would reduce the maximal blocksize allowed from 5B L2 gas (equivalent to 50M Cairo steps) to 4B L2 gas (equivalent to 40M Cairo steps).
  2. Tracking builtin usage- This version will introduce resource tracking of builtins. This will determine a maximal block resource cap, and when to close a block. Starting with SN version 0.13.6, the maximal occurrences of each builtin within a block appears in the table below. When capping, we count all builtins usage and add till we get to a full block. For example, a SN block with 5M Cairo steps (25% of block space), 3497=6994/2 EC_OP builtins (50% of block space) and 101833=509165/5 Poseidones (20% of block space)) represent a SN block which is 95% full. A block will be closed according to this tracking even if it has less than 4B L2 gas.
Builtin Max occurrence per block (if this is the only builtin) starting 0.13.6
Cairo steps 40,000,000
range_check 28,571,428
ECDSA 2,959
Poseidon 480,000
Pedersen 493,827
Bitwise 3,430,532
EC_OP 6,994
Keccak 9,790
range_check96 35,714,386
add_mod 8,000,000
mul_mod 3,311,258

Breaking changes

Transactions that are larger than 0.13.6 blocks are no longer acceptable.

TLDR is that this de-facto doesn’t affect any activity that happens, or that is likely to happen, on SN. Below is an explanation why.

For a transaction to experience this, it needs to consume more than 100% block_space according to the metric above, yet have below 1B L2 gas, and therefore less than 10M steps (otherwise it would be too large already with 0.13.5). Since the step’s count isn’t changing (only for some builtins, the limitation might be more restricting than in 0.13.5) - we checked what is the maximal builtin utilization (other than steps) that a single transaction have ever required, and the answer is 14% of block space according to the 0.13.6 metric.

This means that for a transaction to experience this, it needs to use more than 5x the amount of builtins than any transaction in SN history, which is deemed unlikely for any use case we have now.