Utila Transactions API

The Transactions API from Utila — 11 operation(s) for transactions.

Operations 11

GET /v2/vaults/{vault_id}/transactions/{transaction_id} GetTransaction #
GET /v2/vaults/{vault_id}/transactions:batchGet BatchGetTransactions #
GET /v2/vaults/{vault_id}/transactions ListTransactions #
POST /v2/vaults/{vault_id}/transactions:initiate InitiateTransaction #
POST /v2/vaults/{vault_id}/transactionRequests/{transaction_request_id}:vote VoteOnTransactionRequest #
POST /v2/vaults/{vault_id}/transactions:estimateFee EstimateTransactionFee #
GET /v2/vaults/{vault_id}/transactions/{transaction_id}/simulations/latest GetLatestTransactionSimulation #
POST /v2/vaults/{vault_id}/transactions/{transaction_id}:cancel CancelTransaction #
POST /v2/vaults/{vault_id}/transactions/{transaction_id}:replace ReplaceTransaction #
POST /v2/vaults/{vault_id}/transactions/{transaction_id}:publish PublishTransaction #
GET /v2/vaults/{vault_id}/transactions/{transaction_id}/amlScreening GetTransactionAMLScreening #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/utila-transactions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

utila-transactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Utila Address Book Transactions API
  version: v2
