---
title: "Predict Batch Transaction"
method: POST
path: "/api/v1/batch-transactions/predict"
tags: ["Batch Transactions"]
---

# Predict Batch Transaction

`POST /api/v1/batch-transactions/predict`

Simulate the batch of transactions and show changes in
token balances, in addition to the fee estimation
<br>
Batch transactions are currently supported only on Solana.

## Request body

- union
  - PredictBatchSolanaTransactionRequest
    - `should_run_policy_check` boolean — Should run a policy check
    - `vault_id` string, uuid, required — The unique identifier of the vault.
    - `note` string — An optional transaction note.
    - `type` 'solana_transaction', required — The type of the transaction.
    - `details` BatchSolanaTransactionRequestDetails, required
      - `fee` union — The fee configuration for the transaction.
        - SolanaCustomFeeRequest
          - `type` 'custom', required
          - `priority_fee` string — The priority fee to use in the transaction (In lamports).
          - `unit_price` string — The unit price to use in the transaction (In microlamports).
        - SolanaPriorityFeeRequest
          - `type` 'priority', required
          - `priority_level` 'low' | 'medium' | 'high', required
      - `type` 'solana_raw_transaction', required — A Solana raw transaction is for any operation.
      - `fail_on_prediction_failure` boolean — `True` if the request should fail in case simulation failed, `False` otherwise. <br> In case simulation has failed upon continuation, the expected result of the transaction will be partial and policy will be applied on information that can be extracted statically from the transaction only. This might result in falling back to the default policy rule.
      - `skip_simulation` boolean — `True` to create a transaction without prediction, `False` otherwise. <br> In case of skipping simulation, the `simulation_status` will be `skipped` and the `expected_result` of the transaction will be empty. The policy will be applied on information that can be extracted statically from the transaction only. This might result in falling back to the default policy rule. <br> Note, it is recommended to use the default setting for this field and to turn off `fail_on_prediction_failure` instead - unless you wish to save time by omitting the prediction phase entirely.
      - `chain` 'solana_mainnet' | 'solana_devnet' | 'solana_eclipse_mainnet' | 'solana_fogo_mainnet' | 'solana_fogo_testnet', required
      - `transactions` BatchSolanaTransactionInstanceDetails[], required — Details of the transactions in the batch.
        - `version` 'legacy' | 'v0', required
        - `instructions` SolanaCompiledInstructionRequest[], required — The instructions of the transaction.
          - `program_index` integer, required — The program index.
          - `data` string, required — The instruction data in Base64 format.
          - `account_indexes` integer[], required — The indexes of the instruction accounts in the transaction accounts list.
        - `accounts` SolanaTransactionAccountRequest[], required — Accounts used in the transaction.
          - `address` string, required — The address of the account.
          - `writable` boolean, required — Indicates if this account is writable in the context of the transaction.
          - `signer` boolean, required — Indicates if this account is a signer of the transaction.
          - `ephemeral_key` string — A 64-byte Solana secret key of the account, encoded in base-64.
        - `address_table_lookups` SolanaMessageAddressTableLookupRequest[], required — Lookup tables of accounts used in the transaction.
          - `account_key` string, required — The address of the lookup table.
          - `writable_indexes` integer[], required — Indexes of writable accounts in the lookup table.
          - `readonly_indexes` integer[], required — Indexes of read-only accounts in the lookup table.
        - `signatures` SolanaTransactionSignaturesRequest[] — Any partial signatures on the transaction.
          - `data` string — Signature on the data, encoded in base64 format.
        - `recent_blockhash` string — The transaction nonce (a recently processed blockhash).
  - PredictBatchUtxoDlcTransactionRequest
    - `should_run_policy_check` boolean — Should run a policy check
    - `vault_id` string, uuid, required — The unique identifier of the vault.
    - `note` string — An optional transaction note.
    - `type` 'utxo_dlc_transaction', required — The type of the transaction.
    - `details` BatchDlcTransactionRequestDetails, required
      - `funding_transaction` TransactionDetailsUtxoDlcRequest, required
        - `psbt_raw_data` string, required — Partially signed bitcoin transaction data encoded as a hex string.
        - `sender` UtxoAddress
          - `type` 'utxo', required
          - `address` string, required — The UTXO string address.
          - `address_type` 'legacy' | 'p2sh' | 'segwit' | 'taproot' | 'merkleroot', required
          - `chain` UtxoChain, required
            - `chain_type` 'utxo', required — The type of the chain.
            - `unique_id` 'bitcoin_mainnet' | 'bitcoin_testnet' | 'bitcoin_testnet_v4' | 'dogecoin_mainnet' | 'bitcoin_cash_mainnet' | 'pearl_testnet' | 'pearl_mainnet', required
        - `signer` string — The signer on the inputs.
        - `inputs` PsbtInput[] — Describes how to sign each input.
          - `index` integer, required — The input index to sign on.
          - `signer_identity` union, required
            - PsbtSignerIdentityAddress
              - …
            - PsbtSignerIdentityPublicKey
              - …
          - `sighash_types` integer[] — Flags that describe how to sign.
          - `disable_tweak_signer` boolean — Disable tweaking of taproot public key.
      - `refund_transaction` TransactionDetailsUtxoDlcRequest, required
        - `psbt_raw_data` string, required — Partially signed bitcoin transaction data encoded as a hex string.
        - `sender` UtxoAddress
          - `type` 'utxo', required
          - `address` string, required — The UTXO string address.
          - `address_type` 'legacy' | 'p2sh' | 'segwit' | 'taproot' | 'merkleroot', required
          - `chain` UtxoChain, required
            - `chain_type` 'utxo', required — The type of the chain.
            - `unique_id` 'bitcoin_mainnet' | 'bitcoin_testnet' | 'bitcoin_testnet_v4' | 'dogecoin_mainnet' | 'bitcoin_cash_mainnet' | 'pearl_testnet' | 'pearl_mainnet', required
        - `signer` string — The signer on the inputs.
        - `inputs` PsbtInput[] — Describes how to sign each input.
          - `index` integer, required — The input index to sign on.
          - `signer_identity` union, required
            - PsbtSignerIdentityAddress
              - …
            - PsbtSignerIdentityPublicKey
              - …
          - `sighash_types` integer[] — Flags that describe how to sign.
          - `disable_tweak_signer` boolean — Disable tweaking of taproot public key.
      - `cet_transactions` TransactionDetailsUtxoCetRequest[], required
        - `psbt_raw_data` string, required — Partially signed bitcoin transaction data encoded as a hex string.
        - `sender` UtxoAddress
          - `type` 'utxo', required
          - `address` string, required — The UTXO string address.
          - `address_type` 'legacy' | 'p2sh' | 'segwit' | 'taproot' | 'merkleroot', required
          - `chain` UtxoChain, required
            - `chain_type` 'utxo', required — The type of the chain.
            - `unique_id` 'bitcoin_mainnet' | 'bitcoin_testnet' | 'bitcoin_testnet_v4' | 'dogecoin_mainnet' | 'bitcoin_cash_mainnet' | 'pearl_testnet' | 'pearl_mainnet', required
        - `signer` string — The signer on the inputs.
        - `adaptor_point` string, required — The adaptor point for the DLC CET transaction.

## Response `200`

Successful Response

