Fordefi Batch Transactions API

These endpoints allow you to manage batch transactions on the Fordefi platform. Batch transactions are currently supported only on Solana, for the purpose of supporting the `signAllTransactions` flow used by certain Solana DApps. Batch transactions undergo policy evaluation as a whole: the policy is applied to a “virtual transaction” whose list of instructions is the union of the instructions of the individual transactions in the batch, and whose balance changes are the aggregation of balance changes of the individual transactions.

Operations 4

POST /api/v1/batch-transactions Create Batch Transaction #
POST /api/v1/batch-transactions/predict Predict Batch Transaction #
POST /api/v1/batch-transactions/{batch_id}/abort Abort Batch Transaction #
POST /api/v1/batch-transactions/{batch_id}/approve Approve Batch Transaction #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

Free tier, no email required.

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

OpenAPI Specification

fordefi-batch-transactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fordefi Address Book Batch Transactions API
  version: 0.2.0
  description: These endpoints allow you to list the contacts in your address book.<br><br>To add/remove contacts, visit the Fordefi web console. See the <a href='https://docs.fordefi.com/user-guide/address-book'>user guide</a> for more info.
servers:
- url: https://api.fordefi.com/
  description: Production
security:
- bearerAuth: []
tags:
- name: Batch Transactions
  description: "These endpoints allow you to manage batch transactions on the Fordefi platform.\n        <br><br>\n        Batch transactions are currently supported only on Solana, for the purpose\n        of supporting the `signAllTransactions` flow used by certain Solana DApps.\n        Batch transactions undergo policy evaluation as a whole:  the policy is\n        applied to a “virtual transaction” whose list of instructions is the union\n        of the instructions of the individual transactions in the batch, and whose balance\n        changes are the aggregation of balance changes of the individual transactions."