servers:
- url: https://api.utila.io
security:
- bearerAuth: []
tags:
- name: Transactions
paths:
  /v2/vaults/{vault_id}/transactions/{transaction_id}:
    get:
      summary: GetTransaction
      description: Retrieves a transaction by resource name.
      operationId: Transactions_GetTransaction
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2GetTransactionResponse'
      parameters:
      - name: vault_id
        in: path
        required: true
        schema:
          type: string
      - name: transaction_id
        in: path
        required: true
        schema:
          type: string
      - name: includeReferencedResources
        description: Include referenced resources in the response.
        in: query
        required: false
        schema:
          type: boolean
      - name: view
        description: "The view of the transaction.\n\n - BASIC: The default view. Does not include certain fields such as blocking transactions.\n - FULL: Full view, include all fields."
        in: query
        required: false
        schema:
          type: string
          enum:
          - BASIC
          - FULL
      tags:
      - Transactions
  /v2/vaults/{vault_id}/transactions:batchGet:
    get:
      summary: BatchGetTransactions
      description: Retrieves multiple transactions by resource name.
      operationId: Transactions_BatchGetTransactions
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2BatchGetTransactionsResponse'
      parameters:
      - name: vault_id
        in: path
        required: true
        schema:
          type: string
      - name: names
        description: 'The resource names of the transactions to retrieve.


          Format: `vaults/{vault_id}/transactions/{transaction_id}`'
        in: query
        required: true
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: includeReferencedResources
        description: Include referenced resources in the response.
        in: query
        required: false
        schema:
          type: boolean
      - name: view
        description: "The view of the transaction.\n\n - BASIC: The default view. Does not include certain fields such as blocking transactions.\n - FULL: Full view, include all fields."
        in: query
        required: false
        schema:
          type: string
          enum:
          - BASIC
          - FULL
      tags:
      - Transactions
  /v2/vaults/{vault_id}/transactions:
    get:
      summary: ListTransactions
      description: Retrieve a list of all transactions in a vault.
      operationId: Transactions_ListTransactions
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2ListTransactionsResponse'
      parameters:
      - name: vault_id
        in: path
        required: true
        schema:
          type: string
      - name: filter
        description: 'A filter string to filter the results.

          More details about filtering can be found in the [Filtering Documentation Page](https://docs.utila.io/reference/filtering).


          Supported fields and functions:

          | Name | Description | Example |

          |------|-------------|---------|

          | `create_time` | Filter by creation time (`string` comparison). | `create_time > "2023-08-29T18:04:00Z"` |

          | `state` | Filter by one or more states (`enum...`). | `state(AWAITING_APPROVAL,AWAITING_SIGNATURE)` |

          | `spam` | Filter by spam status (`bool`). | `spam(false)` |

          | `from_wallet` | Filter by one or more source wallets (`string...`). | `from_wallet("vaults/123456789012/wallets/5a8b8085ccd0")` |

          | `to_wallet` | Filter by one or more destination wallets (`string...`). | `to_wallet("vaults/123456789012/wallets/5a8b8085ccd0")` |

          | `pending_user_approval` | Filter by user for which the transaction is awaiting approval (`string`). | `pending_user_approval("users/name@example.com")` |

          | `asset` | Filter by one or more assets (`string...`). Supports v2 asset aliases. | `asset("assets/erc20.ethereum-mainnet.0x6b175474e89094c44da98b954eedeac495271d0f")` |

          | `external_id` | Filter by client-provided external ID (`string`). | `external_id("order-123")` |'
        in: query
        required: false
        schema:
          type: string
      - name: orderBy
        description: 'SQL-like ordering specifications.

          Supports the field `create_time`.'
        in: query
        required: false
        schema:
          type: string
      - name: pageSize
        description: 'The maximum number of items to return. The service may return fewer than

          this value.


          If unspecified, at most 50 will be returned.'
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: pageToken
        description: 'A page token, received from the previous list call as `nextPageToken`.

          Provide this to retrieve the subsequent page.


          When paginating, all other parameters must match the call that provided

          the page token.'
        in: query
        required: false
        schema:
          type: string
      - name: skip
        description: 'How many results to skip.


          Note: may be used alongside token-based pagination (see `pageToken`),

          although this won''t be needed for most use cases.'
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: includeReferencedResources
        description: Include referenced resources in the response.
        in: query
        required: false
        schema:
          type: boolean
      - name: view
        description: "The view of the transaction.\n\n - BASIC: The default view. Does not include certain fields such as blocking transactions.\n - FULL: Full view, include all fields."
        in: query
        required: false
        schema:
          type: string
          enum:
          - BASIC
          - FULL
      tags:
      - Transactions
  /v2/vaults/{vault_id}/transactions:initiate:
    post:
      summary: InitiateTransaction
      description: Initiate a new transaction.
      operationId: Transactions_InitiateTransaction
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2InitiateTransactionResponse'
      parameters:
      - name: vault_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionsInitiateTransactionBody'
        required: true
      tags:
      - Transactions
  /v2/vaults/{vault_id}/transactionRequests/{transaction_request_id}:vote:
    post:
      summary: VoteOnTransactionRequest
      description: Vote on a transaction request.
      operationId: Transactions_VoteOnTransactionRequest
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2VoteOnTransactionRequestResponse'
      parameters:
      - name: vault_id
        in: path
        required: true
        schema:
          type: string
      - name: transaction_request_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionsVoteOnTransactionRequestBody'
        required: true
      tags:
      - Transactions
  /v2/vaults/{vault_id}/transactions:estimateFee:
    post:
      summary: EstimateTransactionFee
      description: Estimate the fee for a transaction.
      operationId: Transactions_EstimateTransactionFee
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2EstimateTransactionFeeResponse'
      parameters:
      - name: vault_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionsEstimateTransactionFeeBody'
        required: true
      tags:
      - Transactions
  /v2/vaults/{vault_id}/transactions/{transaction_id}/simulations/latest:
    get:
      summary: GetLatestTransactionSimulation
      operationId: Transactions_GetLatestTransactionSimulation
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2GetLatestTransactionSimulationResponse'
      parameters:
      - name: vault_id
        in: path
        required: true
        schema:
          type: string
      - name: transaction_id
        in: path
        required: true
        schema:
          type: string
      - name: includeReferencedResources
        description: Include referenced resources in the response.
        in: query
        required: false
        schema:
          type: boolean
      tags:
      - Transactions
  /v2/vaults/{vault_id}/transactions/{transaction_id}:cancel:
    post:
      summary: CancelTransaction
      description: 'Cancels a transaction. Used to cancel a transaction before it is signed.


        Only the transaction''s initiator or an admin can cancel a transaction.


        If the transaction has already been signed, use

        [ReplaceTransaction](#tag/Transactions/operation/Transactions_ReplaceTransaction) instead.'
      operationId: Transactions_CancelTransaction
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2CancelTransactionResponse'
      parameters:
      - name: vault_id
        in: path
        required: true
        schema:
          type: string
      - name: transaction_id
        in: path
        required: true
        schema:
          type: string
      tags:
      - Transactions
  /v2/vaults/{vault_id}/transactions/{transaction_id}:replace:
    post:
      summary: ReplaceTransaction
      description: 'Creates a new transaction that replaces an existing signed transaction in the system which has not been mined yet.


        Only works for blockchains that support replacement of signed transactions, e.g.

        - Ethereum - which has nonce management.

        - BTC - which has RBF (Replace-By-Fee) and CPFP (Child-Pays-For-Parent) mechanisms.


        Some blockchains do not support transaction replacement, e.g. TRON - which is based on

        transaction expiration time - for these cases, the transaction will be either mined or

        expired after the configured expiration time.


        If the transaction has not been signed yet, and you wish to cancel it, use

        [CancelTransaction](#tag/Transactions/operation/Transactions_CancelTransaction)

        instead.'
      operationId: Transactions_ReplaceTransaction
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2ReplaceTransactionResponse'
      parameters:
      - name: vault_id
        in: path
        required: true
        schema:
          type: string
      - name: transaction_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionsReplaceTransactionBody'
        required: true
      tags:
      - Transactions
  /v2/vaults/{vault_id}/transactions/{transaction_id}:publish:
    post:
      summary: PublishTransaction
      description: '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.'
      operationId: Transactions_PublishTransaction
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2PublishTransactionResponse'
      parameters:
      - name: vault_id
        in: path
        required: true
        schema:
          type: string
      - name: transaction_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionsPublishTransactionBody'
        required: true
      tags:
      - Transactions
  /v2/vaults/{vault_id}/transactions/{transaction_id}/amlScreening:
    get:
      summary: GetTransactionAMLScreening
      description: If the transaction was screened for AML, this endpoint will return the results. Relevant where screening is configured.
      operationId: Transactions_GetTransactionAMLScreening
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2GetTransactionAMLScreeningResponse'
      parameters:
      - name: vault_id
        in: path
        required: true
        schema:
          type: string
      - name: transaction_id
        in: path
        required: true
        schema:
          type: string
      tags:
      - Transactions
components:
  schemas:
    v2EVMTransactionParams:
      type: object
      properties:
        gasSettings:
          description: Custom gas settings. Used only if generic priority is not set.
          allOf:
          - $ref: '#/components/schemas/v2EVMPriority'
        nonce:
          type: string
          description: Optional nonce for the transaction. If omitted, Utila will determine the nonce automatically.
    v2TransactionTronTransactionUnfreezeBalanceV2:
      type: object
      properties:
        ownerAddress:
          description: 'The source of the transaction.


            A base58 string address (example: `TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g`)'
          allOf:
          - $ref: '#/components/schemas/apiv2Address'
        amount:
          type: string
          example: '1500000'
          description: 'Amount of TRX to be unstaked, in SUN.


            Example: `1500000`.'
        resource:
          description: 'The resource to unfreeze.


            Can be one of the following:

            1. `BANDWIDTH`

            2. `ENERGY`'
          allOf:
          - $ref: '#/components/schemas/v2TransactionTronTransactionTronResourceEnum'
        asset:
          type: string
          example: assets/native.tron-mainnet
          description: 'The asset that is being unstaked.


            Example: `assets/native.tron-mainnet`.'
    apiUserRoleEnum:
      type: string
      enum:
      - ADMIN
      - SIGNER
      - VIEWER
      - OWNER
      - NON_SIGNING_OPERATOR
      - NON_SIGNING_ADMIN
    OperationBodySEP41TokenApproval:
      type: object
      properties:
        sourceAddress:
          type: string
          description: 'The address holding the balance of tokens the allowance is drawn

            from (the SEP41 `from` argument).


            A Stellar address (example: `GAAAAAAAACGC6SEYFBKQ33QJ2FXVEP3EJ6BE2FCVW2SSP6X5TBNQYQ`).'
        spenderAddress:
          type: string
          description: 'The address being authorized to spend the tokens held by

            `source_address` (the SEP41 `spender` argument).


            A Stellar address (example: `GAAAAAAAACGC6SEYFBKQ33QJ2FXVEP3EJ6BE2FCVW2SSP6X5TBNQYQ`).'
        contractAddress:
          type: string
          example: CB3WFHO46J3WGRAIARNT3XD4Z7NR5SZDNG3SVKN27GOTJAQGQFAH2KAJ
          description: 'The token whose allowance is being set.


            A contract address of a SEP41 token (example: `CB3WFHO46J3WGRAIARNT3XD4Z7NR5SZDNG3SVKN27GOTJAQGQFAH2KAJ`).'
        rawAmount:
          type: string
          description: 'The amount to be made available to `spender_address`.


            Example: `10000000`.'
        liveUntilLedgerNumber:
          type: string
          format: int64
          description: 'The ledger number where this allowance expires. Cannot be less than

            the current ledger number unless the amount is being set to 0.'
      required:
      - sourceAddress
      - spenderAddress
      - contractAddress
      - rawAmount
      - liveUntilLedgerNumber
    v2EstimateTransactionFeeRequestDetails:
      type: object
      properties:
        assetTransfer:
          description: An abstract transfer.
          allOf:
          - $ref: '#/components/schemas/v2AssetTransfer'
        assetBatchTransfer:
          description: A batch transfer.
          allOf:
          - $ref: '#/components/schemas/v2BatchAssetTransfer'
        evmTransaction:
          description: An EVM transaction.
          allOf:
          - $ref: '#/components/schemas/apiv2EVMTransaction'
        tronTriggerSmartContract:
          description: 'Deprecated: Use `tron_transaction` with `trigger_smart_contract` instead.'
          allOf:
          - $ref: '#/components/schemas/v2TronTriggerSmartContract'
        tronTransaction:
          description: A Tron transaction.
          allOf:
          - $ref: '#/components/schemas/apiv2TronTransaction'
        btcTransfer:
          description: A transfer for Bitcoin and similar UTXO-based blockchains, with explicit input control.
          allOf:
          - $ref: '#/components/schemas/v2BTCTransfer'
      title: Transaction type
    TransactionTonTransactionMessage:
      type: object
      properties:
        address:
          type: string
          description: The destination of the call.
        amount:
          type: string
          description: Native Nanoton amount to send.
        payload:
          type: string
          title: 'The payload of the message.

            If not provided - This means this message is a contract deployment or a native transfer'
        stateInit:
          type: string
          description: The initial state of the message.
      required:
      - address
      - amount
    apiv2TronTransactionUnfreezeBalanceV2:
      type: object
      properties:
        ownerAddress:
          type: string
          description: 'The source of the transaction.


            Can be one of the following:

            1. A hex string address, must start with 41 (example: `418840E6C55B9ADA326D211D818C34A994AECED808`)

            2. A base58 string address (example: `TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g`)'
        amount:
          type: string
          example: '1500000'
          description: 'Amount of TRX to be unstaked, in SUN.


            Example: `1500000`.'
        resource:
          description: 'The type of resource to unstake TRX from.


            When you unfreeze (unstake) TRX, you release resources that can be used for transactions.

            The resources are available for withdrawal after 14 days.


            Can be one of the following:

            1. `BANDWIDTH`

            2. `ENERGY`'
          allOf:
          - $ref: '#/components/schemas/apiv2TronTransactionTronResourceEnum'
      required:
      - ownerAddress
      - amount
      - resource
    TransactionTransferPrivateToPublic:
      type: object
      properties:
        sender:
          $ref: '#/components/schemas/apiv2Address'
        recipient:
          $ref: '#/components/schemas/apiv2Address'
        sentAmount:
          type: string
          description: Amount credited to the recipient's public account.
        changeAmount:
          type: string
          description: Remainder returned to the sender as a record.
    v2Wallet:
      type: object
      properties:
        name:
          type: string
          example: vaults/1b25635a5b3f/wallets/95257c5a522f
          description: 'The resource name of the wallet.


            Format: `vaults/{vault_id}/wallets/{wallet_id}`'
          readOnly: true
        displayName:
          type: string
          example: DeFi wallet
          description: 'A human-readable name.


            Must match the regular expression `[a-zA-Z0-9\.,:\-''# _$]+$` and be shorter than 100 characters'
        external:
          type: boolean
          description: 'Whether this wallet is external.


            External wallets are wallets that are not managed by Utila.'
          readOnly: true
        archived:
          type: boolean
          description: Whether this wallet is archived.
          readOnly: true
        convertedValue:
          description: 'The converted value of all assets in this Wallet.

            Included only when `FULL` view is requested.


            Note: this is an estimate, and may be out of date.'
          readOnly: true
          allOf:
          - $ref: '#/components/schemas/v2ConvertedValue'
        hasFrozenAssets:
          type: boolean
          example: true
          description: 'Some of the assets in this wallet are frozen due to a AML policy.

            Included only when `FULL` view is requested.'
          readOnly: true
        networks:
          type: array
          example:
          - networks/ethereum-mainnet
          items:
            type: string
          description: 'The resource names of the networks of the wallet. Can be set during creation and can be added later

            through the `CreateWalletAddress` method.'
        evmDetails:
          description: If this wallet contains an EVM network, this field will be populated.
          readOnly: true
          allOf:
          - $ref: '#/components/schemas/v2WalletEVMDetails'
        tronDetails:
          description: If this wallet contains a Tron network, this field will be populated.
          readOnly: true
          allOf:
          - $ref: '#/components/schemas/WalletTronDetails'
        tonDetails:
          description: If this wallet contains a Ton network, this field will be populated.
          readOnly: true
          allOf:
          - $ref: '#/components/schemas/v2WalletTonDetails'
        solanaDetails:
          description: If this wallet contains a Solana network, this field will be populated.
          readOnly: true
          allOf:
          - $ref: '#/components/schemas/WalletSolanaDetails'
        xrplDetails:
          description: If this wallet contains an XRPL network, this field will be populated.
          readOnly: true
          allOf:
          - $ref: '#/components/schemas/WalletXRPLDetails'
        createParams:
          description: Parameters only used during wallet creation. Not included in responses.
          allOf:
          - $ref: '#/components/schemas/WalletCreateParams'
        btcDetails:
          description: If this wallet contains a Bitcoin network, this field will be populated.
          readOnly: true
          allOf:
          - $ref: '#/components/schemas/v2WalletBTCDetails'
      required:
      - displayName
      - networks
    v2WalletTonDetails:
      type: object
      properties:
        address:
          type: string
          description: The address of the wallet.
          readOnly: true
    v2EVMTransactionGas:
      type: object
      properties:
        gasLimit:
          type: string
          format: int64
          description: The amount of gas to use for the transaction.
        gasUsed:
          type: string
          description: The amount of gas used by the transaction.
        gasPrice:
          type: string
          description: 'A `0x`-prefixed hex string representing the gas price of the transaction.


            Used for legacy transactions (non EIP-1559).'
        maxPriorityFeePerGas:
          type: string
          description: 'A `0x`-prefixed hex string representing the maximum prioriy fee per gas unit the transaction can pay.


            Used for dynamic transactions (EIP-1559).'
        maxFeePerGas:
          type: string
          description: 'A `0x`-prefixed hex string representing the maximum fee per gas unit the transaction can pay.


            Used for dynamic transactions (EIP-1559).'
    v2TransactionStellarTransactionMemo:
      type: object
      properties:
        type:
          description: The type of the memo.
          allOf:
          - $ref: '#/components/schemas/v2TransactionStellarTransactionMemoTypeEnum'
        data:
          type: string
          description: The data of the memo.
      required:
      - type
      - data
    apiv2TronTransactionTronResourceEnum:
      type: string
      enum:
      - BANDWIDTH
      - ENERGY
    v2EVMPersonalSign:
      type: object
      properties:
        fromAddress:
          type: string
          description: 'The address to sign the message with.


            Can be one of the following:

            1. A `0x`-prefixed hex string address, must be matched by a wallet address in the current vault (example: `0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`)

            2. A wallet resource name: `vaults/{vault_id}/wallets/{wallet_id}`

            3. A specific wallet address resource name: `vaults/{vault_id}/wallets/{wallet_id}/addresses/{address_id}`'
        message:
          type: string
          description: 'A utf-8 encoded message to sign.


            One of `message`, `messageHex` is required.


            Example: `hello`.'
        messageHex:
          type: string
          description: 'A utf-8 hex encoded message to sign, must start with `0x`.


            One of `message`, `messageHex` is required.


            Example: `0x68656c6c6f` (representing `hello`)'
      required:
      - fromAddress
    v2TransactionTonProof:
      type: object
      properties:
        address:
          type: string
          description: 'The address of the signer.

            In Raw address format.


            Example: `0:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef`.'
        appDomain:
          type: string
          title: The domain of the app requested the proof
        payload:
          type: string
          description: The payload to sign.
        timestamp:
          type: string
          format: int64
          description: The time at which the signature was created.
        signature:
          type: string
          description: The signature of the payload.
    v2InitiateTransactionResponse:
      type: object
      properties:
        transaction:
          description: The created transaction.
          allOf:
          - $ref: '#/components/schemas/v2Transaction'
        referencedResources:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/v2ReferencedResource'
          description: 'A mapping of the referenced resources in the message.

            The key is the resource name and the value is the corresponding resource.'
        referencedAddressesInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/v2NetworkAddressInfo'
          description: 'A mapping of the referenced addresses in the message.

            The key is the address and the value is the corresponding address info.'
    TransactionTransitionValue:
      type: object
      properties:
        type:
          type: string
          description: '"record", "public", "private", or "future".'
        value:
          type: string
          description: Plaintext value (decrypted if private).
    v2TransactionTronTransactionWithdrawBalance:
      type: object
      properties:
        ownerAddress:
          description: 'The source of the transaction.


            A base58 string address (example: `TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g`)'
          allOf:
          - $ref: '#/components/schemas/apiv2Address'
    v2TransactionAMLScreening:
      type: object
      properties:
        provider:
          $ref: '#/components/schemas/TransactionAMLScreeningProviderEnum'
        rawResponses:
          type: array
          items:
            type: string
    OperationBodyChangeTrust:
      type: object
      properties:
        asset:
          type: string
          description: 'A Stellar asset `{asset_code}-{issuer}`.


            Example: `USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN`.'
        limit:
          type: string
          description: 'The limit of the change trust.

            For unlimited amount, don''t provide this field.


            Example: `10000000` (1 XLM in stroops).'
      required:
      - asset
    v2BatchGetTransactionsResponse:
      type: object
      properties:
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/v2Transaction'
          description: The transactions retrieved.
        referencedResources:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/v2ReferencedResource'
          description: 'A mapping of the referenced resources in the message.

            The key is the resource name and the value is the corresponding resource.'
        referencedAddressesInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/v2NetworkAddressInfo'
          description: 'A mapping of the referenced addresses in the message.

            The key is the address and the value is the corresponding address info.'
    v2TransactionTronTransactionTronResourceEnum:
      type: string
      enum:
      - BANDWIDTH
      - ENERGY
    StellarTransactionDecodedOperationBody:
      type: object
      properties:
        payment:
          $ref: '#/components/schemas/StellarTransactionDecodedOperationBodyPayment'
        createAccount:
          $ref: '#/components/schemas/StellarTransactionDecodedOperationBodyCreateAccount'
        changeTrust:
          $ref: '#/components/schemas/StellarTransactionDecodedOperationBodyChangeTrust'
        sep41Payment:
          $ref: '#/components/schemas/StellarTransactionDecodedOperationBodySEP41Payment'
        sep41TokenApproval:
          $ref: '#/components/schemas/StellarTransactionDecodedOperationBodySEP41TokenApproval'
    v2SolanaSerializedTransaction:
      type: object
      properties:
        network:
          type: string
          example: networks/solana-mainnet
          description: 'The resource name of the network of the transaction.


            Format: `networks/{network_id}`.'
        rawTransaction:
          type: string
          format: byte
          description: 'The full transaction payload serialized.


            The message and signatures, encoded in base64 format.'
        publish:
          type: boolean
          description: 'Set to true if you wish for Utila to automatically broadcast the transaction after it is signed. Default: true.'
        replaceBlockhash:
          type: boolean
          description: If set to true, the transaction recent blockhash will be replaced with the most recent blockhash before signing.
        tryReplaceBlockhash:
          type: boolean
          description: 'If set to true, Utila will check whether the transaction can have its blockhash replaced automatically.

            The blockhash will be replaced if the transaction does not use a durable nonce AND all signers

            of the transaction are wallets in the current vault.

            If the conditions are met, behaves as if `replace_blockhash` was set to true.'
      required:
      - network
      - rawTransaction
    apiv2EVMTransaction:
      type: object
      properties:
        network:
          type

# --- truncated at 32 KB (165 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/utila/refs/heads/main/openapi/utila-transactions-api-openapi.yml