Nimiq
Classes

Class: TransactionBuilder

@nimiq/core / TransactionBuilder

Defined in: @nimiq/core/types/wasm/web.d.ts:2438

The TransactionBuilder class provides helper methods to easily create standard types of transactions. It can only be instantiated from a Client with client.transactionBuilder().

Methods

[dispose]()

[dispose](): void

Defined in: @nimiq/core/types/wasm/web.d.ts:2441

Returns

void


free()

free(): void

Defined in: @nimiq/core/types/wasm/web.d.ts:2440

Returns

void


newAddStake()

static newAddStake(sender, staker_address, value, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2450

Adds stake to a staker in the staking contract and transfers value amount of luna (NIM's smallest unit) from the sender account to this staker.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the numbers given for value and fee do not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

staker_address

Address

value

bigint

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newBasic()

static newBasic(sender, recipient, value, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2459

Creates a basic transaction that transfers value amount of luna (NIM's smallest unit) from the sender to the recipient.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the numbers given for value and fee do not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

recipient

Address

value

bigint

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newBasicWithData()

static newBasicWithData(sender, recipient, data, value, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2468

Creates a basic transaction that transfers value amount of luna (NIM's smallest unit) from the sender to the recipient. It can include arbitrary data, up to 64 bytes.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the numbers given for value and fee do not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

recipient

Address

data

Uint8Array

value

bigint

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newCreateStaker()

static newCreateStaker(sender, delegation, value, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2477

Creates a new staker in the staking contract and transfers value amount of luna (NIM's smallest unit) from the sender account to this new staker.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the numbers given for value and fee do not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

delegation

Address

value

bigint

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newCreateValidator()

static newCreateValidator(sender, reward_address, signing_key, voting_key_pair, signal_data, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2485

Registers a new validator in the staking contract.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the fee does not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

reward_address

Address

signing_key

PublicKey

voting_key_pair

BLSKeyPair

signal_data

string

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newDeactivateValidator()

static newDeactivateValidator(sender, validator, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2493

Deactivates a validator in the staking contract.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the fee does not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

validator

Address

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newDeleteValidator()

static newDeleteValidator(sender, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2501

Deleted a validator the staking contract. The deposit is returned to the Sender

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the fee does not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newRemoveStake()

static newRemoveStake(recipient, value, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2510

Removes stake from the staking contract and transfers value amount of luna (NIM's smallest unit) from the staker to the recipient.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the numbers given for value and fee do not fit within a u64 or the networkId is unknown.

Parameters

recipient

Address

value

bigint

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newRetireStake()

static newRetireStake(sender, retire_stake, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2519

Retires a portion of the inactive stake balance of the staker. This is a signaling transaction and as such does not transfer any value.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the numbers given for fee and retire_stake do not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

retire_stake

bigint

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newRetireValidator()

static newRetireValidator(sender, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2527

Retires a validator in the staking contract.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the fee does not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newSetActiveStake()

static newSetActiveStake(sender, new_active_balance, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2536

Sets the active stake balance of the staker. This is a signaling transaction and as such does not transfer any value.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the numbers given for fee and new_active_balance do not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

new_active_balance

bigint

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newSetSignalData()

static newSetSignalData(sender, validator, signal_data, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2547

Sets the signal data of a validator in the staking contract. In contrast to newUpdateValidator, this transaction is signed with the validator's signing (warm) key, so the cold key is not required to signal protocol upgrades. Pass undefined as signalData to clear the signal.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the fee does not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

validator

Address

signal_data

string

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newSignalVersion()

static newSignalVersion(sender, validator, version, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2558

Signals support for the given protocol version with the validator's signing (warm) key by updating the validator's signal data in the staking contract. In contrast to newSetSignalData, this only updates the protocol-version bytes of the signal data and preserves the rest. To clear the signal data entirely, use newSetSignalData with null.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the fee does not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

validator

Address

version

number

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newUpdateStaker()

static newUpdateStaker(sender, new_delegation, reactivate_all_stake, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2567

Updates a staker in the staking contract to stake for a different validator. This is a signaling transaction and as such does not transfer any value.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the number given for fee does not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

new_delegation

Address

reactivate_all_stake

boolean

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction


newUpdateValidator()

static newUpdateValidator(sender, reward_address, signing_key, voting_key_pair, signal_data, fee, validity_start_height, network_id): Transaction

Defined in: @nimiq/core/types/wasm/web.d.ts:2575

Updates parameters of a validator in the staking contract.

The returned transaction is not yet signed. You can sign it e.g. with tx.sign(keyPair).

Throws when the fee does not fit within a u64 or the networkId is unknown.

Parameters

sender

Address

reward_address

Address

signing_key

PublicKey

voting_key_pair

BLSKeyPair

signal_data

string

fee

bigint

validity_start_height

number

network_id

number

Returns

Transaction

Copyright © 2026