com.r3corda.core.contracts / TransactionBuilder / <init>

# <init>

`TransactionBuilder(type: TransactionType = TransactionType.General(), notary: Party? = null)`

A TransactionBuilder is a transaction class thats mutable (unlike the others which are all immutable). It is intended to be passed around contracts that may edit it by adding new states/commands. Then once the states and commands are right, this class can be used as a holding bucket to gather signatures from multiple parties.

The builder can be customised for specific transaction types, e.g. where additional processing is needed before adding a state/command.

### Parameters

`notary` - The default notary that will be used for outputs that dont have a notary specified. When this is set, an output state can be added by just passing in a ContractState – a TransactionState with the default notary will be generated automatically.