- union
  - PredictedBatchSolanaTransaction
    - `policy_match` PolicyMatch
      - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
      - `rule_id` string, uuid, required — The unique identifier of the rule.
      - `rule_name` string, required — The name of the rule.
      - `action_type` 'allow' | 'block' | 'require_approval', required
    - `matched_policies` PolicyMatch[], required — List of policies matched by the transactions in the batch.
      - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
      - `rule_id` string, uuid, required — The unique identifier of the rule.
      - `rule_name` string, required — The name of the rule.
      - `action_type` 'allow' | 'block' | 'require_approval', required
    - `approval_request` ApprovalRequest — Represents an approval request for an action in the Fordefi platform
      - `state` 'created' | 'approved' | 'insufficient_approvers' | 'auto_approved' | 'failed', required — Represents the whole approval request state
      - `required_groups` integer, required — The number of required approval groups.
      - `approval_groups` ApprovalRequestGroup[], required — A list of the possible approvers from different groups.
        - `quorum_size` integer, required — The number of approvers required to approve the transaction.
        - `approvers` RequestApprover[], required — A list of the possible approvers.
          - `user` union, required
            - PersonRef
              - …
            - ApiUserRef
              - …
          - `modified_at` string, date-time, required — The date and time when this approval was modified.
          - `decision` string — The decision of the approver.
          - `state` 'pending' | 'approved' | 'unauthorized' | 'not_participated', required — Represents an approval state of a single approver
      - `error_message` string — The error message if the request failed.
    - `risks` TransactionRisk[], required — The list of risks associated with this transaction.
      - `type` 'transfer_to_erc20_contract' | 'organization_not_interacted_with_address' | 'vault_not_interacted_with_address' | 'allowance_to_eoa' | 'unlimited_allowance' | 'contract_not_verified' | 'bridge_dest_differ_from_sender' | 'nft_approve_for_all' | 'missing_simulation' | 'unsupported_simulation' | 'post_conditions_allow_mode' | 'safe_sensitive_operation', required
      - `severity` 'low' | 'medium' | 'high', required
      - `title` string, required — The title of the risk.
      - `description` string, required — A detailed description of the risk.
    - `note` string — An optional transaction note.
    - `tx_policy_explanation_id` string, uuid — The id of the transaction policy explanation produced for this prediction, if any.
    - `aml_policy_match` AmlPolicyMatchOutgoing
      - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
      - `rule_id` string, uuid, required — The unique identifier of the rule.
      - `rule_name` string, required — The name of the rule.
      - `action_type` 'allow' | 'block' | 'require_approval' | 'skip', required
    - `aml_results` AmlResults
      - `scan_status` 'error' | 'timeout' | 'skipped' | 'completed' | 'unsupported_chain' | 'pending', required
      - `error_message` string — The error message if the scan failed.
      - `scan_results` ChainalysisScanResult
        - `type` 'chainalysis', required — The type of the policy.
        - `alerts` ChainalysisAlert[], required — The list of alerts.
          - `category` Category, required
            - `id` integer, required — The category ID.
            - `name` string, required — The category name.
          - `risk_rating` 'low' | 'medium' | 'high' | 'severe', required
          - `exposure_type` 'direct' | 'indirect', required
          - `service` string — The name of the service as defined by Chainalysis. If null returns, Chainalysis has not yet identified the service's name.
        - `external_id` string, uuid, required — A unique identifier of the scan.
    - `simulation_status_result` SimulationStatusResult
      - `simulation_status` 'success' | 'failed' | 'reverted' | 'skipped'
      - `details` string, required — Details about transaction reversion if occurred.
    - `expected_result` SolanaTransactionResult, required
      - `reversion` SolanaReversion, required
        - `state` 'not_reverted' | 'unknown_revert' | 'contract_asserted' | 'insufficient_funds_gas_and_value' | 'insufficient_funds_for_rent', required
        - `reason` string — The reason for the reversion (additional information).
      - `transaction_error` string — The description of the error of the transaction.
      - `enriched_fee` SolanaFee, required
        - `priority_level` 'custom' | 'low' | 'medium' | 'high', required
        - `base_fee` string, required — The base fee of the transaction (in lamports).
        - `priority_fee` string, required — The priority fee of the transaction (in lamports).
        - `unit_price` string — The unit price of the transaction (in microlamports).
        - `fee` string, required — The total fee of the transaction (in lamports).
        - `fee_type` 'jito' | 'priority_fee', required
        - `priced_asset` PricedAsset, required
          - `type` 'asset_price', required
          - `asset_info` AssetInfo, required
            - `id` string, uuid, required — The asset ID.
            - `asset_identifier` union, required
              - …
            - `name` string, required — The name of the asset.
            - `symbol` string, required — The symbol (ticker) of the asset.
            - `decimals` integer, required
            - `verified` boolean, required — `True` if this asset is verified by Fordefi, `False` otherwise.
            - `metadata_uri` string — The URI of the asset metadata.
            - `is_spam` boolean, required — `True` if this asset is spam, `False` otherwise.
            - `logo_url` string, uri — The URL of the asset logo.
            - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the asset.
            - `issuer_name` string — Best-effort display name of the issuer
          - `price` Price — Price represents a price in a given FiatCurrency.
            - `price` string, required — The price in the given fiat currency.
            - `price_float` string, required — The absolute price in the given fiat currency. When is_negative is true the asset's value is the negative of this (e.g. a debt token).
            - `is_negative` boolean — Whether the asset's value is negative (e.g. a debt token). price_float holds the absolute value.
            - `fiat_currency` FiatCurrency, required
              - …
      - `effects` SolanaEffects, required
        - `balance_changes` SolanaBalanceChangeEffect[], required — The aggregated balance changes of addresses.
          - `priced_asset` PricedAsset, required
            - `type` 'asset_price', required
            - `asset_info` AssetInfo, required
              - …
            - `price` Price — Price represents a price in a given FiatCurrency.
              - …
          - `diff` string, required — The amount of that was added to or deducted from the owner's balance. If the amount was deducted, the value is negative; if the amount was added, the value is positive.
          - `address` EnrichedSolanaAddress, required
            - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
              - …
            - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
            - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
              - …
            - `type` 'solana', required
            - `address` string, required — The Solana address represented in Base58 format.
            - `contract` SolanaContractMetadata
              - …
        - `transfers` SolanaTransferEffect[], required — The transfer events of the transaction.
          - `priced_asset` PricedAsset, required
            - `type` 'asset_price', required
            - `asset_info` AssetInfo, required
              - …
            - `price` Price — Price represents a price in a given FiatCurrency.
              - …
          - `amount` string, required — The amount of the transfer.
          - `from` EnrichedSolanaAddress, required
            - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
              - …
            - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
            - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
              - …
            - `type` 'solana', required
            - `address` string, required — The Solana address represented in Base58 format.
            - `contract` SolanaContractMetadata
              - …
          - `to` EnrichedSolanaAddress, required
            - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
              - …
            - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
            - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
              - …
            - `type` 'solana', required
            - `address` string, required — The Solana address represented in Base58 format.
            - `contract` SolanaContractMetadata
              - …
        - `allowances` SolanaAllowanceEffect[], required — Allowances set or modified as a result of the transaction
          - `priced_asset` PricedAsset, required
            - `type` 'asset_price', required
            - `asset_info` AssetInfo, required
              - …
            - `price` Price — Price represents a price in a given FiatCurrency.
              - …
          - `amount` string, required — The amount of the transfer.
          - `owner` EnrichedSolanaAddress, required
            - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
              - …
            - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
            - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
              - …
            - `type` 'solana', required
            - `address` string, required — The Solana address represented in Base58 format.
            - `contract` SolanaContractMetadata
              - …
          - `spender` EnrichedSolanaAddress, required
            - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
              - …
            - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
            - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
              - …
            - `type` 'solana', required
            - `address` string, required — The Solana address represented in Base58 format.
            - `contract` SolanaContractMetadata
              - …
      - `instruction_error` InstructionError
        - `error_type` string, required — The type of the error of the instruction.
        - `instruction_index` integer, required — The index of the instruction.
        - `error_description` string — The description of the error of the instruction.
    - `chain` EnrichedSolanaChain, required
      - `chain_type` 'solana', required — The type of the chain.
      - `unique_id` 'solana_mainnet' | 'solana_devnet' | 'solana_eclipse_mainnet' | 'solana_fogo_mainnet' | 'solana_fogo_testnet', required
      - `name` string, required — The full blockchain name.
      - `native_currency_symbol` string, required — The native currency symbol.
      - `native_currency_name` string, required — The native currency name.
      - `blockchain_explorer` BlockchainExplorer — A blockchain explorer entry point.
        - `transaction_url` string, uri, required
        - `address_url` string, uri, required
        - `root_url` string, uri, required
        - `transaction_format_url` string, uri
        - `address_format_url` string, uri
        - `asset_format_url` string, uri
      - `logo_url` string, uri, required — The logo URL of the chain.
      - `is_testnet` boolean, required — Whether the chain is on a testnet.
      - `is_enabled` boolean, required — Whether the chain is enabled.
    - `solana_transaction_type_details` union, required — Details of the Solana transaction based on its type.
      - SolanaNativeTransferDetails
        - `type` 'native_transfer', required — A transaction involving the transfer of native currency from one address to another.
        - `sender` EnrichedSolanaAddress, required
          - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
            - `id` string, uuid, required — The unique identifier of the vault in the Fordefi platform.
            - `vault_group_id` string, uuid — The unique identifier of the vault group this vault belongs to.
            - `vault_group_ids` string[], required — The unique identifiers of the vault groups this vault belongs to.
            - `name` string, required — The name of the vault.
            - `address` string — The address of the vault.
            - `state` 'active' | 'archived' | 'deleted' | 'pending' | 'aborted', required
            - `type` 'aptos' | 'arch' | 'black_box' | 'canton' | 'cosmos' | 'evm' | 'safe' | 'solana' | 'stacks' | 'starknet' | 'stellar' | 'sui' | 'ton' | 'tron' | 'utxo' | 'exchange', required
            - `logo_url` string, uri — The logo of the vault. Supported for exchange and Safe vaults.
            - `end_user` EndUserRef
              - …
            - `is_external_signer` boolean — Whether the vault uses an externally imported key (external signer).
          - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
          - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
            - `id` string, uuid, required — The unique identifier of the address book contact in the Fordefi platform.
            - `name` string, required — The name of the contact.
            - `address_ref` union, required
              - …
          - `type` 'solana', required
          - `address` string, required — The Solana address represented in Base58 format.
          - `contract` SolanaContractMetadata
            - `name` string — The name of the contract.
            - `dapp` Dapp
              - …
            - `is_verified` boolean, required — `True` if the contract is verified, `False` otherwise.
            - `token` SplToken
              - …
        - `recipient` EnrichedSolanaAddress, required
          - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
            - `id` string, uuid, required — The unique identifier of the vault in the Fordefi platform.
            - `vault_group_id` string, uuid — The unique identifier of the vault group this vault belongs to.
            - `vault_group_ids` string[], required — The unique identifiers of the vault groups this vault belongs to.
            - `name` string, required — The name of the vault.
            - `address` string — The address of the vault.
            - `state` 'active' | 'archived' | 'deleted' | 'pending' | 'aborted', required
            - `type` 'aptos' | 'arch' | 'black_box' | 'canton' | 'cosmos' | 'evm' | 'safe' | 'solana' | 'stacks' | 'starknet' | 'stellar' | 'sui' | 'ton' | 'tron' | 'utxo' | 'exchange', required
            - `logo_url` string, uri — The logo of the vault. Supported for exchange and Safe vaults.
            - `end_user` EndUserRef
              - …
            - `is_external_signer` boolean — Whether the vault uses an externally imported key (external signer).
          - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
          - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
            - `id` string, uuid, required — The unique identifier of the address book contact in the Fordefi platform.
            - `name` string, required — The name of the contact.
            - `address_ref` union, required
              - …
          - `type` 'solana', required
          - `address` string, required — The Solana address represented in Base58 format.
          - `contract` SolanaContractMetadata
            - `name` string — The name of the contract.
            - `dapp` Dapp
              - …
            - `is_verified` boolean, required — `True` if the contract is verified, `False` otherwise.
            - `token` SplToken
              - …
        - `is_internal` boolean — Is this transfer an internal transfer between two vaults. None if the transaction is incoming.
      - SolanaTokenTransferDetails
        - `type` 'token_transfer', required — A transaction involving the transfer of native currency from one address to another.
        - `sender` EnrichedSolanaAddress, required
          - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
            - `id` string, uuid, required — The unique identifier of the vault in the Fordefi platform.
            - `vault_group_id` string, uuid — The unique identifier of the vault group this vault belongs to.
            - `vault_group_ids` string[], required — The unique identifiers of the vault groups this vault belongs to.
            - `name` string, required — The name of the vault.
            - `address` string — The address of the vault.
            - `state` 'active' | 'archived' | 'deleted' | 'pending' | 'aborted', required
            - `type` 'aptos' | 'arch' | 'black_box' | 'canton' | 'cosmos' | 'evm' | 'safe' | 'solana' | 'stacks' | 'starknet' | 'stellar' | 'sui' | 'ton' | 'tron' | 'utxo' | 'exchange', required
            - `logo_url` string, uri — The logo of the vault. Supported for exchange and Safe vaults.
            - `end_user` EndUserRef
              - …
            - `is_external_signer` boolean — Whether the vault uses an externally imported key (external signer).
          - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
          - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
            - `id` string, uuid, required — The unique identifier of the address book contact in the Fordefi platform.
            - `name` string, required — The name of the contact.
            - `address_ref` union, required
              - …
          - `type` 'solana', required
          - `address` string, required — The Solana address represented in Base58 format.
          - `contract` SolanaContractMetadata
            - `name` string — The name of the contract.
            - `dapp` Dapp
              - …
            - `is_verified` boolean, required — `True` if the contract is verified, `False` otherwise.
            - `token` SplToken
              - …
        - `recipient` EnrichedSolanaAddress, required
          - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
            - `id` string, uuid, required — The unique identifier of the vault in the Fordefi platform.
            - `vault_group_id` string, uuid — The unique identifier of the vault group this vault belongs to.
            - `vault_group_ids` string[], required — The unique identifiers of the vault groups this vault belongs to.
            - `name` string, required — The name of the vault.
            - `address` string — The address of the vault.
            - `state` 'active' | 'archived' | 'deleted' | 'pending' | 'aborted', required
            - `type` 'aptos' | 'arch' | 'black_box' | 'canton' | 'cosmos' | 'evm' | 'safe' | 'solana' | 'stacks' | 'starknet' | 'stellar' | 'sui' | 'ton' | 'tron' | 'utxo' | 'exchange', required
            - `logo_url` string, uri — The logo of the vault. Supported for exchange and Safe vaults.
            - `end_user` EndUserRef
              - …
            - `is_external_signer` boolean — Whether the vault uses an externally imported key (external signer).
          - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
          - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
            - `id` string, uuid, required — The unique identifier of the address book contact in the Fordefi platform.
            - `name` string, required — The name of the contact.
            - `address_ref` union, required
              - …
          - `type` 'solana', required
          - `address` string, required — The Solana address represented in Base58 format.
          - `contract` SolanaContractMetadata
            - `name` string — The name of the contract.
            - `dapp` Dapp
              - …
            - `is_verified` boolean, required — `True` if the contract is verified, `False` otherwise.
            - `token` SplToken
              - …
        - `is_internal` boolean — Is this transfer an internal transfer between two vaults. None if the transaction is incoming.
      - SolanaRawTransactionDetails
        - `type` 'raw_transaction', required — A transaction capable of any operation.
        - `recipients` EnrichedSolanaAddress[], required — The recipients of the tokens.
          - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
            - `id` string, uuid, required — The unique identifier of the vault in the Fordefi platform.
            - `vault_group_id` string, uuid — The unique identifier of the vault group this vault belongs to.
            - `vault_group_ids` string[], required — The unique identifiers of the vault groups this vault belongs to.
            - `name` string, required — The name of the vault.
            - `address` string — The address of the vault.
            - `state` 'active' | 'archived' | 'deleted' | 'pending' | 'aborted', required
            - `type` 'aptos' | 'arch' | 'black_box' | 'canton' | 'cosmos' | 'evm' | 'safe' | 'solana' | 'stacks' | 'starknet' | 'stellar' | 'sui' | 'ton' | 'tron' | 'utxo' | 'exchange', required
            - `logo_url` string, uri — The logo of the vault. Supported for exchange and Safe vaults.
            - `end_user` EndUserRef
              - …
            - `is_external_signer` boolean — Whether the vault uses an externally imported key (external signer).
          - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
          - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
            - `id` string, uuid, required — The unique identifier of the address book contact in the Fordefi platform.
            - `name` string, required — The name of the contact.
            - `address_ref` union, required
              - …
          - `type` 'solana', required
          - `address` string, required — The Solana address represented in Base58 format.
          - `contract` SolanaContractMetadata
            - `name` string — The name of the contract.
            - `dapp` Dapp
              - …
            - `is_verified` boolean, required — `True` if the contract is verified, `False` otherwise.
            - `token` SplToken
              - …
      - PredictedSolanaSpotSwapDetails
        - `type` 'spot_swap', required — A Solana spot swap transaction is for swapping between two assets.
        - `slippage_bps` string, required — The slippage in basis points.
        - `price_impact_pct` string, required — The price impact in percentage.
        - `rate` string, required — The rate of the swap.
        - `broadcast_mode` 'priority_fee' | 'jito', required
        - `input_asset` AssetInfo, required
          - `id` string, uuid, required — The asset ID.
          - `asset_identifier` union, required
            - AptosAssetIdentifier
              - …
            - ArchAssetIdentifier
              - …
            - CantonAssetIdentifier
              - …
            - CosmosAssetIdentifier
              - …
            - EvmAssetIdentifier
              - …
            - ExchangeAssetIdentifier
              - …
            - SolanaAssetIdentifier
              - …
            - StacksAssetIdentifier
              - …
            - StellarAssetIdentifier
              - …
            - StarknetAssetIdentifier
              - …
            - SuiAssetIdentifier
              - …
            - TonAssetIdentifier
              - …
            - TronAssetIdentifier
              - …
            - UtxoAssetIdentifier
              - …
          - `name` string, required — The name of the asset.
          - `symbol` string, required — The symbol (ticker) of the asset.
          - `decimals` integer, required
          - `verified` boolean, required — `True` if this asset is verified by Fordefi, `False` otherwise.
          - `metadata_uri` string — The URI of the asset metadata.
          - `is_spam` boolean, required — `True` if this asset is spam, `False` otherwise.
          - `logo_url` string, uri — The URL of the asset logo.
          - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the asset.
          - `issuer_name` string — Best-effort display name of the issuer
        - `output_asset` AssetInfo, required
          - `id` string, uuid, required — The asset ID.
          - `asset_identifier` union, required
            - AptosAssetIdentifier
              - …
            - ArchAssetIdentifier
              - …
            - CantonAssetIdentifier
              - …
            - CosmosAssetIdentifier
              - …
            - EvmAssetIdentifier
              - …
            - ExchangeAssetIdentifier
              - …
            - SolanaAssetIdentifier
              - …
            - StacksAssetIdentifier
              - …
            - StellarAssetIdentifier
              - …
            - StarknetAssetIdentifier
              - …
            - SuiAssetIdentifier
              - …
            - TonAssetIdentifier
              - …
            - TronAssetIdentifier
              - …
            - UtxoAssetIdentifier
              - …
          - `name` string, required — The name of the asset.
          - `symbol` string, required — The symbol (ticker) of the asset.
          - `decimals` integer, required
          - `verified` boolean, required — `True` if this asset is verified by Fordefi, `False` otherwise.
          - `metadata_uri` string — The URI of the asset metadata.
          - `is_spam` boolean, required — `True` if this asset is spam, `False` otherwise.
          - `logo_url` string, uri — The URL of the asset logo.
          - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the asset.
          - `issuer_name` string — Best-effort display name of the issuer
        - `recipients` EnrichedSolanaAddress[], required — The recipients of the tokens.
          - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
            - `id` string, uuid, required — The unique identifier of the vault in the Fordefi platform.
            - `vault_group_id` string, uuid — The unique identifier of the vault group this vault belongs to.
            - `vault_group_ids` string[], required — The unique identifiers of the vault groups this vault belongs to.
            - `name` string, required — The name of the vault.
            - `address` string — The address of the vault.
            - `state` 'active' | 'archived' | 'deleted' | 'pending' | 'aborted', required
            - `type` 'aptos' | 'arch' | 'black_box' | 'canton' | 'cosmos' | 'evm' | 'safe' | 'solana' | 'stacks' | 'starknet' | 'stellar' | 'sui' | 'ton' | 'tron' | 'utxo' | 'exchange', required
            - `logo_url` string, uri — The logo of the vault. Supported for exchange and Safe vaults.
            - `end_user` EndUserRef
              - …
            - `is_external_signer` boolean — Whether the vault uses an externally imported key (external signer).
          - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
          - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
            - `id` string, uuid, required — The unique identifier of the address book contact in the Fordefi platform.
            - `name` string, required — The name of the contact.
            - `address_ref` union, required
              - …
          - `type` 'solana', required
          - `address` string, required — The Solana address represented in Base58 format.
          - `contract` SolanaContractMetadata
            - `name` string — The name of the contract.
            - `dapp` Dapp
              - …
            - `is_verified` boolean, required — `True` if the contract is verified, `False` otherwise.
            - `token` SplToken
              - …
        - `jito_suggested_fees` JitoSolanaSuggestedFees, required
          - `type` 'solana', required — The type of the chain.
          - `chain_unique_id` 'solana_mainnet' | 'solana_devnet' | 'solana_eclipse_mainnet' | 'solana_fogo_mainnet' | 'solana_fogo_testnet', required
          - `base_fee` string, required — The base fee paid for the signatures in the transaction, denominated in lamports.
          - `low` string, required — The low suggested fee per byte, denominated in lamports.
          - `medium` string, required — The medium suggested fee per byte, denominated in lamports.
          - `high` string, required — The high suggested fee per byte, denominated in lamports.
          - `fee_type` 'jito', required — The type of the fee.
    - `sender` EnrichedSolanaAddress, required
      - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
        - `id` string, uuid, required — The unique identifier of the vault in the Fordefi platform.
        - `vault_group_id` string, uuid — The unique identifier of the vault group this vault belongs to.
        - `vault_group_ids` string[], required — The unique identifiers of the vault groups this vault belongs to.
        - `name` string, required — The name of the vault.
        - `address` string — The address of the vault.
        - `state` 'active' | 'archived' | 'deleted' | 'pending' | 'aborted', required
        - `type` 'aptos' | 'arch' | 'black_box' | 'canton' | 'cosmos' | 'evm' | 'safe' | 'solana' | 'stacks' | 'starknet' | 'stellar' | 'sui' | 'ton' | 'tron' | 'utxo' | 'exchange', required
        - `logo_url` string, uri — The logo of the vault. Supported for exchange and Safe vaults.
        - `end_user` EndUserRef
          - `id` string, uuid, required — The unique identifier of the user in the Fordefi platform.
          - `user_type` 'end_user', required — The type of the user.
          - `external_id` string, required — External id of the user.
          - `state` 'active' | 'deleted', required — The state of the user.
        - `is_external_signer` boolean — Whether the vault uses an externally imported key (external signer).
      - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
      - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
        - `id` string, uuid, required — The unique identifier of the address book contact in the Fordefi platform.
        - `name` string, required — The name of the contact.
        - `address_ref` union, required
          - AptosAddressBookContactAddressRef
            - `chain_type` 'aptos', required — The type of the chain.
            - `address` string, required — The address on the Aptos chain.
            - `chains` AptosChain[], required — The chains that the contact belongs to.
              - …
          - ArchAddressBookContactAddressRef
            - `chain_type` 'arch', required — The type of the chain.
            - `address` string, required — The address on the Arch chain.
            - `chains` ArchChain[], required — The chains the contact belongs to.
              - …
          - CantonAddressBookContactAddressRef
            - `chain_type` 'canton', required — The type of the chain.
            - `address` string, required — The party id on the Canton chain.
            - `chains` CantonChain[], required — The chains the contact belongs to.
              - …
            - `memo` string — Memo is an additional address feature used for identifying a recipient.
          - CosmosAddressBookContactAddressRef
            - `chain_type` 'cosmos', required — The type of the chain.
            - `address` string, required — The address on the cosmos chain.
            - `chain` CosmosChain, required
              - …
            - `memo` string — Memo is an additional address feature used for identifying a recipient.
          - EVMAddressBookContactAddressRef
            - `chain_type` 'evm', required — The type of the chain.
            - `address` string, required — The address of the contact.
            - `chains` EvmChain[], required — The chains the contact belongs to.
              - …
          - SolanaAddressBookContactAddressRef
            - `chain_type` 'solana', required — The type of the chain.
            - `address` string, required — The address on the Solana chain.
            - `chains` SolanaChain[], required — The chains the contact belongs to.
              - …
          - StacksAddressBookContactAddressRef
            - `chain_type` 'stacks', required — The type of the chain.
            - `address` string, required — The address on the Stacks chain.
            - `chains` StacksChain[], required — The chains the contact belongs to.
              - …
            - `memo` string — Memo is an additional address feature used for identifying a recipient.
          - StarknetAddressBookContactAddressRef
            - `chain_type` 'starknet', required — The type of the chain.
            - `address` string, required — The address on the Starknet chain.
            - `chains` StarknetChain[], required — The chains the contact belongs to.
              - …
          - StellarAddressBookContactAddressRef
            - `chain_type` 'stellar', required — The type of the chain.
            - `address` string, required — The address on the Stellar chain.
            - `chains` StellarChain[], required — The chains the contact belongs to.
              - …
            - `memo` string — Memo is an additional address feature used for identifying a recipient.
          - SuiAddressBookContactAddressRef
            - `chain_type` 'sui', required — The type of the chain.
            - `address` string, required — The address on the Sui chain.
            - `chains` SuiChain[], required — The chains the contact belongs to.
              - …
          - TonAddressBookContactAddressRef
            - `chain_type` 'ton', required — The type of the chain.
            - `address` string, required — The address on the TON chain.
            - `chains` TonChain[], required — The chains the contact belongs to.
              - …
            - `comment` string — Comment is an additional address feature used for identifying a recipient.
          - TronAddressBookContactAddressRef
            - `chain_type` 'tron', required — The type of the chain.
            - `address` string, required — The address on the TRON chain.
            - `chains` TronChain[], required — The chains the contact belongs to.
              - …
            - `memo` string — Memo is an additional address feature used for identifying a recipient.
          - UtxoAddressBookContactAddressRef
            - `chain_type` 'utxo', required — The type of the chain.
            - `address` string, required — The address on the utxo chain.
            - `chain` UtxoChain, required
              - …
      - `type` 'solana', required
      - `address` string, required — The Solana address represented in Base58 format.
      - `contract` SolanaContractMetadata
        - `name` string — The name of the contract.
        - `dapp` Dapp
          - `id` string, uuid, required — The unique identifier of this DApp.
          - `name` string, required — The name of the DApp.
          - `url` string, uri — The URL of the DApp.
          - `logo_url` string, uri — The logo URL of the DApp.
          - `contracts_count` integer — The number of contracts associated with this DApp.
        - `is_verified` boolean, required — `True` if the contract is verified, `False` otherwise.
        - `token` SplToken
          - `type` 'spl_token', required — The type of the token
          - `address` SolanaAddress, required — Address represents an EVM blockchain address.
            - `type` 'solana', required
            - `chain` SolanaChain, required
              - …
            - `base58_repr` string, required — Base58 representation of the address in the chain.
          - `name` string, required — The token name
          - `symbol` string, required — The token symbol or ticker
          - `decimals` integer, required — The token decimals
          - `logo_url` string, uri — The token logo url
    - `suggested_fees` PrioritySolanaSuggestedFees, required
      - `type` 'solana', required — The type of the chain.
      - `chain_unique_id` 'solana_mainnet' | 'solana_devnet' | 'solana_eclipse_mainnet' | 'solana_fogo_mainnet' | 'solana_fogo_testnet', required
      - `base_fee` string, required — The base fee paid for the signatures in the transaction, denominated in lamports.
      - `low` string, required — The low suggested fee per byte, denominated in lamports.
      - `medium` string, required — The medium suggested fee per byte, denominated in lamports.
      - `high` string, required — The high suggested fee per byte, denominated in lamports.
      - `fee_type` 'priority_fee', required — The type of the fee.
      - `unit_prices` SolanaUnitPrices, required
        - `limit` string, required — The compute unit limit.
        - `low` string, required — The low suggested fee per byte, denominated in microlamports.
        - `medium` string, required — The medium suggested fee per byte, denominated in microlamports.
        - `high` string, required — The high suggested fee per byte, denominated in microlamports.
    - `instructions` SolanaCompiledInstruction[], required — The instructions of the transaction.
      - `program_index` integer, required — The program index.
      - `data` string, required — The instruction data in Base64 format.
      - `account_indexes` integer[], required — The indexes of the instruction accounts in the transaction accounts list.
      - `program` EnrichedSolanaAddress, required
        - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
          - `id` string, uuid, required — The unique identifier of the vault in the Fordefi platform.
          - `vault_group_id` string, uuid — The unique identifier of the vault group this vault belongs to.
          - `vault_group_ids` string[], required — The unique identifiers of the vault groups this vault belongs to.
          - `name` string, required — The name of the vault.
          - `address` string — The address of the vault.
          - `state` 'active' | 'archived' | 'deleted' | 'pending' | 'aborted', required
          - `type` 'aptos' | 'arch' | 'black_box' | 'canton' | 'cosmos' | 'evm' | 'safe' | 'solana' | 'stacks' | 'starknet' | 'stellar' | 'sui' | 'ton' | 'tron' | 'utxo' | 'exchange', required
          - `logo_url` string, uri — The logo of the vault. Supported for exchange and Safe vaults.
          - `end_user` EndUserRef
            - `id` string, uuid, required — The unique identifier of the user in the Fordefi platform.
            - `user_type` 'end_user', required — The type of the user.
            - `external_id` string, required — External id of the user.
            - `state` 'active' | 'deleted', required — The state of the user.
          - `is_external_signer` boolean — Whether the vault uses an externally imported key (external signer).
        - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
        - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
          - `id` string, uuid, required — The unique identifier of the address book contact in the Fordefi platform.
          - `name` string, required — The name of the contact.
          - `address_ref` union, required
            - AptosAddressBookContactAddressRef
              - …
            - ArchAddressBookContactAddressRef
              - …
            - CantonAddressBookContactAddressRef
              - …
            - CosmosAddressBookContactAddressRef
              - …
            - EVMAddressBookContactAddressRef
              - …
            - SolanaAddressBookContactAddressRef
              - …
            - StacksAddressBookContactAddressRef
              - …
            - StarknetAddressBookContactAddressRef
              - …
            - StellarAddressBookContactAddressRef
              - …
            - SuiAddressBookContactAddressRef
              - …
            - TonAddressBookContactAddressRef
              - …
            - TronAddressBookContactAddressRef
              - …
            - UtxoAddressBookContactAddressRef
              - …
        - `type` 'solana', required
        - `address` string, required — The Solana address represented in Base58 format.
        - `contract` SolanaContractMetadata
          - `name` string — The name of the contract.
          - `dapp` Dapp
            - `id` string, uuid, required — The unique identifier of this DApp.
            - `name` string, required — The name of the DApp.
            - `url` string, uri — The URL of the DApp.
            - `logo_url` string, uri — The logo URL of the DApp.
            - `contracts_count` integer — The number of contracts associated with this DApp.
          - `is_verified` boolean, required — `True` if the contract is verified, `False` otherwise.
          - `token` SplToken
            - `type` 'spl_token', required — The type of the token
            - `address` SolanaAddress, required — Address represents an EVM blockchain address.
              - …
            - `name` string, required — The token name
            - `symbol` string, required — The token symbol or ticker
            - `decimals` integer, required — The token decimals
            - `logo_url` string, uri — The token logo url
      - `base58_data` string — The instruction data encoded in Base58 format.
    - `raw_transaction` string — The serialized transaction encoded as a base64 string
    - `was_fee_set_in_request` boolean, required — Whether the priority fee was already set in the request with a ComputeBudget instruction.
    - `fee_payer` EnrichedSolanaAddress
      - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
        - `id` string, uuid, required — The unique identifier of the vault in the Fordefi platform.
        - `vault_group_id` string, uuid — The unique identifier of the vault group this vault belongs to.
        - `vault_group_ids` string[], required — The unique identifiers of the vault groups this vault belongs to.
        - `name` string, required — The name of the vault.
        - `address` string — The address of the vault.
        - `state` 'active' | 'archived' | 'deleted' | 'pending' | 'aborted', required
        - `type` 'aptos' | 'arch' | 'black_box' | 'canton' | 'cosmos' | 'evm' | 'safe' | 'solana' | 'stacks' | 'starknet' | 'stellar' | 'sui' | 'ton' | 'tron' | 'utxo' | 'exchange', required
        - `logo_url` string, uri — The logo of the vault. Supported for exchange and Safe vaults.
        - `end_user` EndUserRef
          - `id` string, uuid, required — The unique identifier of the user in the Fordefi platform.
          - `user_type` 'end_user', required — The type of the user.
          - `external_id` string, required — External id of the user.
          - `state` 'active' | 'deleted', required — The state of the user.
        - `is_external_signer` boolean — Whether the vault uses an externally imported key (external signer).
      - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
      - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
        - `id` string, uuid, required — The unique identifier of the address book contact in the Fordefi platform.
        - `name` string, required — The name of the contact.
        - `address_ref` union, required
          - AptosAddressBookContactAddressRef
            - `chain_type` 'aptos', required — The type of the chain.
            - `address` string, required — The address on the Aptos chain.
            - `chains` AptosChain[], required — The chains that the contact belongs to.
              - …
          - ArchAddressBookContactAddressRef
            - `chain_type` 'arch', required — The type of the chain.
            - `address` string, required — The address on the Arch chain.
            - `chains` ArchChain[], required — The chains the contact belongs to.
              - …
          - CantonAddressBookContactAddressRef
            - `chain_type` 'canton', required — The type of the chain.
            - `address` string, required — The party id on the Canton chain.
            - `chains` CantonChain[], required — The chains the contact belongs to.
              - …
            - `memo` string — Memo is an additional address feature used for identifying a recipient.
          - CosmosAddressBookContactAddressRef
            - `chain_type` 'cosmos', required — The type of the chain.
            - `address` string, required — The address on the cosmos chain.
            - `chain` CosmosChain, required
              - …
            - `memo` string — Memo is an additional address feature used for identifying a recipient.
          - EVMAddressBookContactAddressRef
            - `chain_type` 'evm', required — The type of the chain.
            - `address` string, required — The address of the contact.
            - `chains` EvmChain[], required — The chains the contact belongs to.
              - …
          - SolanaAddressBookContactAddressRef
            - `chain_type` 'solana', required — The type of the chain.
            - `address` string, required — The address on the Solana chain.
            - `chains` SolanaChain[], required — The chains the contact belongs to.
              - …
          - StacksAddressBookContactAddressRef
            - `chain_type` 'stacks', required — The type of the chain.
            - `address` string, required — The address on the Stacks chain.
            - `chains` StacksChain[], required — The chains the contact belongs to.
              - …
            - `memo` string — Memo is an additional address feature used for identifying a recipient.
          - StarknetAddressBookContactAddressRef
            - `chain_type` 'starknet', required — The type of the chain.
            - `address` string, required — The address on the Starknet chain.
            - `chains` StarknetChain[], required — The chains the contact belongs to.
              - …
          - StellarAddressBookContactAddressRef
            - `chain_type` 'stellar', required — The type of the chain.
            - `address` string, required — The address on the Stellar chain.
            - `chains` StellarChain[], required — The chains the contact belongs to.
              - …
            - `memo` string — Memo is an additional address feature used for identifying a recipient.
          - SuiAddressBookContactAddressRef
            - `chain_type` 'sui', required — The type of the chain.
            - `address` string, required — The address on the Sui chain.
            - `chains` SuiChain[], required — The chains the contact belongs to.
              - …
          - TonAddressBookContactAddressRef
            - `chain_type` 'ton', required — The type of the chain.
            - `address` string, required — The address on the TON chain.
            - `chains` TonChain[], required — The chains the contact belongs to.
              - …
            - `comment` string — Comment is an additional address feature used for identifying a recipient.
          - TronAddressBookContactAddressRef
            - `chain_type` 'tron', required — The type of the chain.
            - `address` string, required — The address on the TRON chain.
            - `chains` TronChain[], required — The chains the contact belongs to.
              - …
            - `memo` string — Memo is an additional address feature used for identifying a recipient.
          - UtxoAddressBookContactAddressRef
            - `chain_type` 'utxo', required — The type of the chain.
            - `address` string, required — The address on the utxo chain.
            - `chain` UtxoChain, required
              - …
      - `type` 'solana', required
      - `address` string, required — The Solana address represented in Base58 format.
      - `contract` SolanaContractMetadata
        - `name` string — The name of the contract.
        - `dapp` Dapp
          - `id` string, uuid, required — The unique identifier of this DApp.
          - `name` string, required — The name of the DApp.
          - `url` string, uri — The URL of the DApp.
          - `logo_url` string, uri — The logo URL of the DApp.
          - `contracts_count` integer — The number of contracts associated with this DApp.
        - `is_verified` boolean, required — `True` if the contract is verified, `False` otherwise.
        - `token` SplToken
          - `type` 'spl_token', required — The type of the token
          - `address` SolanaAddress, required — Address represents an EVM blockchain address.
            - `type` 'solana', required
            - `chain` SolanaChain, required
              - …
            - `base58_repr` string, required — Base58 representation of the address in the chain.
          - `name` string, required — The token name
          - `symbol` string, required — The token symbol or ticker
          - `decimals` integer, required — The token decimals
          - `logo_url` string, uri — The token logo url
    - `type` 'solana_transaction', required — The type of the transaction.
  - PredictedUtxoDlcTransaction
    - `policy_match` PolicyMatch
      - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
      - `rule_id` string, uuid, required — The unique identifier of the rule.
      - `rule_name` string, required — The name of the rule.
      - `action_type` 'allow' | 'block' | 'require_approval', required
    - `matched_policies` PolicyMatch[], required — List of policies matched by the transactions in the batch.
      - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
      - `rule_id` string, uuid, required — The unique identifier of the rule.
      - `rule_name` string, required — The name of the rule.
      - `action_type` 'allow' | 'block' | 'require_approval', required
    - `approval_request` ApprovalRequest — Represents an approval request for an action in the Fordefi platform
      - `state` 'created' | 'approved' | 'insufficient_approvers' | 'auto_approved' | 'failed', required — Represents the whole approval request state
      - `required_groups` integer, required — The number of required approval groups.
      - `approval_groups` ApprovalRequestGroup[], required — A list of the possible approvers from different groups.
        - `quorum_size` integer, required — The number of approvers required to approve the transaction.
        - `approvers` RequestApprover[], required — A list of the possible approvers.
          - `user` union, required
            - PersonRef
              - …
            - ApiUserRef
              - …
          - `modified_at` string, date-time, required — The date and time when this approval was modified.
          - `decision` string — The decision of the approver.
          - `state` 'pending' | 'approved' | 'unauthorized' | 'not_participated', required — Represents an approval state of a single approver
      - `error_message` string — The error message if the request failed.
    - `risks` TransactionRisk[], required — The list of risks associated with this transaction.
      - `type` 'transfer_to_erc20_contract' | 'organization_not_interacted_with_address' | 'vault_not_interacted_with_address' | 'allowance_to_eoa' | 'unlimited_allowance' | 'contract_not_verified' | 'bridge_dest_differ_from_sender' | 'nft_approve_for_all' | 'missing_simulation' | 'unsupported_simulation' | 'post_conditions_allow_mode' | 'safe_sensitive_operation', required
      - `severity` 'low' | 'medium' | 'high', required
      - `title` string, required — The title of the risk.
      - `description` string, required — A detailed description of the risk.
    - `note` string — An optional transaction note.
    - `tx_policy_explanation_id` string, uuid — The id of the transaction policy explanation produced for this prediction, if any.
    - `aml_policy_match` AmlPolicyMatchOutgoing
      - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
      - `rule_id` string, uuid, required — The unique identifier of the rule.
      - `rule_name` string, required — The name of the rule.
      - `action_type` 'allow' | 'block' | 'require_approval' | 'skip', required
    - `aml_results` AmlResults
      - `scan_status` 'error' | 'timeout' | 'skipped' | 'completed' | 'unsupported_chain' | 'pending', required
      - `error_message` string — The error message if the scan failed.
      - `scan_results` ChainalysisScanResult
        - `type` 'chainalysis', required — The type of the policy.
        - `alerts` ChainalysisAlert[], required — The list of alerts.
          - `category` Category, required
            - `id` integer, required — The category ID.
            - `name` string, required — The category name.
          - `risk_rating` 'low' | 'medium' | 'high' | 'severe', required
          - `exposure_type` 'direct' | 'indirect', required
          - `service` string — The name of the service as defined by Chainalysis. If null returns, Chainalysis has not yet identified the service's name.
        - `external_id` string, uuid, required — A unique identifier of the scan.
    - `simulation_status_result` SimulationStatusResult
      - `simulation_status` 'success' | 'failed' | 'reverted' | 'skipped'
      - `details` string, required — Details about transaction reversion if occurred.
    - `type` 'utxo_dlc_transaction', required — The type of the batch.
    - `funding_transaction` PredictedUtxoTransaction, required
      - `policy_match` PolicyMatch
        - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
        - `rule_id` string, uuid, required — The unique identifier of the rule.
        - `rule_name` string, required — The name of the rule.
        - `action_type` 'allow' | 'block' | 'require_approval', required
      - `matched_policies` PolicyMatch[], required — List of policies matched by the transactions in the batch.
        - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
        - `rule_id` string, uuid, required — The unique identifier of the rule.
        - `rule_name` string, required — The name of the rule.
        - `action_type` 'allow' | 'block' | 'require_approval', required
      - `approval_request` ApprovalRequest — Represents an approval request for an action in the Fordefi platform
        - `state` 'created' | 'approved' | 'insufficient_approvers' | 'auto_approved' | 'failed', required — Represents the whole approval request state
        - `required_groups` integer, required — The number of required approval groups.
        - `approval_groups` ApprovalRequestGroup[], required — A list of the possible approvers from different groups.
          - `quorum_size` integer, required — The number of approvers required to approve the transaction.
          - `approvers` RequestApprover[], required — A list of the possible approvers.
            - `user` union, required
              - …
            - `modified_at` string, date-time, required — The date and time when this approval was modified.
            - `decision` string — The decision of the approver.
            - `state` 'pending' | 'approved' | 'unauthorized' | 'not_participated', required — Represents an approval state of a single approver
        - `error_message` string — The error message if the request failed.
      - `risks` TransactionRisk[], required — The list of risks associated with this transaction.
        - `type` 'transfer_to_erc20_contract' | 'organization_not_interacted_with_address' | 'vault_not_interacted_with_address' | 'allowance_to_eoa' | 'unlimited_allowance' | 'contract_not_verified' | 'bridge_dest_differ_from_sender' | 'nft_approve_for_all' | 'missing_simulation' | 'unsupported_simulation' | 'post_conditions_allow_mode' | 'safe_sensitive_operation', required
        - `severity` 'low' | 'medium' | 'high', required
        - `title` string, required — The title of the risk.
        - `description` string, required — A detailed description of the risk.
      - `note` string — An optional transaction note.
      - `tx_policy_explanation_id` string, uuid — The id of the transaction policy explanation produced for this prediction, if any.
      - `aml_policy_match` AmlPolicyMatchOutgoing
        - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
        - `rule_id` string, uuid, required — The unique identifier of the rule.
        - `rule_name` string, required — The name of the rule.
        - `action_type` 'allow' | 'block' | 'require_approval' | 'skip', required
      - `aml_results` AmlResults
        - `scan_status` 'error' | 'timeout' | 'skipped' | 'completed' | 'unsupported_chain' | 'pending', required
        - `error_message` string — The error message if the scan failed.
        - `scan_results` ChainalysisScanResult
          - `type` 'chainalysis', required — The type of the policy.
          - `alerts` ChainalysisAlert[], required — The list of alerts.
            - `category` Category, required
              - …
            - `risk_rating` 'low' | 'medium' | 'high' | 'severe', required
            - `exposure_type` 'direct' | 'indirect', required
            - `service` string — The name of the service as defined by Chainalysis. If null returns, Chainalysis has not yet identified the service's name.
          - `external_id` string, uuid, required — A unique identifier of the scan.
      - `simulation_status_result` SimulationStatusResult
        - `simulation_status` 'success' | 'failed' | 'reverted' | 'skipped'
        - `details` string, required — Details about transaction reversion if occurred.
      - `type` 'utxo_transaction', required — The type of the transaction.
      - `chain` EnrichedUtxoChain, required
        - `chain_type` 'utxo', required — The type of the chain.
        - `unique_id` 'bitcoin_mainnet' | 'bitcoin_testnet' | 'bitcoin_testnet_v4' | 'dogecoin_mainnet' | 'bitcoin_cash_mainnet' | 'pearl_testnet' | 'pearl_mainnet', required
        - `name` string, required — The full blockchain name.
        - `native_currency_symbol` string, required — The native currency symbol.
        - `native_currency_name` string, required — The native currency name.
        - `blockchain_explorer` BlockchainExplorer — A blockchain explorer entry point.
          - `transaction_url` string, uri, required
          - `address_url` string, uri, required
          - `root_url` string, uri, required
          - `transaction_format_url` string, uri
          - `address_format_url` string, uri
          - `asset_format_url` string, uri
        - `logo_url` string, uri, required — The logo URL of the chain.
        - `is_testnet` boolean, required — Whether the chain is on a testnet.
        - `is_enabled` boolean, required — Whether the chain is enabled.
      - `expected_result` UtxoTransactionResult, required
        - `fees` UtxoFees
          - `priority` 'custom' | 'low' | 'medium' | 'high', required
          - `fee_per_byte` string, required — The fee per byte.
          - `transaction_byte_size` string, required — The transaction size in bytes.
          - `total_fee` string, required — The total fee paid.
          - `priced_asset` PricedAsset, required
            - `type` 'asset_price', required
            - `asset_info` AssetInfo, required
              - …
            - `price` Price — Price represents a price in a given FiatCurrency.
              - …
        - `effects` UtxoEffects, required
          - `inputs` UtxoInput[], required — The inputs of the transaction.
            - `address` EnrichedUtxoAddress, required
              - …
            - `value` string, required — The value of the input.
            - `should_sign` boolean — `True` if this is signed by the creating vault (relevant for PSBT), `False` otherwise.
          - `outputs` UtxoOutput[], required — The outputs of the transaction.
            - `address` EnrichedUtxoAddress, required
              - …
            - `value` string, required — The value of the output.
            - `is_change_address` boolean — Whether the output is a change address.
            - `is_send_max` boolean — Whether the output is a send-max output.
          - `balance_changes` UtxoBalanceChangeEffect[], required — The aggregated balance changes of vaults.
            - `type` 'native', required — The type of the balance change.
            - `vault` VaultRef, required — Represents a reference to a vault in the Fordefi platform
              - …
            - `diff` string, required — The amount of native currency that was added to or deducted from the owner's balance. If the amount was deducted, the value is negative; if the amount was added, the value is positive.
            - `priced_asset` PricedAsset, required
              - …
          - `total_value` string, required — The total value of the transaction.
          - `priced_asset` PricedAsset, required
            - `type` 'asset_price', required
            - `asset_info` AssetInfo, required
              - …
            - `price` Price — Price represents a price in a given FiatCurrency.
              - …
        - `is_coinbase` boolean — True when this transaction is a coinbase (block-reward) transaction.
      - `utxo_transaction_type_details` union, required — Details of the Utxo transaction based on its type.
        - UtxoNativeTransferDetails
          - `type` 'native_transfer', required — A transaction involving the transfer of native currency from one or moreaddresses to one or more addresses.
          - `is_internal` boolean — Is this transfer an internal transfer between two vaults. None if the transaction is incoming.
          - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
            - `id` string, uuid, required — The unique identifier of the vault in the Fordefi platform.
            - `vault_group_id` string, uuid — The unique identifier of the vault group this vault belongs to.
            - `vault_group_ids` string[], required — The unique identifiers of the vault groups this vault belongs to.
            - `name` string, required — The name of the vault.
            - `address` string — The address of the vault.
            - `state` 'active' | 'archived' | 'deleted' | 'pending' | 'aborted', required
            - `type` 'aptos' | 'arch' | 'black_box' | 'canton' | 'cosmos' | 'evm' | 'safe' | 'solana' | 'stacks' | 'starknet' | 'stellar' | 'sui' | 'ton' | 'tron' | 'utxo' | 'exchange', required
            - `logo_url` string, uri — The logo of the vault. Supported for exchange and Safe vaults.
            - `end_user` EndUserRef
              - …
            - `is_external_signer` boolean — Whether the vault uses an externally imported key (external signer).
          - `memos` string[], required — List of memos of the transaction.
        - UtxoPsbtDetails
          - `type` 'partially_signed_bitcoin_transaction', required — A partially signed bitcoin transaction (PSBT).
          - `psbt_raw_data` string, required — Partially signed bitcoin transaction data encoded as a hex string.
          - `signed_psbt_raw_data` string — Partially signed bitcoin transaction data encoded as a hex string.
          - `sender` EnrichedUtxoAddress, required
            - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
              - …
            - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
            - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
              - …
            - `type` 'utxo', required
            - `address` UtxoAddress, required
              - …
            - `vault_address` VaultAddressRef — Represents a reference to a vault address in the Fordefi platform
              - …
          - `json_representation` string — Json representation of the PSBT.
      - `suggested_fees` UtxoSuggestedFees, required
        - `type` 'utxo', required — The type of the chain.
        - `low` string, required — The low suggested fee per byte.
        - `medium` string, required — The medium suggested fee per byte.
        - `high` string, required — The high suggested fee per byte.
        - `chain_unique_id` 'bitcoin_mainnet' | 'bitcoin_testnet' | 'bitcoin_testnet_v4' | 'dogecoin_mainnet' | 'bitcoin_cash_mainnet' | 'pearl_testnet' | 'pearl_mainnet', required
    - `refund_transaction` PredictedUtxoTransaction, required
      - `policy_match` PolicyMatch
        - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
        - `rule_id` string, uuid, required — The unique identifier of the rule.
        - `rule_name` string, required — The name of the rule.
        - `action_type` 'allow' | 'block' | 'require_approval', required
      - `matched_policies` PolicyMatch[], required — List of policies matched by the transactions in the batch.
        - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
        - `rule_id` string, uuid, required — The unique identifier of the rule.
        - `rule_name` string, required — The name of the rule.
        - `action_type` 'allow' | 'block' | 'require_approval', required
      - `approval_request` ApprovalRequest — Represents an approval request for an action in the Fordefi platform
        - `state` 'created' | 'approved' | 'insufficient_approvers' | 'auto_approved' | 'failed', required — Represents the whole approval request state
        - `required_groups` integer, required — The number of required approval groups.
        - `approval_groups` ApprovalRequestGroup[], required — A list of the possible approvers from different groups.
          - `quorum_size` integer, required — The number of approvers required to approve the transaction.
          - `approvers` RequestApprover[], required — A list of the possible approvers.
            - `user` union, required
              - …
            - `modified_at` string, date-time, required — The date and time when this approval was modified.
            - `decision` string — The decision of the approver.
            - `state` 'pending' | 'approved' | 'unauthorized' | 'not_participated', required — Represents an approval state of a single approver
        - `error_message` string — The error message if the request failed.
      - `risks` TransactionRisk[], required — The list of risks associated with this transaction.
        - `type` 'transfer_to_erc20_contract' | 'organization_not_interacted_with_address' | 'vault_not_interacted_with_address' | 'allowance_to_eoa' | 'unlimited_allowance' | 'contract_not_verified' | 'bridge_dest_differ_from_sender' | 'nft_approve_for_all' | 'missing_simulation' | 'unsupported_simulation' | 'post_conditions_allow_mode' | 'safe_sensitive_operation', required
        - `severity` 'low' | 'medium' | 'high', required
        - `title` string, required — The title of the risk.
        - `description` string, required — A detailed description of the risk.
      - `note` string — An optional transaction note.
      - `tx_policy_explanation_id` string, uuid — The id of the transaction policy explanation produced for this prediction, if any.
      - `aml_policy_match` AmlPolicyMatchOutgoing
        - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
        - `rule_id` string, uuid, required — The unique identifier of the rule.
        - `rule_name` string, required — The name of the rule.
        - `action_type` 'allow' | 'block' | 'require_approval' | 'skip', required
      - `aml_results` AmlResults
        - `scan_status` 'error' | 'timeout' | 'skipped' | 'completed' | 'unsupported_chain' | 'pending', required
        - `error_message` string — The error message if the scan failed.
        - `scan_results` ChainalysisScanResult
          - `type` 'chainalysis', required — The type of the policy.
          - `alerts` ChainalysisAlert[], required — The list of alerts.
            - `category` Category, required
              - …
            - `risk_rating` 'low' | 'medium' | 'high' | 'severe', required
            - `exposure_type` 'direct' | 'indirect', required
            - `service` string — The name of the service as defined by Chainalysis. If null returns, Chainalysis has not yet identified the service's name.
          - `external_id` string, uuid, required — A unique identifier of the scan.
      - `simulation_status_result` SimulationStatusResult
        - `simulation_status` 'success' | 'failed' | 'reverted' | 'skipped'
        - `details` string, required — Details about transaction reversion if occurred.
      - `type` 'utxo_transaction', required — The type of the transaction.
      - `chain` EnrichedUtxoChain, required
        - `chain_type` 'utxo', required — The type of the chain.
        - `unique_id` 'bitcoin_mainnet' | 'bitcoin_testnet' | 'bitcoin_testnet_v4' | 'dogecoin_mainnet' | 'bitcoin_cash_mainnet' | 'pearl_testnet' | 'pearl_mainnet', required
        - `name` string, required — The full blockchain name.
        - `native_currency_symbol` string, required — The native currency symbol.
        - `native_currency_name` string, required — The native currency name.
        - `blockchain_explorer` BlockchainExplorer — A blockchain explorer entry point.
          - `transaction_url` string, uri, required
          - `address_url` string, uri, required
          - `root_url` string, uri, required
          - `transaction_format_url` string, uri
          - `address_format_url` string, uri
          - `asset_format_url` string, uri
        - `logo_url` string, uri, required — The logo URL of the chain.
        - `is_testnet` boolean, required — Whether the chain is on a testnet.
        - `is_enabled` boolean, required — Whether the chain is enabled.
      - `expected_result` UtxoTransactionResult, required
        - `fees` UtxoFees
          - `priority` 'custom' | 'low' | 'medium' | 'high', required
          - `fee_per_byte` string, required — The fee per byte.
          - `transaction_byte_size` string, required — The transaction size in bytes.
          - `total_fee` string, required — The total fee paid.
          - `priced_asset` PricedAsset, required
            - `type` 'asset_price', required
            - `asset_info` AssetInfo, required
              - …
            - `price` Price — Price represents a price in a given FiatCurrency.
              - …
        - `effects` UtxoEffects, required
          - `inputs` UtxoInput[], required — The inputs of the transaction.
            - `address` EnrichedUtxoAddress, required
              - …
            - `value` string, required — The value of the input.
            - `should_sign` boolean — `True` if this is signed by the creating vault (relevant for PSBT), `False` otherwise.
          - `outputs` UtxoOutput[], required — The outputs of the transaction.
            - `address` EnrichedUtxoAddress, required
              - …
            - `value` string, required — The value of the output.
            - `is_change_address` boolean — Whether the output is a change address.
            - `is_send_max` boolean — Whether the output is a send-max output.
          - `balance_changes` UtxoBalanceChangeEffect[], required — The aggregated balance changes of vaults.
            - `type` 'native', required — The type of the balance change.
            - `vault` VaultRef, required — Represents a reference to a vault in the Fordefi platform
              - …
            - `diff` string, required — The amount of native currency that was added to or deducted from the owner's balance. If the amount was deducted, the value is negative; if the amount was added, the value is positive.
            - `priced_asset` PricedAsset, required
              - …
          - `total_value` string, required — The total value of the transaction.
          - `priced_asset` PricedAsset, required
            - `type` 'asset_price', required
            - `asset_info` AssetInfo, required
              - …
            - `price` Price — Price represents a price in a given FiatCurrency.
              - …
        - `is_coinbase` boolean — True when this transaction is a coinbase (block-reward) transaction.
      - `utxo_transaction_type_details` union, required — Details of the Utxo transaction based on its type.
        - UtxoNativeTransferDetails
          - `type` 'native_transfer', required — A transaction involving the transfer of native currency from one or moreaddresses to one or more addresses.
          - `is_internal` boolean — Is this transfer an internal transfer between two vaults. None if the transaction is incoming.
          - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
            - `id` string, uuid, required — The unique identifier of the vault in the Fordefi platform.
            - `vault_group_id` string, uuid — The unique identifier of the vault group this vault belongs to.
            - `vault_group_ids` string[], required — The unique identifiers of the vault groups this vault belongs to.
            - `name` string, required — The name of the vault.
            - `address` string — The address of the vault.
            - `state` 'active' | 'archived' | 'deleted' | 'pending' | 'aborted', required
            - `type` 'aptos' | 'arch' | 'black_box' | 'canton' | 'cosmos' | 'evm' | 'safe' | 'solana' | 'stacks' | 'starknet' | 'stellar' | 'sui' | 'ton' | 'tron' | 'utxo' | 'exchange', required
            - `logo_url` string, uri — The logo of the vault. Supported for exchange and Safe vaults.
            - `end_user` EndUserRef
              - …
            - `is_external_signer` boolean — Whether the vault uses an externally imported key (external signer).
          - `memos` string[], required — List of memos of the transaction.
        - UtxoPsbtDetails
          - `type` 'partially_signed_bitcoin_transaction', required — A partially signed bitcoin transaction (PSBT).
          - `psbt_raw_data` string, required — Partially signed bitcoin transaction data encoded as a hex string.
          - `signed_psbt_raw_data` string — Partially signed bitcoin transaction data encoded as a hex string.
          - `sender` EnrichedUtxoAddress, required
            - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
              - …
            - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
            - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
              - …
            - `type` 'utxo', required
            - `address` UtxoAddress, required
              - …
            - `vault_address` VaultAddressRef — Represents a reference to a vault address in the Fordefi platform
              - …
          - `json_representation` string — Json representation of the PSBT.
      - `suggested_fees` UtxoSuggestedFees, required
        - `type` 'utxo', required — The type of the chain.
        - `low` string, required — The low suggested fee per byte.
        - `medium` string, required — The medium suggested fee per byte.
        - `high` string, required — The high suggested fee per byte.
        - `chain_unique_id` 'bitcoin_mainnet' | 'bitcoin_testnet' | 'bitcoin_testnet_v4' | 'dogecoin_mainnet' | 'bitcoin_cash_mainnet' | 'pearl_testnet' | 'pearl_mainnet', required
    - `cet_transactions` PredictedUtxoTransaction[], required — The Contract Execution Transactions.
      - `policy_match` PolicyMatch
        - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
        - `rule_id` string, uuid, required — The unique identifier of the rule.
        - `rule_name` string, required — The name of the rule.
        - `action_type` 'allow' | 'block' | 'require_approval', required
      - `matched_policies` PolicyMatch[], required — List of policies matched by the transactions in the batch.
        - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
        - `rule_id` string, uuid, required — The unique identifier of the rule.
        - `rule_name` string, required — The name of the rule.
        - `action_type` 'allow' | 'block' | 'require_approval', required
      - `approval_request` ApprovalRequest — Represents an approval request for an action in the Fordefi platform
        - `state` 'created' | 'approved' | 'insufficient_approvers' | 'auto_approved' | 'failed', required — Represents the whole approval request state
        - `required_groups` integer, required — The number of required approval groups.
        - `approval_groups` ApprovalRequestGroup[], required — A list of the possible approvers from different groups.
          - `quorum_size` integer, required — The number of approvers required to approve the transaction.
          - `approvers` RequestApprover[], required — A list of the possible approvers.
            - `user` union, required
              - …
            - `modified_at` string, date-time, required — The date and time when this approval was modified.
            - `decision` string — The decision of the approver.
            - `state` 'pending' | 'approved' | 'unauthorized' | 'not_participated', required — Represents an approval state of a single approver
        - `error_message` string — The error message if the request failed.
      - `risks` TransactionRisk[], required — The list of risks associated with this transaction.
        - `type` 'transfer_to_erc20_contract' | 'organization_not_interacted_with_address' | 'vault_not_interacted_with_address' | 'allowance_to_eoa' | 'unlimited_allowance' | 'contract_not_verified' | 'bridge_dest_differ_from_sender' | 'nft_approve_for_all' | 'missing_simulation' | 'unsupported_simulation' | 'post_conditions_allow_mode' | 'safe_sensitive_operation', required
        - `severity` 'low' | 'medium' | 'high', required
        - `title` string, required — The title of the risk.
        - `description` string, required — A detailed description of the risk.
      - `note` string — An optional transaction note.
      - `tx_policy_explanation_id` string, uuid — The id of the transaction policy explanation produced for this prediction, if any.
      - `aml_policy_match` AmlPolicyMatchOutgoing
        - `is_default` boolean, required — `True` if this is the default rule, `False` otherwise.
        - `rule_id` string, uuid, required — The unique identifier of the rule.
        - `rule_name` string, required — The name of the rule.
        - `action_type` 'allow' | 'block' | 'require_approval' | 'skip', required
      - `aml_results` AmlResults
        - `scan_status` 'error' | 'timeout' | 'skipped' | 'completed' | 'unsupported_chain' | 'pending', required
        - `error_message` string — The error message if the scan failed.
        - `scan_results` ChainalysisScanResult
          - `type` 'chainalysis', required — The type of the policy.
          - `alerts` ChainalysisAlert[], required — The list of alerts.
            - `category` Category, required
              - …
            - `risk_rating` 'low' | 'medium' | 'high' | 'severe', required
            - `exposure_type` 'direct' | 'indirect', required
            - `service` string — The name of the service as defined by Chainalysis. If null returns, Chainalysis has not yet identified the service's name.
          - `external_id` string, uuid, required — A unique identifier of the scan.
      - `simulation_status_result` SimulationStatusResult
        - `simulation_status` 'success' | 'failed' | 'reverted' | 'skipped'
        - `details` string, required — Details about transaction reversion if occurred.
      - `type` 'utxo_transaction', required — The type of the transaction.
      - `chain` EnrichedUtxoChain, required
        - `chain_type` 'utxo', required — The type of the chain.
        - `unique_id` 'bitcoin_mainnet' | 'bitcoin_testnet' | 'bitcoin_testnet_v4' | 'dogecoin_mainnet' | 'bitcoin_cash_mainnet' | 'pearl_testnet' | 'pearl_mainnet', required
        - `name` string, required — The full blockchain name.
        - `native_currency_symbol` string, required — The native currency symbol.
        - `native_currency_name` string, required — The native currency name.
        - `blockchain_explorer` BlockchainExplorer — A blockchain explorer entry point.
          - `transaction_url` string, uri, required
          - `address_url` string, uri, required
          - `root_url` string, uri, required
          - `transaction_format_url` string, uri
          - `address_format_url` string, uri
          - `asset_format_url` string, uri
        - `logo_url` string, uri, required — The logo URL of the chain.
        - `is_testnet` boolean, required — Whether the chain is on a testnet.
        - `is_enabled` boolean, required — Whether the chain is enabled.
      - `expected_result` UtxoTransactionResult, required
        - `fees` UtxoFees
          - `priority` 'custom' | 'low' | 'medium' | 'high', required
          - `fee_per_byte` string, required — The fee per byte.
          - `transaction_byte_size` string, required — The transaction size in bytes.
          - `total_fee` string, required — The total fee paid.
          - `priced_asset` PricedAsset, required
            - `type` 'asset_price', required
            - `asset_info` AssetInfo, required
              - …
            - `price` Price — Price represents a price in a given FiatCurrency.
              - …
        - `effects` UtxoEffects, required
          - `inputs` UtxoInput[], required — The inputs of the transaction.
            - `address` EnrichedUtxoAddress, required
              - …
            - `value` string, required — The value of the input.
            - `should_sign` boolean — `True` if this is signed by the creating vault (relevant for PSBT), `False` otherwise.
          - `outputs` UtxoOutput[], required — The outputs of the transaction.
            - `address` EnrichedUtxoAddress, required
              - …
            - `value` string, required — The value of the output.
            - `is_change_address` boolean — Whether the output is a change address.
            - `is_send_max` boolean — Whether the output is a send-max output.
          - `balance_changes` UtxoBalanceChangeEffect[], required — The aggregated balance changes of vaults.
            - `type` 'native', required — The type of the balance change.
            - `vault` VaultRef, required — Represents a reference to a vault in the Fordefi platform
              - …
            - `diff` string, required — The amount of native currency that was added to or deducted from the owner's balance. If the amount was deducted, the value is negative; if the amount was added, the value is positive.
            - `priced_asset` PricedAsset, required
              - …
          - `total_value` string, required — The total value of the transaction.
          - `priced_asset` PricedAsset, required
            - `type` 'asset_price', required
            - `asset_info` AssetInfo, required
              - …
            - `price` Price — Price represents a price in a given FiatCurrency.
              - …
        - `is_coinbase` boolean — True when this transaction is a coinbase (block-reward) transaction.
      - `utxo_transaction_type_details` union, required — Details of the Utxo transaction based on its type.
        - UtxoNativeTransferDetails
          - `type` 'native_transfer', required — A transaction involving the transfer of native currency from one or moreaddresses to one or more addresses.
          - `is_internal` boolean — Is this transfer an internal transfer between two vaults. None if the transaction is incoming.
          - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
            - `id` string, uuid, required — The unique identifier of the vault in the Fordefi platform.
            - `vault_group_id` string, uuid — The unique identifier of the vault group this vault belongs to.
            - `vault_group_ids` string[], required — The unique identifiers of the vault groups this vault belongs to.
            - `name` string, required — The name of the vault.
            - `address` string — The address of the vault.
            - `state` 'active' | 'archived' | 'deleted' | 'pending' | 'aborted', required
            - `type` 'aptos' | 'arch' | 'black_box' | 'canton' | 'cosmos' | 'evm' | 'safe' | 'solana' | 'stacks' | 'starknet' | 'stellar' | 'sui' | 'ton' | 'tron' | 'utxo' | 'exchange', required
            - `logo_url` string, uri — The logo of the vault. Supported for exchange and Safe vaults.
            - `end_user` EndUserRef
              - …
            - `is_external_signer` boolean — Whether the vault uses an externally imported key (external signer).
          - `memos` string[], required — List of memos of the transaction.
        - UtxoPsbtDetails
          - `type` 'partially_signed_bitcoin_transaction', required — A partially signed bitcoin transaction (PSBT).
          - `psbt_raw_data` string, required — Partially signed bitcoin transaction data encoded as a hex string.
          - `signed_psbt_raw_data` string — Partially signed bitcoin transaction data encoded as a hex string.
          - `sender` EnrichedUtxoAddress, required
            - `vault` VaultRef — Represents a reference to a vault in the Fordefi platform
              - …
            - `explorer_url` string, uri — The URL of a blockchain explorer that provides real-time information about the address.
            - `contact` ContactRef — Represents a reference to an address book contact in the Fordefi platform.
              - …
            - `type` 'utxo', required
            - `address` UtxoAddress, required
              - …
            - `vault_address` VaultAddressRef — Represents a reference to a vault address in the Fordefi platform
              - …
          - `json_representation` string — Json representation of the PSBT.
      - `suggested_fees` UtxoSuggestedFees, required
        - `type` 'utxo', required — The type of the chain.
        - `low` string, required — The low suggested fee per byte.
        - `medium` string, required — The medium suggested fee per byte.
        - `high` string, required — The high suggested fee per byte.
        - `chain_unique_id` 'bitcoin_mainnet' | 'bitcoin_testnet' | 'bitcoin_testnet_v4' | 'dogecoin_mainnet' | 'bitcoin_cash_mainnet' | 'pearl_testnet' | 'pearl_mainnet', required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized User
- `403` — Forbidden User
- `408` — Request Timeout
- `422` — Validation Error
- `429` — Rate Limit Exceeded
- `500` — Unexpected Error

---

[API](https://skmtc.net/fordefi/apis/fordefi-api.md) · [All operations](https://skmtc.net/fordefi/apis/fordefi-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fordefi/fordefi-api/versions/8014fd69ea17/schema)
