Skip to main content
Technical proposal SIMD-0458 Activated

Stop special-casing of Vote CU cost

  1. Idea
  2. Draft
  3. Review
  4. Accept
  5. Implement
  6. Active

Decision brief

Why this proposal matters

This proposal removes the use of statically defined compute unit (CU) costs for Simple Vote transactions and instead accounts for them in the same way as normal transactions when enforcing block CU limits. This also renders the Vote CU limit obsolete. Because this change affects consensus behavior, it must be gated behind a feature flag.

Source-backed reading aid · source language: EN

Proposal at a glance

What changes

  • Stop using statically defined CU values for Simple Vote transactions.
  • Calculate the cost of Simple Vote transactions using the same cost model and accounting path as normal transactions.
  • Remove vote CU limit.

Stakeholder map

Who is affected

Builders & client teams Impact unknown

No proposal-specific evidence was found for this group.

Action requirement unknown
Validators & operators Medium impact

The impact on cost consuming/tracking, and CU reserving for simple vote can be summarized in table:

Action requirement unknown
Users & stakers Medium impact

Cost tracking: The impact is expected to be minimal, as the actual executed CU consumption of Simple Vote transactions is identical to the previously statically defined value for the vast majority of votes. CU consumption will only change for unusual vote transactions that still classify as simple votes (e.g.…

Action requirement unknown
Governance & ecosystem Medium impact

This proposal removes the use of statically defined compute unit (CU) costs for Simple Vote transactions and instead accounts for them in the same way as normal transactions when enforcing block CU limits. This also renders the Vote CU limit obsolete. Because this change affects consensus behavior, it must be gated behind a feature flag.

Action may be required

Exact source revision

Full proposal document

Source-language document. Technical identifiers and evidence remain unchanged. 2be4cb0c0fd1

Summary

This proposal removes the use of statically defined compute unit (CU) costs for Simple Vote transactions and instead accounts for them in the same way as normal transactions when enforcing block CU limits. This also renders the Vote CU limit obsolete. Because this change affects consensus behavior, it must be gated behind a feature flag.

Motivation

Simple Vote transactions currently reserve a fixed, statically defined number of compute units for cost tracking, based on the assumption that the Vote program, as a builtin program, has a static execution CU cost. However, SIMD-0387 specifies that the Vote program will be removed from builtin cost modeling. As a result, the cost of Simple Vote transactions should no longer rely on static CU assumptions and should instead be calculated in the same manner as other transactions.

New Terminology

N/A

Detailed Design

  • Stop using statically defined CU values for Simple Vote transactions.
  • Calculate the cost of Simple Vote transactions using the same cost model and accounting path as normal transactions.
  • Remove vote CU limit.

Alternatives Considered

N/A

Impact

The impact on cost consuming/tracking, and CU reserving for simple vote can be summarized in table:

Total consumed CUsTotal reserved CUs
Current34283428
Proposed3428*19812**
  • Cost tracking: The impact is expected to be minimal, as the actual executed CU consumption of Simple Vote transactions is identical to the previously statically defined value for the vast majority of votes. CU consumption will only change for unusual vote transactions that still classify as simple votes (e.g. two signatures, or additional writable accounts), or unusually large vote accounts.

    [ * ]statically define CUs for simple vote includes 1 signature (720 CU), 2

write locks (600 CU), 1 vote instruction which has 2,100 CU, and 8 CU to load small accounts, total 3428 CU. All components stay same except the CU for loaded accounts data size may change, which is a small part overall CUs.

  • Block production: [ ** ] Under the current cost model, Simple Vote transactions may have higher estimated CUs ( about 16K additional CUs) due to inclusion of default account data loading costs. For block-packing strategies that reserve CUs upfront and refund unused CUs after execution, this may result in larger initial CU reservations for Simple Vote transactions, followed by refunds. This effect is specific to such “reserve-then-refund” packing strategies.

Security Considerations

N/A

Evidence graph

Related proposals and rollout

One or more sources are unavailable.

Upstream review record

Upstream discussion & review

One or more sources are unavailable.

simd.watch community discussion · SIMD-0458

Powered by Giscus · Sign in with GitHub to comment

Community comments load when this section approaches the viewport.

Provenance

Evidence & technical details

Rollout or chain data, source revisions, freshness and integrity.
3

SIMD

Deployment Status

Document lifecycleActivated
CategoryCore protocol

Feature Gate not yet created

Exact source revision

Sources & integrity

  • Proposal document pinned_commit_blob
    2be4cb0c0fd1025df8c037b19372f7346119b231
  • simd-document document · stale · Oct 29, 2026
    2be4cb0c0fd1025df8c037b19372f7346119b231

One or more sources are unavailable.

One or more sources are unavailable.