V1TransactionConfig

type V1TransactionConfig = object;

Configuration options for transaction messages.

These options allow fine-grained control over transaction resource usage and prioritization. All fields are optional and will be encoded into the transaction when present.

Properties

computeUnitLimit?

optional computeUnitLimit?: number;

Maximum number of compute units the transaction may consume.

Unlike legacy and version 0 transactions, which fall back to 200,000 compute units per instruction when no SetComputeUnitLimit instruction is present, a version 1 transaction that leaves this field unset is budgeted zero compute units and will fail at execution. Set it explicitly on every version 1 transaction. The maximum allowed value is 1,400,000 CUs.


heapSize?

optional heapSize?: number;

Requested heap frame size in bytes for the transaction's execution.


loadedAccountsDataSizeLimit?

optional loadedAccountsDataSizeLimit?: number;

Maximum size in bytes for loaded account data.

As with V1TransactionConfig.computeUnitLimit, leaving this field unset budgets zero bytes rather than applying a default, so any transaction that loads account data must set it explicitly.


priorityFeeLamports?

optional priorityFeeLamports?: bigint;

Total priority fee in lamports to pay for transaction prioritization.

Unlike legacy and version 0 transactions, where the priority fee is derived from a price per compute unit, this is the total fee paid for the whole transaction. If not specified, no priority fee is paid.

On this page