# transactions.transaction\_composer

## Attributes

[Section titled “Attributes”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#attributes)

| [`ErrorTransformer`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.ErrorTransformer) |  |
| --- | --- |
| [`MethodCallParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.MethodCallParams) |  |
| [`AppMethodCallTransactionArgument`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AppMethodCallTransactionArgument) |  |
| [`TxnParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.TxnParams) |  |

## Classes

[Section titled “Classes”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#classes)

| [`PaymentParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.PaymentParams) | Parameters for a payment transaction. |
| --- | --- |
| [`AssetCreateParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AssetCreateParams) | Parameters for creating a new asset. |
| [`AssetConfigParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AssetConfigParams) | Parameters for configuring an existing asset. |
| [`AssetFreezeParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AssetFreezeParams) | Parameters for freezing an asset. |
| [`AssetDestroyParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AssetDestroyParams) | Parameters for destroying an asset. |
| [`OnlineKeyRegistrationParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.OnlineKeyRegistrationParams) | Parameters for online key registration. |
| [`OfflineKeyRegistrationParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.OfflineKeyRegistrationParams) | Parameters for offline key registration. |
| [`AssetTransferParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AssetTransferParams) | Parameters for transferring an asset. |
| [`AssetOptInParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AssetOptInParams) | Parameters for opting into an asset. |
| [`AssetOptOutParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AssetOptOutParams) | Parameters for opting out of an asset. |
| [`AppCallParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AppCallParams) | Parameters for calling an application. |
| [`AppCreateSchema`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AppCreateSchema) | dict() -> new empty dictionary |
| [`AppCreateParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AppCreateParams) | Parameters for creating an application. |
| [`AppUpdateParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AppUpdateParams) | Parameters for updating an application. |
| [`AppDeleteParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AppDeleteParams) | Parameters for deleting an application. |
| [`AppCallMethodCallParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AppCallMethodCallParams) | Parameters for a regular ABI method call. |
| [`AppCreateMethodCallParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AppCreateMethodCallParams) | Parameters for an ABI method call that creates an application. |
| [`AppUpdateMethodCallParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AppUpdateMethodCallParams) | Parameters for an ABI method call that updates an application. |
| [`AppDeleteMethodCallParams`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.AppDeleteMethodCallParams) | Parameters for an ABI method call that deletes an application. |
| [`BuiltTransactions`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.BuiltTransactions) | Set of transactions built by TransactionComposer. |
| [`TransactionComposerBuildResult`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.TransactionComposerBuildResult) | Result of building transactions with TransactionComposer. |
| [`SendAtomicTransactionComposerResults`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.SendAtomicTransactionComposerResults) | Results from sending an AtomicTransactionComposer transaction group. |
| [`TransactionComposer`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.TransactionComposer) | A class for composing and managing Algorand transactions. |

## Functions

[Section titled “Functions”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#functions)

| [`calculate_extra_program_pages`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.calculate_extra_program_pages)(→ int) | Calculate minimum number of extra\_pages required for provided approval and clear programs |
| --- | --- |
| [`populate_app_call_resources`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.populate_app_call_resources)(…) | Populate application call resources based on simulation results. |
| [`prepare_group_for_sending`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.prepare_group_for_sending)(…) | Take an existing Atomic Transaction Composer and return a new one with changes applied to the transactions |
| [`send_atomic_transaction_composer`](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utils.transactions.transaction_composer.send_atomic_transaction_composer)(…) | Send an AtomicTransactionComposer transaction group. |

## Module Contents

[Section titled “Module Contents”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#module-contents)

### algokit\_utils.transactions.transaction\_composer.ErrorTransformer

[Section titled “algokit\_utils.transactions.transaction\_composer.ErrorTransformer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utilstransactionstransaction_composererrortransformer)

### _class_ algokit\_utils.transactions.transaction\_composer.PaymentParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.PaymentParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerpaymentparams)

Bases: `_CommonTxnParams`

Parameters for a payment transaction.

#### receiver _: str_

[Section titled “receiver : str”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#receiver--str)

The account that will receive the ALGO

#### amount _: [algokit\_utils.models.amount.AlgoAmount](https://dev.algorand.co/reference/algokit-utils-py/api/models/amount/\#algokit_utils.models.amount.AlgoAmount)_

[Section titled “amount : algokit\_utils.models.amount.AlgoAmount”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#amount--algokit_utilsmodelsamountalgoamount)

Amount to send

#### close\*remainder\_to \*: str \| None\_ _= None_

[Section titled “close\*remainder\_to \*: str \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#closeremainder_to--str--none_--none)

If given, close the sender account and send the remaining balance to this address, defaults to None

### _class_ algokit\_utils.transactions.transaction\_composer.AssetCreateParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AssetCreateParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerassetcreateparams)

Bases: `_CommonTxnParams`

Parameters for creating a new asset.

#### total _: int_

[Section titled “total : int”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#total--int)

The total amount of the smallest divisible unit to create

#### asset\*name \*: str \| None\_ _= None_

[Section titled “asset\*name \*: str \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#assetname--str--none_--none)

The full name of the asset

#### unit\*name \*: str \| None\_ _= None_

[Section titled “unit\*name \*: str \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#unitname--str--none_--none)

The short ticker name for the asset

#### url _: str \| None_ _= None_

[Section titled “url : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#url--str--none--none)

The metadata URL for the asset

#### decimals _: int \| None_ _= None_

[Section titled “decimals : int \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#decimals--int--none--none)

The amount of decimal places the asset should have

#### default\*frozen \*: bool \| None\_ _= None_

[Section titled “default\*frozen \*: bool \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#defaultfrozen--bool--none_--none)

Whether the asset is frozen by default in the creator address

#### manager _: str \| None_ _= None_

[Section titled “manager : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#manager--str--none--none)

The address that can change the manager, reserve, clawback, and freeze addresses

#### reserve _: str \| None_ _= None_

[Section titled “reserve : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#reserve--str--none--none)

The address that holds the uncirculated supply

#### freeze _: str \| None_ _= None_

[Section titled “freeze : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#freeze--str--none--none)

The address that can freeze the asset in any account

#### clawback _: str \| None_ _= None_

[Section titled “clawback : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#clawback--str--none--none)

The address that can clawback the asset from any account

#### metadata\*hash \*: bytes \| None\_ _= None_

[Section titled “metadata\*hash \*: bytes \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#metadatahash--bytes--none_--none)

Hash of the metadata contained in the metadata URL

### _class_ algokit\_utils.transactions.transaction\_composer.AssetConfigParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AssetConfigParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerassetconfigparams)

Bases: `_CommonTxnParams`

Parameters for configuring an existing asset.

#### asset\*id \*: int\_

[Section titled “asset\*id \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#assetid--int_)

The ID of the asset

#### manager _: str \| None_ _= None_

[Section titled “manager : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#manager--str--none--none-1)

The address that can change the manager, reserve, clawback, and freeze addresses, defaults to None

#### reserve _: str \| None_ _= None_

[Section titled “reserve : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#reserve--str--none--none-1)

The address that holds the uncirculated supply, defaults to None

#### freeze _: str \| None_ _= None_

[Section titled “freeze : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#freeze--str--none--none-1)

The address that can freeze the asset in any account, defaults to None

#### clawback _: str \| None_ _= None_

[Section titled “clawback : str \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#clawback--str--none--none-1)

The address that can clawback the asset from any account, defaults to None

### _class_ algokit\_utils.transactions.transaction\_composer.AssetFreezeParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AssetFreezeParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerassetfreezeparams)

Bases: `_CommonTxnParams`

Parameters for freezing an asset.

#### asset\*id \*: int\_

[Section titled “asset\*id \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#assetid--int_-1)

The ID of the asset

#### account _: str_

[Section titled “account : str”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#account--str)

The account to freeze or unfreeze

#### frozen _: bool_

[Section titled “frozen : bool”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#frozen--bool)

Whether the assets in the account should be frozen

### _class_ algokit\_utils.transactions.transaction\_composer.AssetDestroyParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AssetDestroyParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerassetdestroyparams)

Bases: `_CommonTxnParams`

Parameters for destroying an asset.

#### asset\*id \*: int\_

[Section titled “asset\*id \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#assetid--int_-2)

The ID of the asset

### _class_ algokit\_utils.transactions.transaction\_composer.OnlineKeyRegistrationParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.OnlineKeyRegistrationParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composeronlinekeyregistrationparams)

Bases: `_CommonTxnParams`

Parameters for online key registration.

#### vote\*key \*: str\_

[Section titled “vote\*key \*: str\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#votekey--str_)

The root participation public key

#### selection\*key \*: str\_

[Section titled “selection\*key \*: str\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#selectionkey--str_)

The VRF public key

#### vote\*first \*: int\_

[Section titled “vote\*first \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#votefirst--int_)

The first round that the participation key is valid

#### vote\*last \*: int\_

[Section titled “vote\*last \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#votelast--int_)

The last round that the participation key is valid

#### vote\*key\_dilution \*: int\_

[Section titled “vote\*key\_dilution \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#votekey_dilution--int_)

The dilution for the 2-level participation key

#### state\*proof\_key \*: bytes \| None\_ _= None_

[Section titled “state\*proof\_key \*: bytes \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#stateproof_key--bytes--none_--none)

The 64 byte state proof public key commitment, defaults to None

### _class_ algokit\_utils.transactions.transaction\_composer.OfflineKeyRegistrationParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.OfflineKeyRegistrationParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerofflinekeyregistrationparams)

Bases: `_CommonTxnParams`

Parameters for offline key registration.

#### prevent\*account\_from\_ever\_participating\_again \*: bool\_

[Section titled “prevent\*account\_from\_ever\_participating\_again \*: bool\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#preventaccount_from_ever_participating_again--bool_)

Whether to prevent the account from ever participating again

### _class_ algokit\_utils.transactions.transaction\_composer.AssetTransferParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AssetTransferParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerassettransferparams)

Bases: `_CommonTxnParams`

Parameters for transferring an asset.

#### asset\*id \*: int\_

[Section titled “asset\*id \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#assetid--int_-3)

The ID of the asset

#### amount _: int_

[Section titled “amount : int”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#amount--int)

The amount of the asset to transfer (smallest divisible unit)

#### receiver _: str_

[Section titled “receiver : str”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#receiver--str-1)

The account to send the asset to

#### clawback\*target \*: str \| None\_ _= None_

[Section titled “clawback\*target \*: str \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#clawbacktarget--str--none_--none)

The account to take the asset from, defaults to None

#### close\*asset\_to \*: str \| None\_ _= None_

[Section titled “close\*asset\_to \*: str \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#closeasset_to--str--none_--none)

The account to close the asset to, defaults to None

### _class_ algokit\_utils.transactions.transaction\_composer.AssetOptInParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AssetOptInParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerassetoptinparams)

Bases: `_CommonTxnParams`

Parameters for opting into an asset.

#### asset\*id \*: int\_

[Section titled “asset\*id \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#assetid--int_-4)

The ID of the asset

### _class_ algokit\_utils.transactions.transaction\_composer.AssetOptOutParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AssetOptOutParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerassetoptoutparams)

Bases: `_CommonTxnParams`

Parameters for opting out of an asset.

#### asset\*id \*: int\_

[Section titled “asset\*id \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#assetid--int_-5)

The ID of the asset

#### creator _: str_

[Section titled “creator : str”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#creator--str)

The creator address of the asset

### _class_ algokit\_utils.transactions.transaction\_composer.AppCallParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AppCallParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerappcallparams)

Bases: `_CommonTxnParams`

Parameters for calling an application.

#### on\*complete \*: algosdk.transaction.OnComplete\_

[Section titled “on\*complete \*: algosdk.transaction.OnComplete\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#oncomplete--algosdktransactiononcomplete_)

The OnComplete action, defaults to None

#### app\*id \*: int \| None\_ _= None_

[Section titled “app\*id \*: int \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#appid--int--none_--none)

The ID of the application, defaults to None

#### approval\*program \*: str \| bytes \| None\_ _= None_

[Section titled “approval\*program \*: str \| bytes \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#approvalprogram--str--bytes--none_--none)

The program to execute for all OnCompletes other than ClearState, defaults to None

#### clear\*state\_program \*: str \| bytes \| None\_ _= None_

[Section titled “clear\*state\_program \*: str \| bytes \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#clearstate_program--str--bytes--none_--none)

The program to execute for ClearState OnComplete, defaults to None

#### schema _: dict\[str, int\] \| None_ _= None_

[Section titled “schema : dict\[str, int\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#schema--dictstr-int--none--none)

The state schema for the app, defaults to None

#### args _: list\[bytes\] \| None_ _= None_

[Section titled “args : list\[bytes\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#args--listbytes--none--none)

Application arguments, defaults to None

#### account\*references \*: list\[str\] \| None\_ _= None_

[Section titled “account\*references \*: list\[str\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#accountreferences--liststr--none_--none)

Account references, defaults to None

#### app\*references \*: list\[int\] \| None\_ _= None_

[Section titled “app\*references \*: list\[int\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#appreferences--listint--none_--none)

App references, defaults to None

#### asset\*references \*: list\[int\] \| None\_ _= None_

[Section titled “asset\*references \*: list\[int\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#assetreferences--listint--none_--none)

Asset references, defaults to None

#### extra\*pages \*: int \| None\_ _= None_

[Section titled “extra\*pages \*: int \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#extrapages--int--none_--none)

Number of extra pages required for the programs, defaults to None

#### box _references : list\[ [algokit\_utils.models.state.BoxReference](https://dev.algorand.co/reference/algokit-utils-py/api/models/state/\#algokit_utils.models.state.BoxReference) \| algokitutils.models.state.BoxIdentifier\] \| None_ _= None_

[Section titled “boxreferences : list\[algokit\_utils.models.state.BoxReference \| algokitutils.models.state.BoxIdentifier\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#boxreferences--listalgokit_utilsmodelsstateboxreference--algokitutilsmodelsstateboxidentifier--none--none)

Box references, defaults to None

### _class_ algokit\_utils.transactions.transaction\_composer.AppCreateSchema

[Section titled “class algokit\_utils.transactions.transaction\_composer.AppCreateSchema”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerappcreateschema)

Bases: `TypedDict`

dict() -> new empty dictionary
dict(mapping) -> new dictionary initialized from a mapping object’s

> (key, value) pairs

dict(iterable) -> new dictionary initialized as if via:
: d = {}
for k, v in iterable:

{’ ’}

\> d\[k\] = v

dict(

```
**
```

kwargs) -> new dictionary initialized with the name=value pairs
: in the keyword argument list. For example: dict(one=1, two=2)

#### global\*ints \*: int\_

[Section titled “global\*ints \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#globalints--int_)

The number of global ints in the schema

#### global\*byte\_slices \*: int\_

[Section titled “global\*byte\_slices \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#globalbyte_slices--int_)

The number of global byte slices in the schema

#### local\*ints \*: int\_

[Section titled “local\*ints \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#localints--int_)

The number of local ints in the schema

#### local\*byte\_slices \*: int\_

[Section titled “local\*byte\_slices \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#localbyte_slices--int_)

The number of local byte slices in the schema

### _class_ algokit\_utils.transactions.transaction\_composer.AppCreateParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AppCreateParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerappcreateparams)

Bases: `_CommonTxnParams`

Parameters for creating an application.

#### approval\*program \*: str \| bytes\_

[Section titled “approval\*program \*: str \| bytes\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#approvalprogram--str--bytes_)

The program to execute for all OnCompletes other than ClearState

#### clear\*state\_program \*: str \| bytes\_

[Section titled “clear\*state\_program \*: str \| bytes\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#clearstate_program--str--bytes_)

The program to execute for ClearState OnComplete

#### schema _: [AppCreateSchema](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AppCreateSchema) \| None_ _= None_

[Section titled “schema : AppCreateSchema \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#schema--appcreateschema--none--none)

The state schema for the app, defaults to None

#### on\*complete \*: algosdk.transaction.OnComplete \| None\_ _= None_

[Section titled “on\*complete \*: algosdk.transaction.OnComplete \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#oncomplete--algosdktransactiononcomplete--none_--none)

The OnComplete action, defaults to None

#### args _: list\[bytes\] \| None_ _= None_

[Section titled “args : list\[bytes\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#args--listbytes--none--none-1)

Application arguments, defaults to None

#### account\*references \*: list\[str\] \| None\_ _= None_

[Section titled “account\*references \*: list\[str\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#accountreferences--liststr--none_--none-1)

Account references, defaults to None

#### app\*references \*: list\[int\] \| None\_ _= None_

[Section titled “app\*references \*: list\[int\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#appreferences--listint--none_--none-1)

App references, defaults to None

#### asset\*references \*: list\[int\] \| None\_ _= None_

[Section titled “asset\*references \*: list\[int\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#assetreferences--listint--none_--none-1)

Asset references, defaults to None

[Section titled “boxreferences : list\[algokit\_utils.models.state.BoxReference \| algokitutils.models.state.BoxIdentifier\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#boxreferences--listalgokit_utilsmodelsstateboxreference--algokitutilsmodelsstateboxidentifier--none--none-1)

Box references, defaults to None

#### extra\*program\_pages \*: int \| None\_ _= None_

[Section titled “extra\*program\_pages \*: int \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#extraprogram_pages--int--none_--none)

Number of extra pages required for the programs, defaults to None

### _class_ algokit\_utils.transactions.transaction\_composer.AppUpdateParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AppUpdateParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerappupdateparams)

Bases: `_CommonTxnParams`

Parameters for updating an application.

#### app\*id \*: int\_

[Section titled “app\*id \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#appid--int_)

The ID of the application

#### approval\*program \*: str \| bytes\_

[Section titled “approval\*program \*: str \| bytes\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#approvalprogram--str--bytes_-1)

The program to execute for all OnCompletes other than ClearState

#### clear\*state\_program \*: str \| bytes\_

[Section titled “clear\*state\_program \*: str \| bytes\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#clearstate_program--str--bytes_-1)

The program to execute for ClearState OnComplete

#### args _: list\[bytes\] \| None_ _= None_

[Section titled “args : list\[bytes\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#args--listbytes--none--none-2)

Application arguments, defaults to None

#### account\*references \*: list\[str\] \| None\_ _= None_

[Section titled “account\*references \*: list\[str\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#accountreferences--liststr--none_--none-2)

Account references, defaults to None

#### app\*references \*: list\[int\] \| None\_ _= None_

[Section titled “app\*references \*: list\[int\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#appreferences--listint--none_--none-2)

App references, defaults to None

#### asset\*references \*: list\[int\] \| None\_ _= None_

[Section titled “asset\*references \*: list\[int\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#assetreferences--listint--none_--none-2)

Asset references, defaults to None

[Section titled “boxreferences : list\[algokit\_utils.models.state.BoxReference \| algokitutils.models.state.BoxIdentifier\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#boxreferences--listalgokit_utilsmodelsstateboxreference--algokitutilsmodelsstateboxidentifier--none--none-2)

Box references, defaults to None

#### on\*complete \*: algosdk.transaction.OnComplete \| None\_ _= None_

[Section titled “on\*complete \*: algosdk.transaction.OnComplete \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#oncomplete--algosdktransactiononcomplete--none_--none-1)

The OnComplete action, defaults to None

### _class_ algokit\_utils.transactions.transaction\_composer.AppDeleteParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AppDeleteParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerappdeleteparams)

Bases: `_CommonTxnParams`

Parameters for deleting an application.

#### app\*id \*: int\_

[Section titled “app\*id \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#appid--int_-1)

The ID of the application

#### args _: list\[bytes\] \| None_ _= None_

[Section titled “args : list\[bytes\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#args--listbytes--none--none-3)

Application arguments, defaults to None

#### account\*references \*: list\[str\] \| None\_ _= None_

[Section titled “account\*references \*: list\[str\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#accountreferences--liststr--none_--none-3)

Account references, defaults to None

#### app\*references \*: list\[int\] \| None\_ _= None_

[Section titled “app\*references \*: list\[int\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#appreferences--listint--none_--none-3)

App references, defaults to None

#### asset\*references \*: list\[int\] \| None\_ _= None_

[Section titled “asset\*references \*: list\[int\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#assetreferences--listint--none_--none-3)

Asset references, defaults to None

[Section titled “boxreferences : list\[algokit\_utils.models.state.BoxReference \| algokitutils.models.state.BoxIdentifier\] \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#boxreferences--listalgokit_utilsmodelsstateboxreference--algokitutilsmodelsstateboxidentifier--none--none-3)

Box references, defaults to None

#### on\*complete \*: algosdk.transaction.OnComplete\_

[Section titled “on\*complete \*: algosdk.transaction.OnComplete\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#oncomplete--algosdktransactiononcomplete_-1)

The OnComplete action, defaults to DeleteApplicationOC

### _class_ algokit\_utils.transactions.transaction\_composer.AppCallMethodCallParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AppCallMethodCallParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerappcallmethodcallparams)

Bases: `_BaseAppMethodCall`

Parameters for a regular ABI method call.

#### app\*id \*: int\_

[Section titled “app\*id \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#appid--int_-2)

The ID of the application

#### on\*complete \*: algosdk.transaction.OnComplete \| None\_ _= None_

[Section titled “on\*complete \*: algosdk.transaction.OnComplete \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#oncomplete--algosdktransactiononcomplete--none_--none-2)

The OnComplete action, defaults to None

### _class_ algokit\_utils.transactions.transaction\_composer.AppCreateMethodCallParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AppCreateMethodCallParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerappcreatemethodcallparams)

Bases: `_BaseAppMethodCall`

Parameters for an ABI method call that creates an application.

#### approval\*program \*: str \| bytes\_

[Section titled “approval\*program \*: str \| bytes\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#approvalprogram--str--bytes_-2)

The program to execute for all OnCompletes other than ClearState

#### clear\*state\_program \*: str \| bytes\_

[Section titled “clear\*state\_program \*: str \| bytes\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#clearstate_program--str--bytes_-2)

The program to execute for ClearState OnComplete

[Section titled “schema : AppCreateSchema \| None = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#schema--appcreateschema--none--none-1)

The state schema for the app, defaults to None

#### on\*complete \*: algosdk.transaction.OnComplete \| None\_ _= None_

[Section titled “on\*complete \*: algosdk.transaction.OnComplete \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#oncomplete--algosdktransactiononcomplete--none_--none-3)

The OnComplete action (cannot be ClearState), defaults to None

#### extra\*program\_pages \*: int \| None\_ _= None_

[Section titled “extra\*program\_pages \*: int \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#extraprogram_pages--int--none_--none-1)

Number of extra pages required for the programs, defaults to None

### _class_ algokit\_utils.transactions.transaction\_composer.AppUpdateMethodCallParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AppUpdateMethodCallParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerappupdatemethodcallparams)

Bases: `_BaseAppMethodCall`

Parameters for an ABI method call that updates an application.

#### app\*id \*: int\_

[Section titled “app\*id \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#appid--int_-3)

The ID of the application

#### approval\*program \*: str \| bytes\_

[Section titled “approval\*program \*: str \| bytes\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#approvalprogram--str--bytes_-3)

The program to execute for all OnCompletes other than ClearState

#### clear\*state\_program \*: str \| bytes\_

[Section titled “clear\*state\_program \*: str \| bytes\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#clearstate_program--str--bytes_-3)

The program to execute for ClearState OnComplete

#### on\*complete \*: algosdk.transaction.OnComplete\_

[Section titled “on\*complete \*: algosdk.transaction.OnComplete\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#oncomplete--algosdktransactiononcomplete_-2)

The OnComplete action

### _class_ algokit\_utils.transactions.transaction\_composer.AppDeleteMethodCallParams

[Section titled “class algokit\_utils.transactions.transaction\_composer.AppDeleteMethodCallParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerappdeletemethodcallparams)

Bases: `_BaseAppMethodCall`

Parameters for an ABI method call that deletes an application.

#### app\*id \*: int\_

[Section titled “app\*id \*: int\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#appid--int_-4)

The ID of the application

#### on\*complete \*: algosdk.transaction.OnComplete\_

[Section titled “on\*complete \*: algosdk.transaction.OnComplete\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#oncomplete--algosdktransactiononcomplete_-3)

The OnComplete action

### algokit\_utils.transactions.transaction\_composer.MethodCallParams

[Section titled “algokit\_utils.transactions.transaction\_composer.MethodCallParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utilstransactionstransaction_composermethodcallparams)

### algokit\_utils.transactions.transaction\_composer.AppMethodCallTransactionArgument

[Section titled “algokit\_utils.transactions.transaction\_composer.AppMethodCallTransactionArgument”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utilstransactionstransaction_composerappmethodcalltransactionargument)

### algokit\_utils.transactions.transaction\_composer.TxnParams

[Section titled “algokit\_utils.transactions.transaction\_composer.TxnParams”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utilstransactionstransaction_composertxnparams)

### _class_ algokit\_utils.transactions.transaction\_composer.BuiltTransactions

[Section titled “class algokit\_utils.transactions.transaction\_composer.BuiltTransactions”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composerbuilttransactions)

Set of transactions built by TransactionComposer.

#### transactions _: list\[algosdk.transaction.Transaction\]_

[Section titled “transactions : list\[algosdk.transaction.Transaction\]”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#transactions--listalgosdktransactiontransaction)

The built transactions

#### method\*calls \*: dict\[int, algosdk.abi.Method\]\_

[Section titled “method\*calls \*: dict\[int, algosdk.abi.Method\]\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#methodcalls--dictint-algosdkabimethod_)

Map of transaction index to ABI method

#### signers _: dict\[int, algosdk.atomic\_transaction\_composer.TransactionSigner\]_

[Section titled “signers : dict\[int, algosdk.atomic\_transaction\_composer.TransactionSigner\]”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#signers--dictint-algosdkatomic_transaction_composertransactionsigner)

Map of transaction index to TransactionSigner

### _class_ algokit\_utils.transactions.transaction\_composer.TransactionComposerBuildResult

[Section titled “class algokit\_utils.transactions.transaction\_composer.TransactionComposerBuildResult”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composertransactioncomposerbuildresult)

Result of building transactions with TransactionComposer.

#### atc _: algosdk.atomic\_transaction\_composer.AtomicTransactionComposer_

[Section titled “atc : algosdk.atomic\_transaction\_composer.AtomicTransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#atc--algosdkatomic_transaction_composeratomictransactioncomposer)

The AtomicTransactionComposer instance

#### transactions _: list\[algosdk.atomic\_transaction\_composer.TransactionWithSigner\]_

[Section titled “transactions : list\[algosdk.atomic\_transaction\_composer.TransactionWithSigner\]”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#transactions--listalgosdkatomic_transaction_composertransactionwithsigner)

The list of transactions with signers

#### method\*calls \*: dict\[int, algosdk.abi.Method\]\_

[Section titled “method\*calls \*: dict\[int, algosdk.abi.Method\]\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#methodcalls--dictint-algosdkabimethod_-1)

Map of transaction index to ABI method

### _class_ algokit\_utils.transactions.transaction\_composer.SendAtomicTransactionComposerResults

[Section titled “class algokit\_utils.transactions.transaction\_composer.SendAtomicTransactionComposerResults”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composersendatomictransactioncomposerresults)

Results from sending an AtomicTransactionComposer transaction group.

#### group\*id \*: str\_

[Section titled “group\*id \*: str\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#groupid--str_)

The group ID if this was a transaction group

#### confirmations _: list\[algosdk.v2client.algod.AlgodResponseType\]_

[Section titled “confirmations : list\[algosdk.v2client.algod.AlgodResponseType\]”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#confirmations--listalgosdkv2clientalgodalgodresponsetype)

The confirmation info for each transaction

#### tx\*ids \*: list\[str\]\_

[Section titled “tx\*ids \*: list\[str\]\_”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#txids--liststr_)

The transaction IDs that were sent

#### transactions _: list\[ [algokit\_utils.models.transaction.TransactionWrapper](https://dev.algorand.co/reference/algokit-utils-py/api/models/transaction/\#algokit_utils.models.transaction.TransactionWrapper)\]_

[Section titled “transactions : list\[algokit\_utils.models.transaction.TransactionWrapper\]”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#transactions--listalgokit_utilsmodelstransactiontransactionwrapper)

The transactions that were sent

#### returns _: list\[ [algokit\_utils.applications.abi.ABIReturn](https://dev.algorand.co/reference/algokit-utils-py/api/applications/abi/\#algokit_utils.applications.abi.ABIReturn)\]_

[Section titled “returns : list\[algokit\_utils.applications.abi.ABIReturn\]”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#returns--listalgokit_utilsapplicationsabiabireturn)

The ABI return values from any ABI method calls

#### simulate\*response \*: dict\[str, Any\] \| None\_ _= None_

[Section titled “simulate\*response \*: dict\[str, Any\] \| None\_ = None”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#simulateresponse--dictstr-any--none_--none)

The simulation response if simulation was performed, defaults to None

### algokit\_utils.transactions.transaction\_composer.calculate\_extra\_program\_pages(approval: bytes \| None, clear: bytes \| None) → int

[Section titled “algokit\_utils.transactions.transaction\_composer.calculate\_extra\_program\_pages(approval: bytes \| None, clear: bytes \| None) → int”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utilstransactionstransaction_composercalculate_extra_program_pagesapproval-bytes--none-clear-bytes--none--int)

Calculate minimum number of extra\_pages required for provided approval and clear programs

### algokit\_utils.transactions.transaction\_composer.populate\_app\_call\_resources(atc: algosdk.atomic\_transaction\_composer.AtomicTransactionComposer, algod: algosdk.v2client.algod.AlgodClient) → algosdk.atomic\_transaction\_composer.AtomicTransactionComposer

[Section titled “algokit\_utils.transactions.transaction\_composer.populate\_app\_call\_resources(atc: algosdk.atomic\_transaction\_composer.AtomicTransactionComposer, algod: algosdk.v2client.algod.AlgodClient) → algosdk.atomic\_transaction\_composer.AtomicTransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utilstransactionstransaction_composerpopulate_app_call_resourcesatc-algosdkatomic_transaction_composeratomictransactioncomposer-algod-algosdkv2clientalgodalgodclient--algosdkatomic_transaction_composeratomictransactioncomposer)

Populate application call resources based on simulation results.

- **Parameters:**
  - **atc** – The AtomicTransactionComposer containing transactions
  - **algod** – Algod client for simulation
- **Returns:**
Modified AtomicTransactionComposer with populated resources

### algokit\_utils.transactions.transaction\_composer.prepare\_group\_for\_sending(atc: algosdk.atomic\_transaction\_composer.AtomicTransactionComposer, algod: algosdk.v2client.algod.AlgodClient, populate\_app\_call\_resources: bool \| None = None, cover\_app\_call\_inner\_transaction\_fees: bool \| None = None, additional\_atc\_context: AdditionalAtcContext \| None = None) → algosdk.atomic\_transaction\_composer.AtomicTransactionComposer

[Section titled “algokit\_utils.transactions.transaction\_composer.prepare\_group\_for\_sending(atc: algosdk.atomic\_transaction\_composer.AtomicTransactionComposer, algod: algosdk.v2client.algod.AlgodClient, populate\_app\_call\_resources: bool \| None = None, cover\_app\_call\_inner\_transaction\_fees: bool \| None = None, additional\_atc\_context: AdditionalAtcContext \| None = None) → algosdk.atomic\_transaction\_composer.AtomicTransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utilstransactionstransaction_composerprepare_group_for_sendingatc-algosdkatomic_transaction_composeratomictransactioncomposer-algod-algosdkv2clientalgodalgodclient-populate_app_call_resources-bool--none--none-cover_app_call_inner_transaction_fees-bool--none--none-additional_atc_context-additionalatccontext--none--none--algosdkatomic_transaction_composeratomictransactioncomposer)

Take an existing Atomic Transaction Composer and return a new one with changes applied to the transactions
based on the supplied parameters to prepare it for sending.
Please note, that before calling .execute() on the returned ATC, you must call .build\_group().

- **Parameters:**
  - **atc** – The AtomicTransactionComposer containing transactions
  - **algod** – Algod client for simulation
  - **populate\_app\_call\_resources** – Whether to populate app call resources
  - **cover\_app\_call\_inner\_transaction\_fees** – Whether to cover inner txn fees
  - **additional\_atc\_context** – Additional context for the AtomicTransactionComposer
- **Returns:**
Modified AtomicTransactionComposer ready for sending

### algokit\_utils.transactions.transaction\_composer.send\_atomic\_transaction\_composer(atc: algosdk.atomic\_transaction\_composer.AtomicTransactionComposer, algod: algosdk.v2client.algod.AlgodClient, \*, max\_rounds\_to\_wait: int \| None = 5, skip\_waiting: bool = False, suppress\_log: bool \| None = None, populate\_app\_call\_resources: bool \| None = None, cover\_app\_call\_inner\_transaction\_fees: bool \| None = None, additional\_atc\_context: AdditionalAtcContext \| None = None) → [SendAtomicTransactionComposerResults](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.SendAtomicTransactionComposerResults)

[Section titled “algokit\_utils.transactions.transaction\_composer.send\_atomic\_transaction\_composer(atc: algosdk.atomic\_transaction\_composer.AtomicTransactionComposer, algod: algosdk.v2client.algod.AlgodClient, \*, max\_rounds\_to\_wait: int \| None = 5, skip\_waiting: bool = False, suppress\_log: bool \| None = None, populate\_app\_call\_resources: bool \| None = None, cover\_app\_call\_inner\_transaction\_fees: bool \| None = None, additional\_atc\_context: AdditionalAtcContext \| None = None) → SendAtomicTransactionComposerResults”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#algokit_utilstransactionstransaction_composersend_atomic_transaction_composeratc-algosdkatomic_transaction_composeratomictransactioncomposer-algod-algosdkv2clientalgodalgodclient--max_rounds_to_wait-int--none--5-skip_waiting-bool--false-suppress_log-bool--none--none-populate_app_call_resources-bool--none--none-cover_app_call_inner_transaction_fees-bool--none--none-additional_atc_context-additionalatccontext--none--none--sendatomictransactioncomposerresults)

Send an AtomicTransactionComposer transaction group.

Executes a group of transactions atomically using the AtomicTransactionComposer.

- **Parameters:**
  - **atc** – The AtomicTransactionComposer instance containing the transaction group to send
  - **algod** – The Algod client to use for sending the transactions
  - **max\_rounds\_to\_wait** – Maximum number of rounds to wait for confirmation, defaults to 5
  - **skip\_waiting** – If True, don’t wait for transaction confirmation, defaults to False
  - **suppress\_log** – If True, suppress logging, defaults to None
  - **populate\_app\_call\_resources** – If True, populate app call resources, defaults to None
  - **cover\_app\_call\_inner\_transaction\_fees** – If True, cover app call inner transaction fees, defaults to None
  - **additional\_atc\_context** – Additional context for the AtomicTransactionComposer
- **Returns:**
Results from sending the transaction group
- **Raises:**
  - **Exception** – If there is an error sending the transactions
  - **error** – If there is an error from the Algorand node

### _class_ algokit\_utils.transactions.transaction\_composer.TransactionComposer(algod: algosdk.v2client.algod.AlgodClient, get\_signer: collections.abc.Callable\[\[str\], algosdk.atomic\_transaction\_composer.TransactionSigner\], get\_suggested\_params: collections.abc.Callable\[\[\], algosdk.transaction.SuggestedParams\] \| None = None, default\_validity\_window: int \| None = None, app\_manager: [algokit\_utils.applications.app\_manager.AppManager](https://dev.algorand.co/reference/algokit-utils-py/api/applications/app_manager/\#algokit_utils.applications.app_manager.AppManager) \| None = None, error\_transformers: list\[ErrorTransformer\] \| None = None)

[Section titled “class algokit\_utils.transactions.transaction\_composer.TransactionComposer(algod: algosdk.v2client.algod.AlgodClient, get\_signer: collections.abc.Callable\[\[str\], algosdk.atomic\_transaction\_composer.TransactionSigner\], get\_suggested\_params: collections.abc.Callable\[\[\], algosdk.transaction.SuggestedParams\] \| None = None, default\_validity\_window: int \| None = None, app\_manager: algokit\_utils.applications.app\_manager.AppManager \| None = None, error\_transformers: list\[ErrorTransformer\] \| None = None)”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#class-algokit_utilstransactionstransaction_composertransactioncomposeralgod-algosdkv2clientalgodalgodclient-get_signer-collectionsabccallablestr-algosdkatomic_transaction_composertransactionsigner-get_suggested_params-collectionsabccallable-algosdktransactionsuggestedparams--none--none-default_validity_window-int--none--none-app_manager-algokit_utilsapplicationsapp_managerappmanager--none--none-error_transformers-listerrortransformer--none--none)

A class for composing and managing Algorand transactions.

Provides a high-level interface for building and executing transaction groups using the Algosdk library.
Supports various transaction types including payments, asset operations, application calls, and key registrations.

- **Parameters:**
  - **algod** – An instance of AlgodClient used to get suggested params and send transactions
  - **get\_signer** – A function that takes an address and returns a TransactionSigner for that address
  - **get\_suggested\_params** – Optional function to get suggested transaction parameters,
    defaults to using algod.suggested\_params()
  - **default\_validity\_window** – Optional default validity window for transactions in rounds, defaults to 10
  - **app\_manager** – Optional AppManager instance for compiling TEAL programs, defaults to None
  - **error\_transformers** – Optional list of error transformers to use when an error is caught in simulate or send

#### register\_error\_transformer(transformer: ErrorTransformer) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “register\_error\_transformer(transformer: ErrorTransformer) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#register_error_transformertransformer-errortransformer--transactioncomposer)

Register a function that will be used to transform an error caught when simulating or sending.

- **Parameters:** **transformer** – The error transformer function
- **Returns:**
The composer so you can chain method calls

#### add\_transaction(transaction: algosdk.transaction.Transaction, signer: algosdk.atomic\_transaction\_composer.TransactionSigner \| None = None) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_transaction(transaction: algosdk.transaction.Transaction, signer: algosdk.atomic\_transaction\_composer.TransactionSigner \| None = None) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_transactiontransaction-algosdktransactiontransaction-signer-algosdkatomic_transaction_composertransactionsigner--none--none--transactioncomposer)

Add a raw transaction to the composer.

- **Parameters:**
  - **transaction** – The transaction to add
  - **signer** – Optional transaction signer, defaults to getting signer from transaction sender
- **Returns:**
The transaction composer instance for chaining
- **Example:**

```
composer.add_transaction(transaction)
```

#### add\_payment(params: [PaymentParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.PaymentParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_payment(params: PaymentParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_paymentparams-paymentparams--transactioncomposer)

Add a payment transaction.

- **Example:**

```
params = PaymentParams(

sender="SENDER_ADDRESS",

receiver="RECEIVER_ADDRESS",

amount=AlgoAmount.from_algo(1),

close_remainder_to="CLOSE_ADDRESS"

... (see PaymentParams for more options)

)

composer.add_payment(params)
```

- **Parameters:** **params** – The payment transaction parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_asset\_create(params: [AssetCreateParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AssetCreateParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_asset\_create(params: AssetCreateParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_asset_createparams-assetcreateparams--transactioncomposer)

Add an asset creation transaction.

- **Example:**

```
params = AssetCreateParams(

sender="SENDER_ADDRESS",

total=1000,

asset_name="MyAsset",

unit_name="MA",

url="https://example.com",

decimals=0,

default_frozen=False,

manager="MANAGER_ADDRESS",

reserve="RESERVE_ADDRESS",

freeze="FREEZE_ADDRESS",

clawback="CLAWBACK_ADDRESS"

... (see AssetCreateParams for more options)

composer.add_asset_create(params)
```

- **Parameters:** **params** – The asset creation parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_asset\_config(params: [AssetConfigParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AssetConfigParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_asset\_config(params: AssetConfigParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_asset_configparams-assetconfigparams--transactioncomposer)

Add an asset configuration transaction.

- **Example:**

```
params = AssetConfigParams(

sender="SENDER_ADDRESS",

asset_id=123456,

manager="NEW_MANAGER_ADDRESS",

reserve="NEW_RESERVE_ADDRESS",

freeze="NEW_FREEZE_ADDRESS",

clawback="NEW_CLAWBACK_ADDRESS"

... (see AssetConfigParams for more options)

)

composer.add_asset_config(params)
```

- **Parameters:** **params** – The asset configuration parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_asset\_freeze(params: [AssetFreezeParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AssetFreezeParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_asset\_freeze(params: AssetFreezeParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_asset_freezeparams-assetfreezeparams--transactioncomposer)

Add an asset freeze transaction.

- **Example:**

```
params = AssetFreezeParams(

sender="SENDER_ADDRESS",

asset_id=123456,

account="ACCOUNT_TO_FREEZE",

frozen=True

... (see AssetFreezeParams for more options)

)

composer.add_asset_freeze(params)
```

- **Parameters:** **params** – The asset freeze parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_asset\_destroy(params: [AssetDestroyParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AssetDestroyParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_asset\_destroy(params: AssetDestroyParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_asset_destroyparams-assetdestroyparams--transactioncomposer)

Add an asset destruction transaction.

- **Example:**

```
params = AssetDestroyParams(

sender="SENDER_ADDRESS",

asset_id=123456

... (see AssetDestroyParams for more options)

composer.add_asset_destroy(params)
```

- **Parameters:** **params** – The asset destruction parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_asset\_transfer(params: [AssetTransferParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AssetTransferParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_asset\_transfer(params: AssetTransferParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_asset_transferparams-assettransferparams--transactioncomposer)

Add an asset transfer transaction.

- **Example:**

```
params = AssetTransferParams(

sender="SENDER_ADDRESS",

asset_id=123456,

amount=10,

receiver="RECEIVER_ADDRESS",

clawback_target="CLAWBACK_TARGET_ADDRESS",

close_asset_to="CLOSE_ADDRESS"

... (see AssetTransferParams for more options)

composer.add_asset_transfer(params)
```

- **Parameters:** **params** – The asset transfer parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_asset\_opt\_in(params: [AssetOptInParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AssetOptInParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_asset\_opt\_in(params: AssetOptInParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_asset_opt_inparams-assetoptinparams--transactioncomposer)

Add an asset opt-in transaction.

- **Example:**

```
params = AssetOptInParams(

sender="SENDER_ADDRESS",

asset_id=123456

... (see AssetOptInParams for more options)

)

composer.add_asset_opt_in(params)
```

- **Parameters:** **params** – The asset opt-in parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_asset\_opt\_out(params: [AssetOptOutParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AssetOptOutParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_asset\_opt\_out(params: AssetOptOutParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_asset_opt_outparams-assetoptoutparams--transactioncomposer)

Add an asset opt-out transaction.

- **Example:**

```
params = AssetOptOutParams(

sender="SENDER_ADDRESS",

asset_id=123456,

creator="CREATOR_ADDRESS"

... (see AssetOptOutParams for more options)

composer.add_asset_opt_out(params)
```

- **Parameters:** **params** – The asset opt-out parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_app\_create(params: [AppCreateParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AppCreateParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_app\_create(params: AppCreateParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_app_createparams-appcreateparams--transactioncomposer)

Add an application creation transaction.

- **Example:**

```
params = AppCreateParams(

sender="SENDER_ADDRESS",

approval_program="TEAL_APPROVAL_CODE",

clear_state_program="TEAL_CLEAR_CODE",

schema={'global_ints': 1, 'global_byte_slices': 1, 'local_ints': 1, 'local_byte_slices': 1},

on_complete=OnComplete.NoOpOC,

args=[b'arg1'],

account_references=["ACCOUNT1"],

app_references=[789],

asset_references=[123],

box_references=[],

extra_program_pages=0

... (see AppCreateParams for more options)

)

composer.add_app_create(params)
```

- **Parameters:** **params** – The application creation parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_app\_update(params: [AppUpdateParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AppUpdateParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_app\_update(params: AppUpdateParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_app_updateparams-appupdateparams--transactioncomposer)

Add an application update transaction.

- **Example:**

```
params = AppUpdateParams(

sender="SENDER_ADDRESS",

app_id=789,

approval_program="TEAL_NEW_APPROVAL_CODE",

clear_state_program="TEAL_NEW_CLEAR_CODE",

args=[b'new_arg1'],

account_references=["ACCOUNT1"],

app_references=[789],

asset_references=[123],

box_references=[],

on_complete=OnComplete.UpdateApplicationOC

... (see AppUpdateParams for more options)

composer.add_app_update(params)
```

- **Parameters:** **params** – The application update parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_app\_delete(params: [AppDeleteParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AppDeleteParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_app\_delete(params: AppDeleteParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_app_deleteparams-appdeleteparams--transactioncomposer)

Add an application deletion transaction.

- **Example:**

```
params = AppDeleteParams(

sender="SENDER_ADDRESS",

app_id=789,

args=[b'delete_arg'],

account_references=["ACCOUNT1"],

app_references=[789],

asset_references=[123],

box_references=[],

on_complete=OnComplete.DeleteApplicationOC

... (see AppDeleteParams for more options)

composer.add_app_delete(params)
```

- **Parameters:** **params** – The application deletion parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_app\_call(params: [AppCallParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AppCallParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_app\_call(params: AppCallParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_app_callparams-appcallparams--transactioncomposer)

Add an application call transaction.

- **Example:**

```
params = AppCallParams(

sender="SENDER_ADDRESS",

on_complete=OnComplete.NoOpOC,

app_id=789,

approval_program="TEAL_APPROVAL_CODE",

clear_state_program="TEAL_CLEAR_CODE",

schema={'global_ints': 1, 'global_byte_slices': 1, 'local_ints': 1, 'local_byte_slices': 1},

... (see AppCallParams for more options)

)

composer.add_app_call(params)
```

- **Parameters:** **params** – The application call parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_app\_create\_method\_call(params: [AppCreateMethodCallParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AppCreateMethodCallParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_app\_create\_method\_call(params: AppCreateMethodCallParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_app_create_method_callparams-appcreatemethodcallparams--transactioncomposer)

Add an application creation method call transaction.

- **Parameters:** **params** – The application creation method call parameters

- **Returns:**
The transaction composer instance for chaining

- **Example:**

```
# Basic example

method = algosdk.abi.Method(

name="method",

args=[...],

returns="string"

)

composer.add_app_create_method_call(

AppCreateMethodCallParams(

sender="CREATORADDRESS",

approval_program="TEALCODE",

clear_state_program="TEALCODE",

method=method,

args=["arg1_value"]

)

)

# Advanced example

method = ABIMethod(

name="method",

args=[{"name": "arg1", "type": "string"}],

returns={"type": "string"}

)

composer.add_app_create_method_call(

AppCreateMethodCallParams(

sender="CREATORADDRESS",

method=method,

args=["arg1_value"],

approval_program="TEALCODE",

clear_state_program="TEALCODE",

schema={

"global_ints": 1,

"global_byte_slices": 2,

"local_ints": 3,

"local_byte_slices": 4

},

extra_pages=1,

on_complete=OnComplete.OptInOC,

args=[bytes([1, 2, 3, 4])],

account_references=["ACCOUNT_1"],

app_references=[123, 1234],

asset_references=[12345],

box_references=["box1", {"app_id": 1234, "name": "box2"}],

lease="lease",

note="note",

first_valid_round=1000,

validity_window=10,

extra_fee=AlgoAmount.from_micro_algos(1000),

static_fee=AlgoAmount.from_micro_algos(1000),

max_fee=AlgoAmount.from_micro_algos(3000)

)

)
```

#### add\_app\_update\_method\_call(params: [AppUpdateMethodCallParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AppUpdateMethodCallParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_app\_update\_method\_call(params: AppUpdateMethodCallParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_app_update_method_callparams-appupdatemethodcallparams--transactioncomposer)

Add an application update method call transaction.

- **Parameters:** **params** – The application update method call parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_app\_delete\_method\_call(params: [AppDeleteMethodCallParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AppDeleteMethodCallParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_app\_delete\_method\_call(params: AppDeleteMethodCallParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_app_delete_method_callparams-appdeletemethodcallparams--transactioncomposer)

Add an application deletion method call transaction.

- **Parameters:** **params** – The application deletion method call parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_app\_call\_method\_call(params: [AppCallMethodCallParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.AppCallMethodCallParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_app\_call\_method\_call(params: AppCallMethodCallParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_app_call_method_callparams-appcallmethodcallparams--transactioncomposer)

Add an application call method call transaction.

- **Parameters:** **params** – The application call method call parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_online\_key\_registration(params: [OnlineKeyRegistrationParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.OnlineKeyRegistrationParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_online\_key\_registration(params: OnlineKeyRegistrationParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_online_key_registrationparams-onlinekeyregistrationparams--transactioncomposer)

Add an online key registration transaction.

- **Parameters:** **params** – The online key registration parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_offline\_key\_registration(params: [OfflineKeyRegistrationParams](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.OfflineKeyRegistrationParams)) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_offline\_key\_registration(params: OfflineKeyRegistrationParams) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_offline_key_registrationparams-offlinekeyregistrationparams--transactioncomposer)

Add an offline key registration transaction.

- **Parameters:** **params** – The offline key registration parameters
- **Returns:**
The transaction composer instance for chaining

#### add\_atc(atc: algosdk.atomic\_transaction\_composer.AtomicTransactionComposer) → [TransactionComposer](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposer)

[Section titled “add\_atc(atc: algosdk.atomic\_transaction\_composer.AtomicTransactionComposer) → TransactionComposer”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#add_atcatc-algosdkatomic_transaction_composeratomictransactioncomposer--transactioncomposer)

Add an existing AtomicTransactionComposer’s transactions.

- **Parameters:** **atc** – The AtomicTransactionComposer to add
- **Returns:**
The transaction composer instance for chaining
- **Example:**

```
atc = AtomicTransactionComposer()

atc.add_transaction(TransactionWithSigner(transaction, signer))

composer.add_atc(atc)
```

#### count() → int

[Section titled “count() → int”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#count--int)

Get the total number of transactions.

- **Returns:**
The number of transactions

#### build() → [TransactionComposerBuildResult](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposerBuildResult)

[Section titled “build() → TransactionComposerBuildResult”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#build--transactioncomposerbuildresult)

Build the transaction group.

- **Returns:**
The built transaction group result

#### rebuild() → [TransactionComposerBuildResult](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.TransactionComposerBuildResult)

[Section titled “rebuild() → TransactionComposerBuildResult”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#rebuild--transactioncomposerbuildresult)

Rebuild the transaction group from scratch.

- **Returns:**
The rebuilt transaction group result

#### build\_transactions() → [BuiltTransactions](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.BuiltTransactions)

[Section titled “build\_transactions() → BuiltTransactions”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#build_transactions--builttransactions)

Build and return the transactions without executing them.

- **Returns:**
The built transactions result

#### execute(\*, max\_rounds\_to\_wait: int \| None = None) → [SendAtomicTransactionComposerResults](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.SendAtomicTransactionComposerResults)

[Section titled “execute(\*, max\_rounds\_to\_wait: int \| None = None) → SendAtomicTransactionComposerResults”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#execute-max_rounds_to_wait-int--none--none--sendatomictransactioncomposerresults)

#### send(params: [algokit\_utils.models.transaction.SendParams](https://dev.algorand.co/reference/algokit-utils-py/api/models/transaction/\#algokit_utils.models.transaction.SendParams) \| None = None) → [SendAtomicTransactionComposerResults](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.SendAtomicTransactionComposerResults)

[Section titled “send(params: algokit\_utils.models.transaction.SendParams \| None = None) → SendAtomicTransactionComposerResults”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#sendparams-algokit_utilsmodelstransactionsendparams--none--none--sendatomictransactioncomposerresults)

Send the transaction group to the network.

- **Parameters:** **params** – Parameters for the send operation
- **Returns:**
The transaction send results
- **Raises:** **self.\_transform\_error** – If the transaction fails (may be transformed by error transformers)

#### simulate(allow\_more\_logs: bool \| None = None, allow\_empty\_signatures: bool \| None = None, allow\_unnamed\_resources: bool \| None = None, extra\_opcode\_budget: int \| None = None, exec\_trace\_config: algosdk.v2client.models.SimulateTraceConfig \| None = None, simulation\_round: int \| None = None, skip\_signatures: bool \| None = None) → [SendAtomicTransactionComposerResults](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/\#algokit_utils.transactions.transaction_composer.SendAtomicTransactionComposerResults)

[Section titled “simulate(allow\_more\_logs: bool \| None = None, allow\_empty\_signatures: bool \| None = None, allow\_unnamed\_resources: bool \| None = None, extra\_opcode\_budget: int \| None = None, exec\_trace\_config: algosdk.v2client.models.SimulateTraceConfig \| None = None, simulation\_round: int \| None = None, skip\_signatures: bool \| None = None) → SendAtomicTransactionComposerResults”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#simulateallow_more_logs-bool--none--none-allow_empty_signatures-bool--none--none-allow_unnamed_resources-bool--none--none-extra_opcode_budget-int--none--none-exec_trace_config-algosdkv2clientmodelssimulatetraceconfig--none--none-simulation_round-int--none--none-skip_signatures-bool--none--none--sendatomictransactioncomposerresults)

Simulate transaction group execution with configurable validation rules.

- **Parameters:**
  - **allow\_more\_logs** – Whether to allow more logs than the standard limit
  - **allow\_empty\_signatures** – Whether to allow transactions with empty signatures
  - **allow\_unnamed\_resources** – Whether to allow unnamed resources.
  - **extra\_opcode\_budget** – Additional opcode budget to allocate
  - **exec\_trace\_config** – Configuration for execution tracing
  - **simulation\_round** – Round number to simulate at
  - **skip\_signatures** – Whether to skip signature validation
- **Returns:**
The simulation results
- **Example:**

```
result = composer.simulate(extra_opcode_budget=1000, skip_signatures=True, ...)
```

#### _static_ arc2\_note(note: algokit\_utils.models.transaction.Arc2TransactionNote) → bytes

[Section titled “static arc2\_note(note: algokit\_utils.models.transaction.Arc2TransactionNote) → bytes”](https://dev.algorand.co/reference/algokit-utils-py/api/transactions/transaction_composer/#static-arc2_notenote-algokit_utilsmodelstransactionarc2transactionnote--bytes)

Create an encoded transaction note that follows the ARC-2 spec.

[https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0002.md](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0002.md)

- **Parameters:** **note** – The ARC-2 note to encode
- **Returns:**
The encoded note bytes
- **Raises:** **ValueError** – If the dapp\_name is invalid

Ask AI

reCAPTCHA

Recaptcha requires verification.

protected by **reCAPTCHA**