paths:
  /api/v1/batch-transactions:
    post:
      tags:
      - Batch Transactions
      summary: Create Batch Transaction
      description: 'Create a batch of transactions.

        <br>

        Batch transactions are currently supported only on Solana.'
      operationId: create_batch_transaction_api_v1_batch_transactions_post
      parameters:
      - name: x-signature
        in: header
        required: false
        schema:
          description: Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends. `x_signature` is valid for 120 seconds.
          title: X-Signature
          type: string
          example: SGVsbG8=
        description: Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends. `x_signature` is valid for 120 seconds.
      - name: x-timestamp
        in: header
        required: false
        schema:
          description: Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks.
          title: X-Timestamp
          type: integer
        description: Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks.
      - name: x-idempotence-id
        in: header
        required: false
        schema:
          description: Optional idempotence ID of a transaction.
          title: X-Idempotence-Id
          type: string
          format: uuid
        description: Optional idempotence ID of a transaction.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBatchTransactionRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBatchTransactionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefinedPreconditionError_CreateTransactionErrorType_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
  /api/v1/batch-transactions/predict:
    post:
      tags:
      - Batch Transactions
      summary: Predict Batch Transaction
      description: '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.'
      operationId: predict_batch_transaction_api_v1_batch_transactions_predict_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PredictBatchTransactionRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PredictBatchTransactionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefinedPreconditionError_PredictTransactionErrorType_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
  /api/v1/batch-transactions/{batch_id}/abort:
    post:
      tags:
      - Batch Transactions
      summary: Abort Batch Transaction
      description: Abort a batch of transactions.
      operationId: abort_batch_transaction_api_v1_batch_transactions__batch_id__abort_post
      parameters:
      - name: batch_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: Transaction ID of the last transaction in the batch (for example, transaction 2/2 in the batch).ORValue of the `managed_transaction_data.batch_data.batch_id` field of any transaction in the batch.
          title: Batch Id
        description: Transaction ID of the last transaction in the batch (for example, transaction 2/2 in the batch).ORValue of the `managed_transaction_data.batch_data.batch_id` field of any transaction in the batch.
      responses:
        '204':
          description: Successful Response
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefinedPreconditionError_AbortTransactionErrorType_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceError'
  /api/v1/batch-transactions/{batch_id}/approve:
    post:
      tags:
      - Batch Transactions
      summary: Approve Batch Transaction
      description: Approve a batch of transactions.
      operationId: approve_batch_transaction_api_v1_batch_transactions__batch_id__approve_post
      parameters:
      - name: batch_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: Transaction ID of the last transaction in the batch (for example, transaction 2/2 in the batch).ORValue of the `managed_transaction_data.batch_data.batch_id`field of any transaction in the batch.
          title: Batch Id
        description: Transaction ID of the last transaction in the batch (for example, transaction 2/2 in the batch).ORValue of the `managed_transaction_data.batch_data.batch_id`field of any transaction in the batch.
      responses:
        '204':
          description: Successful Response
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefinedPreconditionError_ApproveTransactionErrorType_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceError'
components:
  schemas:
    CantonChainUniqueId:
      type: string
      enum:
      - canton_mainnet
      title: CantonChainUniqueId
    UtxoAddress:
      properties:
        type:
          type: string
          const: utxo
          title: Type
        address:
          type: string
          maxLength: 74
          minLength: 14
          title: Address
          description: The UTXO string address.
          example: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq
        address_type:
          $ref: '#/components/schemas/UtxoAddressType'
          description: The type of the address.
        chain:
          $ref: '#/components/schemas/UtxoChain'
          description: The UTXO chain unique ID.
      type: object
      required:
      - type
      - address
      - address_type
      - chain
      title: UtxoAddress
    EnrichedUtxoChain:
      properties:
        chain_type:
          type: string
          const: utxo
          title: Chain Type
          description: The type of the chain.
        unique_id:
          $ref: '#/components/schemas/UtxoChainUniqueId'
          description: The UTXO chain unique ID.
        name:
          type: string
          minLength: 1
          title: Name
          description: The full blockchain name.
        native_currency_symbol:
          type: string
          minLength: 1
          title: Native Currency Symbol
          description: The native currency symbol.
          example: ETH
        native_currency_name:
          type: string
          minLength: 1
          title: Native Currency Name
          description: The native currency name.
          example: Ether
        blockchain_explorer:
          $ref: '#/components/schemas/BlockchainExplorer'
        logo_url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Logo Url
          description: The logo URL of the chain.
        is_testnet:
          type: boolean
          title: Is Testnet
          description: Whether the chain is on a testnet.
        is_enabled:
          type: boolean
          title: Is Enabled
          description: Whether the chain is enabled.
      type: object
      required:
      - chain_type
      - unique_id
      - name
      - native_currency_symbol
      - native_currency_name
      - logo_url
      - is_testnet
      - is_enabled
      title: EnrichedUtxoChain
    CantonAssetIdentifier:
      properties:
        type:
          type: string
          const: canton
          title: Type
          description: Canton asset identifier type.
        details:
          oneOf:
          - $ref: '#/components/schemas/CantonNativeAssetIdentifierRequest'
          - $ref: '#/components/schemas/CantonCip56TokenAssetIdentifierRequest'
          discriminator:
            propertyName: type
            mapping:
              cip56_token: '#/components/schemas/CantonCip56TokenAssetIdentifierRequest'
              native: '#/components/schemas/CantonNativeAssetIdentifierRequest'
        chain:
          $ref: '#/components/schemas/EnrichedCantonChain'
      type: object
      required:
      - type
      - details
      - chain
      title: CantonAssetIdentifier
    UtxoAddressType:
      type: string
      enum:
      - legacy
      - p2sh
      - segwit
      - taproot
      - merkleroot
      title: UtxoAddressType
    FiatCurrencySymbol:
      type: string
      enum:
      - usd
      title: FiatCurrencySymbol
      description: FiatCurrencySymbol
    SolanaTransaction:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the object in the Fordefi platform.
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The date and time when the object was created.
        modified_at:
          type: string
          format: date-time
          title: Modified At
          description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification.
        managed_transaction_data:
          description: 'Managed transaction data. Presented if the transaction was initiated from the Fordefi system itself, in contrast to unmanaged transactions (which are, for example, transfers of funds into a vault visible to Fordefi). '
          $ref: '#/components/schemas/ManagedTransactionData'
        signatures:
          items:
            $ref: '#/components/schemas/Signature'
          type: array
          title: Signatures
          description: The transaction signatures.
        note:
          title: Note
          description: An optional transaction note.
          type: string
        spam_state:
          $ref: '#/components/schemas/TransactionSpamState'
          description: '`automatically_set` if the transaction was automatically set as spam by Fordefi, `manually_set` if the transaction was manually set as spam by a user, and `unset` if the transaction was not set as spam.'
          default: unset
        direction:
          $ref: '#/components/schemas/TransactionDirection'
          description: The direction of the transaction.
        signed_externally:
          type: boolean
          title: Signed Externally
          description: Whether the transaction was signed by an external user (for example in case of imported vault).
          default: false
        interacted_vaults:
          items:
            $ref: '#/components/schemas/VaultRef'
          type: array
          title: Interacted Vaults
          description: The vaults that interacted with the transaction.
        related_transactions:
          title: Related Transactions
          description: The related transactions.
          items:
            $ref: '#/components/schemas/RelatedTransaction'
          type: array
        organization_id:
          type: string
          format: uuid
          title: Organization Id
          description: The organization that the transaction belongs to.
        block:
          description: The block of the transaction.
          $ref: '#/components/schemas/Block'
        state:
          $ref: '#/components/schemas/PushableTransactionState'
          description: The state of the transaction.
        state_changes:
          items:
            $ref: '#/components/schemas/PushableTransactionStateChange'
          type: array
          title: State Changes
          description: The state changes of the transaction.
        aml_check:
          description: The AML check.
          $ref: '#/components/schemas/AmlCheck'
        mined_result_status:
          description: The mined result status of the transaction.
          $ref: '#/components/schemas/MinedResultStatus'
        simulation_status_result:
          description: Whether simulation succeeded, reverted or failed.
          $ref: '#/components/schemas/SimulationStatusResult'
        type:
          type: string
          const: solana_transaction
          title: Type
          description: The type of the transaction.
        solana_transaction_type_details:
          oneOf:
          - $ref: '#/components/schemas/SolanaNativeTransferDetails'
          - $ref: '#/components/schemas/SolanaTokenTransferDetails'
          - $ref: '#/components/schemas/SolanaRawTransactionDetails'
          description: Details of the Solana transaction based on its type.
          discriminator:
            propertyName: type
            mapping:
              native_transfer: '#/components/schemas/SolanaNativeTransferDetails'
              raw_transaction: '#/components/schemas/SolanaRawTransactionDetails'
              token_transfer: '#/components/schemas/SolanaTokenTransferDetails'
        chain:
          $ref: '#/components/schemas/EnrichedSolanaChain'
          description: The details of the chain this transaction is on.
        version:
          $ref: '#/components/schemas/SolanaMessageVersion'
          description: The version of the transaction message.
        instructions:
          items:
            $ref: '#/components/schemas/SolanaCompiledInstruction'
          type: array
          title: Instructions
          description: The instructions of the transaction.
        accounts:
          items:
            $ref: '#/components/schemas/SolanaTransactionAccount'
          type: array
          title: Accounts
          description: Accounts used in the transaction.
        address_table_lookups:
          items:
            $ref: '#/components/schemas/SolanaEnrichedMessageAddressTableLookup'
          type: array
          title: Address Table Lookups
          description: Lookup tables of accounts used in the transaction.
        sender:
          $ref: '#/components/schemas/EnrichedSolanaAddress'
          description: The sender of the transaction.
        raw_transaction:
          title: Raw Transaction
          description: The serialized transaction encoded as a base64 string
          type: string
          example: SGVsbG8=
        hash:
          title: Hash
          description: The first signature of the transaction.
          type: string
          maxLength: 88
          minLength: 64
          pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
          example: FAWA66fudpiwdRDDQ4DRxdJsRvawvauwg4vQkm98ZHFpXmW5N7xzRiTRpt8QiZ19s1aVbzKgXW6kEZanwHeDFNS
        recent_blockhash:
          title: Recent Blockhash
          description: The transaction nonce (last block hash).
          type: string
          maxLength: 44
          minLength: 32
          pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
          example: 4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZAMdL4VZHirAn
        expected_result:
          description: The expected result of the transaction in case it is mined.
          $ref: '#/components/schemas/SolanaTransactionResult'
        mined_result:
          description: The result of the transaction after it was mined.
          $ref: '#/components/schemas/SolanaTransactionResult'
        explorer_url:
          title: Explorer Url
          description: The URL of this transaction in a blockchain explorer. For example, Solscan.
          example: https://solscan.io/tx/FAWA66f...6kEZanwHeDFNS
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
        was_fee_set_in_request:
          type: boolean
          title: Was Fee Set In Request
          description: Whether the priority fee was already set in the request with a ComputeBudget instruction.
        fee_payer:
          description: The address that pays the fee for this transaction (first account in the transaction).
          $ref: '#/components/schemas/EnrichedSolanaAddress'
      type: object
      required:
      - id
      - created_at
      - modified_at
      - signatures
      - direction
      - interacted_vaults
      - organization_id
      - state
      - state_changes
      - type
      - solana_transaction_type_details
      - chain
      - version
      - instructions
      - accounts
      - address_table_lookups
      - sender
      - was_fee_set_in_request
      title: SolanaTransaction
    SolanaTransactionAccount:
      properties:
        address:
          $ref: '#/components/schemas/EnrichedSolanaAddress'
          description: The address of the account.
        writable:
          type: boolean
          title: Writable
          description: Indicates if this account is writable in the context of the transaction.
        signer:
          type: boolean
          title: Signer
          description: Indicates if this account is a signer of the transaction.
      type: object
      required:
      - address
      - writable
      - signer
      title: SolanaTransactionAccount
    RateLimitError:
      properties: {}
      type: object
      title: RateLimitError
    ManagedTransactionData:
      properties:
        created_by:
          $ref: '#/components/schemas/UserRef'
          description: The user who created the transaction.
        aborted_by:
          description: The user who aborted the transaction, `null` if the transaction was not aborted.
          $ref: '#/components/schemas/UserRef'
        finalized_for_signing_by:
          description: The user who finalized the transaction for signing, `null` if the transaction was not finalized for signing.
          $ref: '#/components/schemas/UserRef'
        device_signing_request:
          $ref: '#/components/schemas/ActionSigningRequest'
        approval_request:
          description: The approval request.
          $ref: '#/components/schemas/ApprovalRequest'
        aml_policy_match:
          description: The AML policy match.
          $ref: '#/components/schemas/AmlPolicyMatchOutgoing'
        policy_match:
          description: The policy match.
          $ref: '#/components/schemas/PolicyMatch'
        signer_type:
          $ref: '#/components/schemas/SignerType'
          description: 'The type of signer of the transaction. Can be one of the following: <ul><li>`initiator`: The creator of the transaction (default). <li>`api_signer`: An API Signer - a service that you run on your own network or cloud environment. <li>`multiple_signers`: An API Signer or a person that is part of the list of allowed signers.<li>`end_user`: An end user - a signature by a mobile device with a third-party app that uses Fordefi''s Mobile SDK. </ul>In the case of `initiator`, a notification is expected to be sent to the initiator''s mobile device for approval of the transaction. '
        risks:
          items:
            $ref: '#/components/schemas/TransactionRisk'
          type: array
          title: Risks
          description: The list of risks associated with this transaction.
        error_pushing_to_blockchain_message:
          title: Error Pushing To Blockchain Message
          description: The translated error message received from the node if it was rejected by it.
          type: string
        original_error_pushing_to_blockchain_message:
          title: Original Error Pushing To Blockchain Message
          description: The error message received from the node if it was rejected by it.
          type: string
        vault:
          $ref: '#/components/schemas/VaultRef'
          description: The vault creating the transaction.
        idempotence_id:
          title: Idempotence Id
          description: Optional idempotence ID of a transaction.
          type: string
          format: uuid
        has_current_user_vault_permissions:
          type: boolean
          title: Has Current User Vault Permissions
          description: Does current user have permissions to the origin vault according to its vault group permissions.
        batch_data:
          description: Batch data if the transaction is part of a batch.
          $ref: '#/components/schemas/BatchData'
        push_mode:
          description: 'The push mode of the transaction when sending it to the node. It can be one of the following:<ul><li>`auto`: The transaction is pushed automatically by Fordefi. <li>`manual`: The transaction should be pushed manually by the user using a 3rd party.<li>`deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.</ul> '
          $ref: '#/components/schemas/PushMode'
        last_pushed_at:
          title: Last Pushed At
          description: The last time the transaction was pushed to the node.
          type: string
          format: date-time
        sign_mode:
          $ref: '#/components/schemas/SignMode'
          description: 'The sign mode of the transaction determines when the transaction will transition to the signing phase. It can be one of the following:<ul><li>`auto`: The transaction will move to signing automatically after approval.<li>`triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.</ul>'
          default: auto
        fee_paid_by:
          description: Details of the vault that paid the fee for this transaction.
          oneOf:
          - $ref: '#/components/schemas/FeePaidByVault'
          discriminator:
            propertyName: type
            mapping:
              vault: '#/components/schemas/FeePaidByVault'
        attested_payload_for_signing:
          title: Attested Payload For Signing
          description: JWS attestation for the payload (external signer). Set after finalize-for-signing.
          type: string
        tx_policy_explanation_id:
          title: Tx Policy Explanation Id
          description: The id of the transaction policy explanation produced for this transaction, if any.
          type: string
          format: uuid
      type: object
      required:
      - created_by
      - signer_type
      - risks
      - vault
      - has_current_user_vault_permissions
      title: ManagedTransactionData
    AptosChain:
      properties:
        chain_type:
          type: string
          const: aptos
          title: Chain Type
          description: The type of the chain.
        unique_id:
          $ref: '#/components/schemas/AptosChainUniqueId'
          description: The type of the Aptos-based chain.
      type: object
      required:
      - chain_type
      - unique_id
      title: AptosChain
    CreateBatchTransactionInstanceResponse:
      oneOf:
      - $ref: '#/components/schemas/SolanaTransaction'
      - $ref: '#/components/schemas/UtxoTransaction'
      discriminator:
        propertyName: type
        mapping:
          solana_transaction: '#/components/schemas/SolanaTransaction'
          utxo_transaction: '#/components/schemas/UtxoTransaction'
    CosmosChain:
      properties:
        chain_type:
          type: string
          const: cosmos
          title: Chain Type
          description: The type of the chain.
        unique_id:
          $ref: '#/components/schemas/CosmosChainUniqueId'
          description: The Cosmos chain unique id.
      type: object
      required:
      - chain_type
      - unique_id
      title: CosmosChain
    AmlCheck:
      properties:
        results:
          description: The AML results.
          $ref: '#/components/schemas/AmlResults'
        incoming_aml_check:
          description: The AML policy match for incoming transactions. Will be present only for incoming transactions.
          $ref: '#/components/schemas/IncomingAmlCheck'
      type: object
      title: AmlCheck
    TronNativeAssetIdentifierRequest:
      properties:
        type:
          type: string
          const: native
          title: Type
          description: TRON asset identifier type.
        chain:
          $ref: '#/components/schemas/TronChainUniqueId'
          description: The details of the chain of the native asset.
      type: object
      required:
      - type
      - chain
      title: TronNativeAssetIdentifierRequest
    CreateBatchSolanaTransactionRequest:
      properties:
        vault_id:
          type: string
          format: uuid
          title: Vault Id
          description: The unique identifier of the vault.
        note:
          title: Note
          description: An optional transaction note.
          type: string
        signer_type:
          $ref: '#/components/schemas/SignerType'
          description: 'The signer of the transaction. Can be: <ul><li>`initiator`: The creator of the transaction (default).<li>`api_signer`: A service that you run on your own network or cloud environment. <li>`end_user`: A mobile device using Fordefi''s SDK.</ul>'
          default: initiator
        sign_mode:
          $ref: '#/components/schemas/SignMode'
          description: 'The sign mode of the transaction determines when the transaction will transition to the signing phase. It can be one of the following:<ul><li>`auto`: The transaction will move to signing automatically after approval.<li>`triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.</ul>'
          default: auto
        dapp_info:
          description: The DApp information.
          $ref: '#/components/schemas/DappInfo'
        type:
          type: string
          const: solana_transaction
          title: Type
          description: Solana transaction type.
        details:
          $ref: '#/components/schemas/CreateBatchTransactionRequestDetails'
      type: object
      required:
      - vault_id
      - type
      - details
      title: CreateBatchSolanaTransactionRequest
    SolanaNativeTransferDetails:
      properties:
        type:
          type: string
          const: native_transfer
          title: Type
          description: 'A transaction involving the transfer of native currency from one address to another. '
     

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