---
title: "PublishTransaction"
method: POST
path: "/v2/vaults/{vault_id}/transactions/{transaction_id}:publish"
tags: ["Transactions"]
---

# PublishTransaction

`POST /v2/vaults/{vault_id}/transactions/{transaction_id}:publish`

## Request

- Base URL: `https://api.utila.io`
- URL: `https://api.utila.io/v2/vaults/{vault_id}/transactions/{transaction_id}:publish`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/utila/apis/utila-api/docs/v2/vaults/:vault_id/transactions/:transaction_id:publish/post.ts> (a function with typed inputs; its response is checked against the schema)

Manually publishes a signed transaction to the blockchain. This endpoint synchronously
broadcasts the transaction to the network and returns the updated transaction details.
The transaction must be fully signed before publishing.

**Note:** Currently only available for EVM-compatible blockchains. Support for additional
blockchains will be added in future releases.

## Path parameters

- `vault_id` string, required
- `transaction_id` string, required

## Request body

- TransactionsPublishTransactionBody

## Response `200`

A successful response.

- V2PublishTransactionResponse
  - `transaction` V2Transaction
    - `name` string: The resource name of the transaction. Format: `vaults/{vault_id}/transactions/{transaction_id}`.
    - `type` 'TRANSACTION' | 'MESSAGE'
    - `subType` 'NATIVE_TRANSFER' | 'TOKEN_TRANSFER' | 'NON_FUNGIBLE_TOKEN_TRANSFER' | 'TOKEN_APPROVAL' | 'PERSONAL_SIGN' | 'SIGN_TYPED_DATA' | 'EVM_ACCOUNT_DELEGATION' | 'CONTRACT_CALL' | 'NATIVE_MULTI_TRANSFER' | 'NON_FUNGIBLE_TOKEN_APPROVAL' | 'CONNECTION_TRANSFER' | 'BATCH_TRANSFER' | 'TOKEN_MINT' | 'TOKEN_BURN' | 'PROGRAM_CALL' | 'CONTRACT_DEPLOYMENT' | 'TON_PROOF' | 'TON_SIGN_DATA' | 'SOLANA_SIGN_MESSAGE' | 'GENERIC_TRANSACTION' | 'CHANGE_TRUST' | 'CANTON_TOPOLOGY_TRANSACTION' | 'CANTON_TRANSFER_AUTO_APPROVAL' | 'CANTON_ACCEPT_TRANSFER_OFFER' | 'SUBMITTING_TRANSACTION' | 'BTC_PSBT' | 'BTC_TRANSFER' | 'BTC_SIGN_MESSAGE' | 'SHIELD' | 'UNSHIELD' | 'ALEO_CONSOLIDATE' | 'EVM_ZAMA_CONFIDENTIAL_TOKEN_ACTIVATION': - EVM_ZAMA_CONFIDENTIAL_TOKEN_ACTIVATION: The transaction activates a wallet for Zama confidential (ERC-7984) tokens.
    - `state` 'AWAITING_APPROVAL' | 'AWAITING_AML_POLICY_CHECK' | 'DECLINED_BY_AML_POLICY' | 'AWAITING_POLICY_CHECK' | 'AWAITING_SIGNATURE' | 'SIGNED' | 'AWAITING_PUBLISH' | 'PUBLISHED' | 'MINED' | 'MINED_FAILED' | 'FAILED' | 'DECLINED' | 'REPLACED' | 'CANCELED' | 'DROPPED' | 'CONFIRMED' | 'EXPIRED': The state of the transaction. - AWAITING_APPROVAL: Transaction requires approving votes. - AWAITING_AML_POLICY_CHECK: The transaction is waiting for the AML policy check to be completed. Relevant only for outgoing transactions. - DECLINED_BY_AML_POLICY: Transaction was declined by the AML policy Relevant only for outgoing transactions. - AWAITING_POLICY_CHECK: Transaction is waiting for the policy check to be completed. - AWAITING_SIGNATURE: Transaction is approved and ready to be signed. - SIGNED: Transaction is signed but not yet published. - AWAITING_PUBLISH: Transaction has been sent to the publishing queue. - PUBLISHED: Transaction has been published to the blockchain's mem-pool. - MINED: Transaction has been included in a block successfully. - MINED_FAILED: Transaction has entered a block but in a failed state (e.g. a failed smart contract call). - FAILED: Transaction has entered a block but in a failed state and was confirmed as such by multiple blocks - DECLINED: Transaction was declined by a policy check. - REPLACED: Transaction was replaced by a new transaction (same nonce or RBF). - CANCELED: Transaction was canceled by its initiator or by an admin. - DROPPED: Transaction was dropped by the network without being included in a block. - CONFIRMED: Transaction has been confirmed by multiple blocks in the blockchain. - EXPIRED: Transaction was expired after a certain amount of time.
    - `error` GooglerpcStatus: The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
      - `code` integer: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
      - `message` string: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
      - `details` ProtobufAny[]: A list of messages that carry the error details. There is a common set of message types for APIs to use.
        - `@type` string: A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.
    - `direction` 'INCOMING' | 'OUTGOING'
    - `note` string: A note to attach to the transaction. This note is visible to all vault members.
    - `network` string: The blockchain network on which the transaction was sent. Not available for connection transactions (e.g., Exchanges) Format: `networks/{network_id}`
    - `hash` string: For on-chain transactions, the hash of the transaction.
    - `blockNumber` string: For on-chain transactions, the block number of the transaction if it was mined.
    - `signingSession` string: Available when the transaction has been prepared for signing / signed.
    - `request` V2TransactionRequest
      - `name` string: The resource name of the transaction request. Format: `vaults/{vault_id}/transactionRequests/{transaction_request_id}`.
      - `externalId` string: A client-provided identifier for the transaction. Unique per vault. Can be used to correlate the transaction with an entity in an external system.
      - `initiator` string: The initiator of the transaction. Format: `users/{user}`
      - `sourceWallet` string: If the transaction was initiated through a wallet, the wallet will be listed here.
      - `cancelTime` string, date-time: The timestamp when the transaction was canceled.
      - `signTime` string, date-time: The timestamp when the transaction was signed.
      - `failTime` string, date-time: The timestamp when the transaction failed.
      - `declineTime` string, date-time: The timestamp when the transaction was declined.
      - `publishTime` string, date-time: The timestamp when the transaction was published.
      - `dropTime` string, date-time: The timestamp when the transaction was dropped.
      - `expireTime` string, date-time: The timestamp when the transaction expires.
      - `approveTime` string, date-time: The timestamp when the transaction was approved.
      - `publish` boolean: Whether the transaction should be automatically published by utila.
      - `signingSessions` string[]: The signing sessions that were used to sign the transaction.
      - `blockingTransaction` string: A transaction that is blocking this transaction from being signed. For example, a transaction from the same wallet and blockchain that has acquired a nonce but is not yet mined. Included only when `FULL` view is requested.
      - `walletconnectSession` string: The wallet connect session that was used to sign the transaction.
      - `transactionBundle` string: The transaction bundle that this transaction belongs to.
      - `evmSubmissionDetails` string: The EVM submission that this transaction is part of. A submission groups the transactions that are broadcast together as a single gas-abstracted (sponsored) EVM submission — for example the EIP-7702 authorization and the user-operation transactions signed by the user. It is only set for transactions that belong to such a submission. Call `Transactions.GetEVMSubmissionDetails` with this resource name to fetch the full submission details. Format: `vaults/{vault_id}/evmSubmissionDetails/{submission_id}`
      - `dappInfo` TransactionRequestDappInfo: Details of the dApp - reported from the transaction initiator, as this cannot be validated by Utila.
        - `url` string: The URL of the dApp.
      - `origin` 'WALLET_CONNECT' | 'EXTENSION': - WALLET_CONNECT: Transaction received via WalletConnect connection. - EXTENSION: Transaction received via Extension - can not be validated by Utila.
      - `gasStationOrder` string: The gas station order created to sponsor this transaction request, if any. Format: `vaults/{vault_id}/gasStations/{gas_station_id}/orders/{order_id}`.
      - `gasStation` string: The gas station that sponsors this transaction request, if any. Format: `vaults/{vault_id}/gasStations/{gas_station_id}`.
      - `sponsorWallet` string: The sponsor wallet for sponsored transactions (e.g., EVM, Solana). Only populated when the sponsor is a Utila-managed wallet in the vault. Format: `vaults/{vault_id}/wallets/{wallet_id}`
      - `initiatorRequestSignature` V2RequestSignature: RequestSignature is a signed API request. The JWT typ is "utila-req-sig+jwt". Method, content type, and body hash are claims inside jwt. kid is the signing key's fingerprint (a service-account key for this release). Verifiers check jwt against raw_request_body and ignore every other field.
        - `rawRequestBody` string, byte: The exact request bytes the client sent.
        - `jwt` string: The compact request-signature JWT, verbatim.
    - `amlDetails` TransactionAMLDetails
      - `screeningState` 'SKIPPED' | 'PENDING' | 'FAILED' | 'READY': The state of the AML report. - SKIPPED: No AML report was requested for the transaction. - PENDING: The AML report is still being processed by the provider. - FAILED: The AML report was not generated due to an error. - READY: The AML report was successfully generated.
      - `screeningPolicyResult` 'DENY' | 'ALLOW' | 'ALERT'
      - `resolved` boolean: Relevant only if transaction assets were freezed by an AML provider. (i.e., screening_policy_result is DENY).
    - `transfers` TransactionTransfer[]: If there one or more transfers in the transaction, they will be listed here.
      - `sourceAddress` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `destinationAddress` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `amount` string: Amount of the transfer.
      - `asset` string: Asset name.
      - `miningPrice` V2ConvertedValue: A message representing a converted value.
        - `amount` string: The amount in USD.
        - `currencyCode` string: The currency code of the amount. Always USD.
      - `note` string: An optional note to attach to the specific transfer (possible for batch transfers).
      - `unknownAmount` boolean: Whether the amount of this transfer is unknown to Utila. Set only for confidential token transfers whose encrypted amount could not be decrypted. When true, `amount` is reported as `0`.
    - `tokenAllowances` TransactionTokenAllowance[]: If there one or more token allowances in the transaction, they will be listed here.
      - `approverAddress` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `spenderAddress` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `asset` string: The asset to approve.
      - `amount` string: The amount to approve (allowance) in asset units. Example: `1.1`.
      - `miningPrice` V2ConvertedValue: A message representing a converted value.
        - `amount` string: The amount in USD.
        - `currencyCode` string: The currency code of the amount. Always USD.
    - `designatedSigners` string[]: If the transaction is designated to be signed by a specific signer, this field should be set. Format: `users/{email}` or `users/{id}` Example: `["users/name@example.com"]` or `["users/a3e4f5"]`
    - `evmTransaction` V2TransactionEVMTransaction
      - `fromAddress` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `toAddress` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `value` string: The amount to transfer in wei.
      - `data` string: Hex encoded transaction data. Example: `0xda82fb4c00000a` or `da82fb4c00000a`.
      - `fee` V2EVMTransactionGas
        - `gasLimit` string, int64: The amount of gas to use for the transaction.
        - `gasUsed` string: The amount of gas used by the transaction.
        - `gasPrice` string: A `0x`-prefixed hex string representing the gas price of the transaction. Used for legacy transactions (non EIP-1559).
        - `maxPriorityFeePerGas` string: A `0x`-prefixed hex string representing the maximum prioriy fee per gas unit the transaction can pay. Used for dynamic transactions (EIP-1559).
        - `maxFeePerGas` string: A `0x`-prefixed hex string representing the maximum fee per gas unit the transaction can pay. Used for dynamic transactions (EIP-1559).
      - `authorizationDetails` V2TransactionEVMTransactionAuthorizationDetails
        - `authorizationList` V2TransactionEVMTransactionAuthorization[]: The list of authorizations.
          - `signer` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `contractAddress` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `nonce` string, int64: The nonce of the account for the delegation.
          - `chainId` string: The chain ID of the delegation.
          - `signature` string, byte: The signature of the delegation.
      - `signature` string, byte: ECDSA signature (65 bytes) of the transaction. Available when the transaction has been signed. Encoded in standard EVM format: - Bytes [0-31]: R component (32 bytes, big-endian) - Bytes [32-63]: S component (32 bytes, big-endian) - Byte [64]: V component (recovery identifier)
      - `providedNonce` string: The nonce value explicitly provided by the user in the transaction request.
      - `nonce` string: The effective nonce value assigned to the transaction.
      - `chainId` string: The EIP-155 chain ID of the network this transaction targets. Decimal string (e.g. `1`, `11155111`).
    - `evmMessage` TransactionEVMMessage
      - `type` 'PERSONAL_SIGN' | 'SIGN_TYPED_DATA_V4': - PERSONAL_SIGN: A simple personal sign message. - SIGN_TYPED_DATA_V4: A structured message as defined by EIP-712. See https://eips.ethereum.org/EIPS/eip-712 for more information.
      - `message` string: The payload of the message as a plain UTF-8 string.
      - `signature` string, byte: ECDSA signature (65 bytes) of the message.
    - `tronPersonalSign` V2TransactionTronPersonalSign: A Tron (TIP-191) personal-sign message. Distinct from EVMMessage so a Tron personal sign is not represented as an EVM message.
      - `message` string: Best-effort human-readable payload: set only when the signed bytes are valid UTF-8. Empty for binary messages. Use `message_hex` for the exact, unambiguous bytes.
      - `signature` string, byte: ECDSA signature (65 bytes) of the message.
      - `messageHex` string: The exact signed payload as a hex string (e.g. "0xabcd"). Always set. This is authoritative; `message` is only a display convenience and cannot be used to recover the bytes unambiguously.
    - `evmAccountDelegation` V2TransactionEVMAccountDelegation
      - `signerAddress` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `contractAddress` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `chainId` string: The chain ID of the DELEGATION.
      - `nonce` string, int64: The nonce of the account for the delegation.
      - `signature` string, byte: ECDSA signature (65 bytes) of the delegation message.
      - `offsetNonce` boolean: Whether the selection nonce strategy is to offset the signer nonce by one. This is used usually for self delegation
      - `providedNonce` string, int64: The nonce provided by the user.
    - `tronTransaction` V2TransactionTronTransaction
      - `triggerSmartContract` V2TransactionTronTransactionTriggerSmartContract
        - `ownerAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `contractAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `callValue` string, int64: The amount of SUN passed into the contract (1 TRX = 1,000,000 SUN). Example: `500000`.
        - `data` string: Hex encoded transaction data. This field will be returned only in FULL view. Example: `0xa9059cbb0000000000000000000000002ed5dd8a98aea00ae32517742ea5289761b2710e0000000000000000000000000000000000000000000000000000000ba43b7400`.
      - `freezeBalanceV2` V2TransactionTronTransactionFreezeBalanceV2
        - `ownerAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `amount` string: Amount of TRX to be staked, in SUN. Example: `1500000`.
        - `resource` 'BANDWIDTH' | 'ENERGY'
        - `asset` string: The asset that is being staked. Example: `assets/native.tron-mainnet`.
      - `unfreezeBalanceV2` V2TransactionTronTransactionUnfreezeBalanceV2
        - `ownerAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `amount` string: Amount of TRX to be unstaked, in SUN. Example: `1500000`.
        - `resource` 'BANDWIDTH' | 'ENERGY'
        - `asset` string: The asset that is being unstaked. Example: `assets/native.tron-mainnet`.
      - `withdrawExpireUnfreeze` V2TransactionTronTransactionWithdrawExpireUnfreeze
        - `ownerAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `delegateResource` V2TransactionTronTransactionDelegateResource
        - `ownerAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `resource` 'BANDWIDTH' | 'ENERGY'
        - `amount` string: The amount of the resource to delegate, in SUN. Example: `1500000`.
        - `asset` string: The asset that is being delegated. Example: `assets/native.tron-mainnet`.
        - `receiverAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `lock` boolean: Whether to lock the delegation. Default: false.
        - `lockPeriod` string: The period to lock the delegation, in block numbers, 1 block ≈ 3 seconds. Example: `1000`.
      - `undelegateResource` V2TransactionTronTransactionUnDelegateResource
        - `ownerAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `resource` 'BANDWIDTH' | 'ENERGY'
        - `amount` string: The amount of the delegated resource to undelegate, in SUN. Example: `1500000`.
        - `asset` string: The asset that is being undelegated. Example: `assets/native.tron-mainnet`.
        - `receiverAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `cancelAllUnfreezeV2` V2TransactionTronTransactionCancelAllUnfreezeV2
        - `ownerAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `voteWitness` V2TransactionTronTransactionVoteWitness
        - `ownerAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `votes` V2TransactionTronTransactionVoteWitnessVote[], required: The votes to cast. Max 30 votes. Example: `[{"vote_address": "TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g", "vote_count": "1000"}]`
          - `voteAddress` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `voteCount` string: Example: `1000`.
      - `withdrawBalance` V2TransactionTronTransactionWithdrawBalance
        - `ownerAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `transferContract` TronTransactionTransferContract
        - `ownerAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `toAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `amount` string: Amount of TRX to transfer, in SUN (1 TRX = 1,000,000 SUN). Example: `1500000`.
      - `fee` V2TronTransactionFee
        - `usedSun` string: The amount of TRX burned on-chain by the sender wallet, in SUN.
        - `convertedValue` V2ConvertedValue: A message representing a converted value.
          - `amount` string: The amount in USD.
          - `currencyCode` string: The currency code of the amount. Always USD.
        - `bandwidth` V2TronResourceFee: Resource-level fee breakdown for a Tron resource (bandwidth or energy).
          - `consumed` string: The amount of the resource consumed.
          - `burned` string: The amount of TRX burned for this resource.
          - `convertedBurned` V2ConvertedValue: A message representing a converted value.
            - `amount` string: The amount in USD.
            - `currencyCode` string: The currency code of the amount. Always USD.
        - `energy` V2TronResourceFee: Resource-level fee breakdown for a Tron resource (bandwidth or energy).
          - `consumed` string: The amount of the resource consumed.
          - `burned` string: The amount of TRX burned for this resource.
          - `convertedBurned` V2ConvertedValue: A message representing a converted value.
            - `amount` string: The amount in USD.
            - `currencyCode` string: The currency code of the amount. Always USD.
        - `accountActivationFee` V2TronAccountActivationFee
          - `fee` string: The activation fee in SUN.
          - `convertedFee` V2ConvertedValue: A message representing a converted value.
            - `amount` string: The amount in USD.
            - `currencyCode` string: The currency code of the amount. Always USD.
        - `gasStationFee` V2TronGasStationFee
          - `order` string: The gas station order that paid for this transaction's resources. Format: `vaults/{vault}/gasStations/{gas_station}/orders/{order}`
          - `price` string: The price paid for the order, as a decimal string in `asset` units.
          - `asset` string: The asset the price is denominated in. Format: `assets/{asset}`
      - `signature` string, byte: ECDSA signature (65 bytes) of the transaction. Available when the transaction has been signed. Encoded in standard TRON format: - Bytes [0-31]: R component (32 bytes, big-endian) - Bytes [32-63]: S component (32 bytes, big-endian) - Byte [64]: V component (recovery identifier)
      - `expireTime` string, date-time: When the signed transaction expires on the TRON network (raw_data.expiration). Empty until the transaction is prepared for signature, or until raw data already includes expiration (user-supplied raw txs).
      - `refBlockBytes` string, byte: The reference block bytes of the transaction (raw_data.ref_block_bytes). Bytes 6-8 of the reference block number (2 bytes). Empty until the transaction is prepared for signature, or until raw data already includes it (user-supplied raw txs). Example (base64 in JSON): `j1g=`.
      - `refBlockHash` string, byte: The reference block hash of the transaction (raw_data.ref_block_hash). Bytes 8-16 of the reference block hash (8 bytes). Empty until the transaction is prepared for signature, or until raw data already includes it (user-supplied raw txs). Example (base64 in JSON): `7jHKhJbGGlE=`.
      - `timestamp` string, int64: The creation time of the transaction as set in its raw data (raw_data.timestamp), in milliseconds since the Unix epoch. Empty until the transaction is prepared for signature, or until raw data already includes it (user-supplied raw txs). Example: `1759838400000`.
    - `btcTransaction` TransactionBTCTransaction
      - `inputs` BTCTransactionUTXOIn[]: Transaction inputs.
        - `address` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `amount` string: Amount in asset unit (BTC).
        - `signingSession` string: The signing session which was used to sign the input. Available when the transaction has been prepared for signing / signed. Deprecated: Use request.signing_sessions instead.
        - `userSelected` boolean: Whether this input was explicitly selected by the user. When false, the input was automatically chosen by the coin-selection algorithm.
      - `outputs` BTCTransactionUTXOOut[]: Transaction outputs.
        - `address` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `amount` string: Amount in asset unit (BTC).
        - `change` boolean: True when this output is the change output.
        - `changeUserSelected` boolean: True when the change address was supplied by the user; false when auto-generated. Only meaningful when `change` is true.
        - `vout` integer: On-chain output index (vout) of this output within the transaction. Together with the transaction's chain id, `txid:vout` is the stable, canonical identifier of this output (matching QueryWalletUTXOs). Prefer it over the position of this output within `outputs`, which only reflects the vault-relevant outputs Utila retains and is not the on-chain index. Set once the transaction's on-chain identity is known — i.e. its transaction id is assigned: for outgoing transactions from the SIGNED state onward, and for incoming deposits once observed on-chain. Omitted for pending, pre-signing transactions.
      - `fee` string: Transaction fee in asset unit (BTC).
      - `asset` string: Asset name.
    - `btcPsbt` V2TransactionBTCPSBT: Details of a signed PSBT (Partially Signed Bitcoin Transaction). Returned when a PSBT signing request reaches the SIGNED state. The signed PSBT can be used by the dApp to finalize and broadcast.
      - `signedPsbt` string, byte: The signed PSBT data, encoded in base64 format per BIP-174. Only populated after the transaction reaches the SIGNED state. Contains partial signatures that the dApp can use to finalize and broadcast.
      - `inputs` BTCTransactionUTXOIn[]: The PSBT inputs (for display in approval UI). Reuses the existing BTCTransaction.UTXOIn type for consistency.
        - `address` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `amount` string: Amount in asset unit (BTC).
        - `signingSession` string: The signing session which was used to sign the input. Available when the transaction has been prepared for signing / signed. Deprecated: Use request.signing_sessions instead.
        - `userSelected` boolean: Whether this input was explicitly selected by the user. When false, the input was automatically chosen by the coin-selection algorithm.
      - `outputs` BTCTransactionUTXOOut[]: The PSBT outputs (for display in approval UI). Reuses the existing BTCTransaction.UTXOOut type for consistency.
        - `address` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `amount` string: Amount in asset unit (BTC).
        - `change` boolean: True when this output is the change output.
        - `changeUserSelected` boolean: True when the change address was supplied by the user; false when auto-generated. Only meaningful when `change` is true.
        - `vout` integer: On-chain output index (vout) of this output within the transaction. Together with the transaction's chain id, `txid:vout` is the stable, canonical identifier of this output (matching QueryWalletUTXOs). Prefer it over the position of this output within `outputs`, which only reflects the vault-relevant outputs Utila retains and is not the on-chain index. Set once the transaction's on-chain identity is known — i.e. its transaction id is assigned: for outgoing transactions from the SIGNED state onward, and for incoming deposits once observed on-chain. Omitted for pending, pre-signing transactions.
      - `fee` string: The transaction fee in BTC. Calculated from: sum(inputs) - sum(outputs).
    - `aptosTransaction` TransactionAptosTransaction
      - `sender` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `sequenceNumber` string, int64
      - `payloadBytes` string, byte
      - `decodedPayload` V2DecodedAptosTransactionPayload
        - `entryFunction` V2DecodedAptosEntryFunction
          - `function` string, required
          - `typeArguments` string[], required
          - `arguments` string[], required
      - `maxGasAmount` string, int64
      - `gasUnitPrice` string, int64
      - `expirationTime` string, date-time: In seconds.
      - `chainId` string, int64
    - `suiTransaction` TransactionSuiTransaction
      - `sender` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `gasBudget` string
      - `gasPrice` string
      - `expirationEpoch` string
      - `txBcsBytes` string, byte
      - `decodedTransaction` string
    - `suiSignPersonalMessage` V2TransactionSuiSignPersonalMessage
      - `signer` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `message` string, byte: The message to sign.
      - `signature` string, byte: The signature of the message.
    - `xrplTransaction` TransactionXRPLTransaction
      - `jsonTransactionData` object
    - `substrateTransaction` TransactionSubstrateTransaction
      - `fromAddress` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `nonce` string, int64: The nonce of the transaction.
      - `encodedCall` string
      - `call` SubstrateTransactionDecodedCall
        - `pallet` string
        - `palletIndex` integer
        - `method` string
        - `methodIndex` integer
        - `args` DecodedCallArg[]
          - `name` string
          - `type` string
          - `value` string
      - `genesisHash` string
    - `tonTransaction` TransactionTonTransaction
      - `sender` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `seqno` string, int64: The sequence number of the transaction.
      - `messages` TransactionTonTransactionMessage[]
        - `address` string, required: The destination of the call.
        - `amount` string, required: Native Nanoton amount to send.
        - `payload` string
        - `stateInit` string: The initial state of the message.
      - `memo` string: The memo of the transaction.
      - `validUntil` string, int64: The time the transaction is valid until.
      - `amount` string: The native amount passed to the transaction.
    - `tonSignData` V2TransactionTonSignData
      - `schemaCrc` string, int64: Indicates the layout of payload cell that in turn defines domain separation. This is a descriptor of the content of the cell.
      - `cell` string: The payload to sign.
      - `publicKey` string: The public key of the signer.
      - `timestamp` string, int64: The time at which the signature was created.
      - `signature` string: The signature of the typed data.
    - `tonProof` V2TransactionTonProof
      - `address` string: The address of the signer. In Raw address format. Example: `0:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef`.
      - `appDomain` string
      - `payload` string: The payload to sign.
      - `timestamp` string, int64: The time at which the signature was created.
      - `signature` string: The signature of the payload.
    - `solanaSignMessage` V2TransactionSolanaSignMessage
      - `signer` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `message` string, byte: The message to sign.
      - `signature` string: The signature of the message.
    - `solanaTransaction` V2TransactionSolanaTransaction
      - `fee` string: Transaction fee in lamports.
      - `rawTransaction` string, byte: The full transaction payload, serialized. The message and signatures, encoded in base64 format.
      - `utilaSigners` Apiv2Address[]: The utila addresses used to sign the transaction. Must be the same length as request.signing_sessions.
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `replaceBlockhash` boolean: Indicates whether the recent blockhash was or will be replaced with the most recent blockhash before signing.
      - `memo` string: The on-chain memo attached to the transfer via the Memo program, if any.
    - `thetaTransaction` TransactionThetaTransaction: For Theta transaction: Low level transaction details.
      - `sendTransaction` ThetaTransactionSendTransaction: Represents a Theta send transaction with inputs, outputs, and fee.
        - `inputs` ThetaTransactionTxInput[]: The transaction inputs that provide the coins to be transferred.
          - `address` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `coins` ThetaTransactionCoins: Represents the amount of THETA and TFUEL coins in wei units.
            - `thetaWei` string: The amount of THETA in wei.
            - `tfuelWei` string: The amount of TFUEL in wei.
        - `outputs` ThetaTransactionTxOutput[]: The transaction outputs that receive the transferred coins.
          - `address` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `coins` ThetaTransactionCoins: Represents the amount of THETA and TFUEL coins in wei units.
            - `thetaWei` string: The amount of THETA in wei.
            - `tfuelWei` string: The amount of TFUEL in wei.
        - `fee` ThetaTransactionCoins: Represents the amount of THETA and TFUEL coins in wei units.
          - `thetaWei` string: The amount of THETA in wei.
          - `tfuelWei` string: The amount of TFUEL in wei.
    - `stellarTransaction` V2TransactionStellarTransaction
      - `sourceAccountAddress` Apiv2Address
        - `value` string: The actual address.
        - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
        - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `sequenceNumber` string: The sequence number of the transaction.
      - `fee` string, int64: The fee paid for the transaction in stroops.
      - `memo` V2StellarMemo
        - `type` 'TEXT' | 'ID' | 'HASH' | 'RETURN', required: - TEXT: A text memo. Limited to 28 bytes. - ID: A id memo. An unsigned 64-bit integer. - HASH: A hash memo. A hex string of the hash with a `0x` prefix. - RETURN: A return memo. A hex string of the return hash with a `0x` prefix.
        - `data` string, required: The data of the memo.
      - `timeBounds` TransactionStellarTransactionStellarTimeBounds
        - `minUnixTime` string, int64
        - `maxUnixTime` string, int64
      - `operations` StellarTransactionStellarOperation[]: The operations in the transaction supported by utila.
        - `sourceAccountAddress` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
        - `rawBody` string, byte
        - `decodedBody` StellarTransactionDecodedOperationBody
          - `payment` StellarTransactionDecodedOperationBodyPayment
            - `destinationAddress` Apiv2Address
              - …
            - `asset` string: The asset of the payment. Example: `USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN`.
            - `assetRef` string: A weak reference to the asset. The reference is not guaranteed to be valid. Example: `assets/asset.stellar-mainnet.USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN`.
            - `amount` string: The amount of the payment. Example: `10000000` (1 XLM in stroops).
          - `createAccount` StellarTransactionDecodedOperationBodyCreateAccount
            - `destinationAddress` Apiv2Address
              - …
            - `startingBalance` string
          - `changeTrust` StellarTransactionDecodedOperationBodyChangeTrust
            - `asset` string: The asset of the change trust. Example: `assets/asset.stellar-mainnet.USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN`.
            - `assetRef` string: A weak reference to the asset. The reference is not guaranteed to be valid. Example: `assets/asset.stellar-mainnet.USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN`.
            - `limit` string: The limit of the change trust. For unlimited amount, this field will be empty. Example: `10000000` (1 XLM in stroops).
            - `unlimited` boolean: Whether the limit is considered by utila as unlimited.
          - `sep41Payment` StellarTransactionDecodedOperationBodySEP41Payment
            - `spenderAddress` Apiv2Address
              - …
            - `sourceAddress` Apiv2Address
              - …
            - `destinationAddress` Apiv2Address
              - …
            - `contractAddress` string: Example: `CB3WFHO46J3WGRAIARNT3XD4Z7NR5SZDNG3SVKN27GOTJAQGQFAH2KAJ`.
            - `assetRef` string: A weak reference to the asset. The reference is not guaranteed to be valid. Example: `assets/asset.stellar-mainnet.CB3WFHO46J3WGRAIARNT3XD4Z7NR5SZDNG3SVKN27GOTJAQGQFAH2KAJ`.
            - `rawAmount` string: The raw amount (without decimals) of the payment. Example: `10000000`.
          - `sep41TokenApproval` StellarTransactionDecodedOperationBodySEP41TokenApproval
            - `sourceAddress` Apiv2Address
              - …
            - `spenderAddress` Apiv2Address
              - …
            - `contractAddress` string: The token whose allowance is being set. Example: `CB3WFHO46J3WGRAIARNT3XD4Z7NR5SZDNG3SVKN27GOTJAQGQFAH2KAJ`.
            - `assetRef` string: A weak reference to the asset. The reference is not guaranteed to be valid. Example: `assets/asset.stellar-mainnet.CB3WFHO46J3WGRAIARNT3XD4Z7NR5SZDNG3SVKN27GOTJAQGQFAH2KAJ`.
            - `rawAmount` string: The allowance raw amount (without decimals) made available to the spender. Example: `10000000`.
            - `liveUntilLedgerNumber` string, int64: The ledger number where this allowance expires.
      - `rawXdrEnvelope` string, byte
    - `aleoTransaction` TransactionAleoTransaction
      - `feeMicrocredits` string: Total fee paid in microcredits.
      - `feeOperation` TransactionFeePublic: Public fee transition details.
        - `amountMicrocredits` string
        - `priorityFeeMicrocredits` string
        - `payer` Apiv2Address
          - `value` string: The actual address.
          - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
          - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
      - `operations` TransactionAleoOperation[]: One entry per execution transition (fee transition excluded). Ordered as they appear on-chain (root first, then internal children).
        - `program` string: e.g. "credits.aleo", "usad_stablecoin.aleo". This also identifies the asset being operated on in this transition.
        - `function` string: e.g. "transfer_private", "join".
        - `asset` string: The asset identifier for this transition (derived from program_id).
        - `internal` boolean: True for child transitions generated by internal program calls (e.g. credits.aleo/join called inside autojoin_credits_15_16.aleo/join_16).
        - `transferPublic` TransactionTransferPublic
          - `sender` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `recipient` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `amount` string
        - `transferPublicAsSigner` TransactionTransferPublicAsSigner
          - `signer` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `recipient` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `amount` string
        - `transferPrivate` TransactionTransferPrivate
          - `sender` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `recipient` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `sentAmount` string: Amount received by the recipient.
          - `changeAmount` string: Remainder returned to the sender.
        - `transferPrivateToPublic` TransactionTransferPrivateToPublic
          - `sender` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `recipient` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `sentAmount` string: Amount credited to the recipient's public account.
          - `changeAmount` string: Remainder returned to the sender as a record.
        - `transferPublicToPrivate` TransactionTransferPublicToPrivate
          - `sender` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `recipient` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `amount` string
        - `join` TransactionJoinOperation: credits.aleo/join — multiple records merged into one or more outputs.
          - `owner` Apiv2Address
            - `value` string: The actual address.
            - `infoRef` string: If it's an address in the vault (e.g., a wallet address), a reference to address information will be listed here. Address information can be fetched from `ReferencedAddressesInfo` map with the reference as the key. Will be populated only if `includeReferencedResources` is set to `true`.
            - `private` boolean: True when the address is redacted because it belongs to a private Aleo record. When set, `value` is empty.
          - `inputs` TransactionAleoRecord[]
            - `commitment` string
            - `amount` string
          - `outputs` TransactionAleoRecord[]
            - `commitment` string
            - `amount` string
        - `unknown` TransactionUnknownOperation: Catch-all for custom / third-party programs.
          - `inputs` TransactionTransitionValue[]
            - `type` string: "record", "public", "private", or "future".
            - `value` string: Plaintext value (decrypted if private).
          - `outputs` TransactionTransitionValue[]
            - `type` string: "record", "public", "private", or "future".
            - `value` string: Plaintext value (decrypted if private).
    - `createTime` string, date-time: The time at which the transaction was created in the system.
    - `mineTime` string, date-time: The time at which the transaction was mined.
    - `confirmTime` string, date-time: The time at which the transaction was confirmed.
    - `expireTime` string, date-time: The time at which the transaction was expired.
    - `spam` boolean
    - `annotations` object: Client-defined key/value metadata attached at initiation via InitiateTransactionRequest.annotations. Stored but never interpreted by Utila, and visible read-only to every party who can view the transaction. Avoid storing secrets or sensitive data here.
    - `replacementTransaction` string: If the current transaction is dropped, the transaction that replaced it will be listed here.

## Changes

- **2026-11-03** `c4a910d79740`: 3 warning, 80 info
  - removed the optional property `transaction/aleoTransaction/allOf[#/components/schemas/TransactionAleoTransaction]/operations/items/transition` from the response with the `200` status
  - removed the optional property `transaction/gasStationOrder` from the response with the `200` status
  - added the new `EVM_ZAMA_CONFIDENTIAL_TOKEN_ACTIVATION` enum value to the `transaction/subType/allOf[#/components/schemas/v2TransactionSubTypeEnum]/` response property for the response status `200`
  - added the optional property `transaction/aleoTransaction/allOf[#/components/schemas/TransactionAleoTransaction]/feeOperation/allOf[#/components/schemas/TransactionFeePublic]/payer/private` to the response with the `200` status
  - …79 more

[Operation history](https://skmtc.dev/utila/apis/utila-api/changes/v2/vaults/:vault_id/transactions/:transaction_id:publish/post.md)

---

[API](https://skmtc.dev/utila/apis/utila-api.md) - [All operations](https://skmtc.dev/utila/apis/utila-api/llms.txt) - [OpenAPI document](https://skmtc.dev/utila/apis/utila-api/revisions/c4a910d79740?raw)
