> ## Documentation Index
> Fetch the complete documentation index at: https://cobo.com/developers/llms.txt
> Use this file to discover all available pages before exploring further.

# List all callback messages

> This operation retrieves all the callback messages in your organization.

For more details about how to respond to callback messages, refer to [Callback messages](https://www.cobo.com/developers/v2/guides/webhooks-callbacks/set-up-endpoint#callback-messages).


<Tip>
  Try [Cobo WaaS Skill](/v2/guides/overview/cobo-waas-skill) in your AI coding assistant (Claude Code, Cursor, etc.). Describe your needs in natural language to auto-generate production-ready SDK code and debug faster 🚀
</Tip>

<RequestExample>
  ```python Python theme={null}
  import cobo_waas2
  from cobo_waas2.models.list_callback_messages200_response import (
      ListCallbackMessages200Response,
  )
  from cobo_waas2.rest import ApiException
  from pprint import pprint

  # See configuration.py for a list of all supported configurations.
  configuration = cobo_waas2.Configuration(
      # Replace `<YOUR_PRIVATE_KEY>` with your private key
      api_private_key="<YOUR_PRIVATE_KEY>",
      # Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
      host="https://api.dev.cobo.com/v2",
  )
  # Enter a context with an instance of the API client
  with cobo_waas2.ApiClient(configuration) as api_client:
      # Create an instance of the API class
      api_instance = cobo_waas2.DevelopersApi(api_client)
      callback_message_ids = (
          "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479"
      )
      request_ids = (
          "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479"
      )
      transaction_ids = (
          "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479"
      )
      wallet_ids = (
          "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479"
      )
      status = "Approved"
      limit = 10
      before = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1"
      after = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk"

      try:
          # List all callback messages
          api_response = api_instance.list_callback_messages(
              callback_message_ids=callback_message_ids,
              request_ids=request_ids,
              transaction_ids=transaction_ids,
              wallet_ids=wallet_ids,
              status=status,
              limit=limit,
              before=before,
              after=after,
          )
          print("The response of DevelopersApi->list_callback_messages:\n")
          pprint(api_response)
      except Exception as e:
          print("Exception when calling DevelopersApi->list_callback_messages: %s\n" % e)

  ```

  ```java Java theme={null}
  // Import classes:
  import com.cobo.waas2.ApiClient;
  import com.cobo.waas2.ApiException;
  import com.cobo.waas2.Configuration;
  import com.cobo.waas2.Env;
  import com.cobo.waas2.api.DevelopersApi;
  import com.cobo.waas2.model.*;

  public class Example {
    public static void main(String[] args) {
      ApiClient defaultClient = Configuration.getDefaultApiClient();
      // Select the development environment. To use the production environment, replace `Env.DEV` with
      // `Env.PROD
      defaultClient.setEnv(Env.DEV);

      // Replace `<YOUR_PRIVATE_KEY>` with your private key
      defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
      DevelopersApi apiInstance = new DevelopersApi();
      String callbackMessageIds =
          "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479";
      String requestIds = "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479";
      String transactionIds =
          "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479";
      String walletIds = "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479";
      String status = "Denied";
      Integer limit = 10;
      String before = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1";
      String after = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk";
      try {
        ListCallbackMessages200Response result =
            apiInstance.listCallbackMessages(
                callbackMessageIds,
                requestIds,
                transactionIds,
                walletIds,
                status,
                limit,
                before,
                after);
        System.out.println(result);
      } catch (ApiException e) {
        System.err.println("Exception when calling DevelopersApi#listCallbackMessages");
        System.err.println("Status code: " + e.getCode());
        System.err.println("Reason: " + e.getResponseBody());
        System.err.println("Response headers: " + e.getResponseHeaders());
        e.printStackTrace();
      }
    }
  }

  ```

  ```go Go theme={null}
  package main

  import (
  	"context"
  	"fmt"
  	coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
  	"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
  	"os"
  )

  func main() {
  	callbackMessageIds := "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479"
  	requestIds := "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479"
  	transactionIds := "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479"
  	walletIds := "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479"
  	status := "Approved"
  	limit := int32(10)
  	before := "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1"
  	after := "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk"

  	configuration := coboWaas2.NewConfiguration()
  	// Initialize the API client
  	apiClient := coboWaas2.NewAPIClient(configuration)
  	ctx := context.Background()

  	// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
  	ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
  	// Replace `<YOUR_PRIVATE_KEY>` with your private key
  	ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
  		Secret: "<YOUR_PRIVATE_KEY>",
  	})
  	resp, r, err := apiClient.DevelopersAPI.ListCallbackMessages(ctx).
  		CallbackMessageIds(callbackMessageIds).
  		RequestIds(requestIds).
  		TransactionIds(transactionIds).
  		WalletIds(walletIds).
  		Status(status).
  		Limit(limit).
  		Before(before).
  		After(after).
  		Execute()
  	if err != nil {
  		fmt.Fprintf(
  			os.Stderr,
  			"Error when calling `DevelopersAPI.ListCallbackMessages``: %v\n",
  			err,
  		)
  		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
  	}
  	// response from `ListCallbackMessages`: ListCallbackMessages200Response
  	fmt.Fprintf(os.Stdout, "Response from `DevelopersAPI.ListCallbackMessages`: %v\n", resp)
  }

  ```

  ```javascript JavaScript theme={null}
  const CoboWaas2 = require("@cobo/cobo-waas2");
  // Initialize the API client
  const apiClient = CoboWaas2.ApiClient.instance;
  // Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
  apiClient.setEnv(CoboWaas2.Env.DEV);
  // Replace `<YOUR_PRIVATE_KEY>` with your private key
  apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
  // Call the API
  const apiInstance = new CoboWaas2.DevelopersApi();
  const opts = {
    callback_message_ids:
      "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479",
    request_ids:
      "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479",
    transaction_ids:
      "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479",
    wallet_ids:
      "f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479",
    status: "Approved",
    limit: 10,
    before: "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1",
    after: "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk",
  };
  apiInstance.listCallbackMessages(opts).then(
    (data) => {
      console.log("API called successfully. Returned data: " + data);
    },
    (error) => {
      console.error(error);
    },
  );

  ```
</RequestExample>


## OpenAPI

````yaml get /developers/callback_messages
openapi: 3.0.3
info:
  title: Cobo Wallet as a Service 2.0
  description: >
    The Cobo Wallet-as-a-Service (WaaS) 2.0 API is the latest version of Cobo's
    WaaS API offering. It enables you to access Cobo's full suite of crypto
    wallet technologies with powerful and flexible access controls. By
    encapsulating complex security protocols and streamlining blockchain
    interactions, this API allows you to concentrate on your core business
    activities without worrying about the safety of your assets. The WaaS 2.0
    API presents the following key features:


    - A unified API for Cobo's [all four wallet
    types](https://manuals.cobo.com/en/portal/introduction#an-all-in-one-wallet-platform)

    - Support for 80+ chains and 3000+ tokens

    - A comprehensive selection of webhook events

    - Flexible usage models for MPC Wallets, including [Organization-Controlled
    Wallets](https://manuals.cobo.com/en/portal/mpc-wallets/ocw/introduction)
    and [User-Controlled
    Wallets](https://manuals.cobo.com/en/portal/mpc-wallets/ucw/introduction)

    - Programmatic control of smart contract wallets such as Safe{Wallet} with
    fine-grained access controls

    - Seamlessly transfer funds across multiple exchanges, including Binance,
    OKX, Bybit, Deribit, and more


    For more information about the WaaS 2.0 API, see [Introduction to WaaS
    2.0](https://www.cobo.com/developers/v2/guides/overview/introduction).
  termsOfService: https://cobo.com/waas/tos/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  contact:
    name: Cobo WaaS
    url: https://www.cobo.com/waas
    email: help@cobo.com
  version: 1.0.0
servers:
  - url: https://api.dev.cobo.com/v2
    description: Development environment
  - url: https://api.cobo.com/v2
    description: Production environment
security:
  - CoboAuth: []
tags:
  - name: Organizations
    description: Operations related to Organizations.
  - name: Wallets
    description: Operations related to all wallets.
  - name: Wallets - MPC Wallets
    description: Operations related to mpc wallet.
  - name: Wallets - Exchange Wallet
    description: Operations related to exchange wallet.
  - name: Wallets - Smart Contract Wallets
    description: Operations related to smart contract wallet.
  - name: Transactions
    description: Operations related to all transactions.
  - name: Developers - Webhooks
    description: Operations related to webhooks.
  - name: Stakings
    description: Operations related to staking.
  - name: OAuth
    description: Operations related to OAuth.
  - name: Developers
    description: Operations related to developers.
  - name: AddressBooks
    description: Operations related to address books.
  - name: TravelRule
    description: Operations related to travel rule.
  - name: GraphQL
    description: Operations related to executing GraphQL queries and mutations.
  - name: PrimeBroker
    description: Operations related to prime broker.
  - name: AppWorkflows
    description: Operations related to app workflow.
  - name: FeeStation
    description: Operations related to fee station.
  - name: Payment
    description: Operations related to payment.
  - name: Batch Payouts
    description: Operations related to batch payouts.
  - name: Tokenization
    description: Operations related to tokenization.
  - name: AutoSweep
    description: Operations related to auto sweep.
  - name: Compliance
    description: Operations related to compliance.
paths:
  /developers/callback_messages:
    get:
      tags:
        - Developers
      summary: List all callback messages
      description: >
        This operation retrieves all the callback messages in your organization.


        For more details about how to respond to callback messages, refer to
        [Callback
        messages](https://www.cobo.com/developers/v2/guides/webhooks-callbacks/set-up-endpoint#callback-messages).
      operationId: list_callback_messages
      parameters:
        - $ref: '#/components/parameters/optionalCallbackMessageIdsParam'
        - $ref: '#/components/parameters/optionalRequestIdsParam'
        - $ref: '#/components/parameters/optionalTransactionIdsParam'
        - $ref: '#/components/parameters/optionalWalletIdsParam'
        - $ref: '#/components/parameters/optionalCallbackStatusParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/beforeParam'
        - $ref: '#/components/parameters/afterParam'
      responses:
        '200':
          $ref: '#/components/responses/listCallbackMessagesResponse'
        4XX:
          $ref: '#/components/responses/badRequestError'
        5XX:
          $ref: '#/components/responses/internalServerError'
      security:
        - CoboAuth: []
        - OAuth2:
            - callback.read
components:
  parameters:
    optionalCallbackMessageIdsParam:
      name: callback_message_ids
      in: query
      required: false
      schema:
        type: string
      example: >-
        f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479
      description: A list of callback message IDs, separated by commas.
    optionalRequestIdsParam:
      name: request_ids
      in: query
      required: false
      schema:
        type: string
      example: >-
        f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479
      description: >-
        A list of request IDs, separated by commas. The request ID is provided
        by you and must be unique within your organization.
    optionalTransactionIdsParam:
      name: transaction_ids
      in: query
      required: false
      schema:
        type: string
      example: >-
        f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479
      description: A list of transaction IDs, separated by commas.
    optionalWalletIdsParam:
      name: wallet_ids
      in: query
      required: false
      schema:
        type: string
      example: >-
        f47ac10b-58cc-4372-a567-0e02b2c3d479,f47ac10b-58cc-4372-a567-0e02b2c3d479
      description: A list of wallet IDs, separated by commas.
    optionalCallbackStatusParam:
      name: status
      in: query
      required: false
      schema:
        type: string
        enum:
          - Denied
          - Approved
          - Failed
      example: Approved
      description: >-
        The callback message status. Possible values include `Approved`,
        `Denied`, and `Failed`.
    limitParam:
      name: limit
      in: query
      description: >-
        The maximum number of objects to return. For most operations, the value
        range is [1, 50].
      required: false
      schema:
        type: integer
        format: int32
        default: 10
      example: 10
    beforeParam:
      name: before
      in: query
      description: >
        A cursor indicating the position before the current page. This value is
        generated by Cobo and returned in the response. If you are paginating
        forward from the beginning, you do not need to provide it on the first
        request. When paginating backward (to the previous page), you should
        pass the before value returned from the last response.
      required: false
      schema:
        type: string
      example: RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1
    afterParam:
      name: after
      in: query
      description: >
        A cursor indicating the position after the current page. This value is
        generated by Cobo and returned in the response. You do not need to
        provide it on the first request. When paginating forward (to the next
        page), you should pass the after value returned from the last response.
      required: false
      schema:
        type: string
      example: RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk
  responses:
    listCallbackMessagesResponse:
      description: The information about callback messages.
      content:
        application/json:
          schema:
            type: object
            required:
              - data
              - pagination
            properties:
              data:
                type: array
                items:
                  $ref: '#/components/schemas/CallbackMessage'
              pagination:
                $ref: '#/components/schemas/Pagination'
    badRequestError:
      description: >-
        Bad request. Your request contains malformed syntax or invalid
        parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    internalServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    CallbackMessage:
      type: object
      description: The information about a callback message.
      required:
        - id
        - created_timestamp
        - updated_timestamp
        - request_id
        - transaction_id
        - url
        - data
        - status
      properties:
        id:
          type: string
          format: uuid
          description: The callback message ID.
          example: 00000000-0000-0000-0000-000000000000
        created_timestamp:
          type: integer
          format: int64
          description: >-
            The time when the callback message was created, in Unix timestamp
            format, measured in milliseconds.
          example: 1640918000000
        updated_timestamp:
          type: integer
          format: int64
          description: >-
            The time when the callback message was updated, in Unix timestamp
            format, measured in milliseconds.
          example: 1640918000000
        request_id:
          type: string
          example: '1734602498819'
          description: The request ID of the transaction.
        transaction_id:
          type: string
          description: The transaction ID.
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
        wallet_id:
          type: string
          description: The wallet ID.
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
        url:
          type: string
          description: The callback endpoint URL.
          example: https://example.com/withdraw_callback
        data:
          $ref: '#/components/schemas/Transaction'
        status:
          type: string
          enum:
            - Denied
            - Approved
            - Failed
          description: >
            The callback message status. Possible values include `Denied`,
            `Approved`, and `Failed`.
          example: Approved
        result:
          type: string
          enum:
            - ok
            - deny
          description: >
            The callback message result. Possible values include `ok` and
            `deny`.
          example: ok
    Pagination:
      type: object
      description: The pagination information of the returned data.
      required:
        - before
        - after
        - total_count
      properties:
        before:
          type: string
          example: RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1
          description: >
            An object ID used to retrieve records before the specified object,
            indicating earlier or smaller records relative to the current
            dataset. You can use it to paginate backwards. 


            If empty, it means you have reached the start of the data.  


            Most API endpoints sort by object ID, but some use other fields
            depending on the endpoint.
        after:
          type: string
          example: RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk
          description: >
            An object ID used to retrieve records after the specified object,
            indicating newer or larger records relative to the current dataset.
            You can use it to paginate forwards.  


            If empty, it means you have reached the end of the data.  


            Most API endpoints sort by object ID, but some use other fields
            depending on the endpoint.
        total_count:
          type: integer
          example: 10000
          description: >-
            The total number of records that match the query criteria,
            unaffected by the pagination parameters (`before` , `after`, and
            `limit`).
    ErrorResponse:
      type: object
      description: The response of a failed request.
      required:
        - error_code
        - error_message
        - error_id
      properties:
        error_code:
          type: integer
          description: >-
            The error code. Refer to [Error codes and status
            codes](https://www.cobo.com/developers/v2/api-references/error-codes)
            for more details.
        error_message:
          type: string
          description: The error description.
        error_id:
          type: string
          description: >-
            The error log ID. You can provide the error ID when submitting a
            ticket to help Cobo to locate the issue.
          example: 0b6ddf19083c4bd1a9ca01bec44b24dd
    Transaction:
      type: object
      description: The information about a transaction.
      required:
        - transaction_id
        - wallet_id
        - transaction_type
        - status
        - initiator_type
        - source
        - destination
        - created_timestamp
        - updated_timestamp
      properties:
        transaction_id:
          type: string
          description: The transaction ID.
          format: uuid
          example: aff0e1cb-15b2-4e1f-9b9d-a9133715986f
        cobo_id:
          type: string
          description: The Cobo ID, which can be used to track a transaction.
          example: '20231213122855000000000000000000'
        request_id:
          type: string
          description: >-
            The request ID that is used to track a transaction request. The
            request ID is provided by you and must be unique within your
            organization.
          example: 760a1955-e212-4dfb-a8d0-e66312a1a051
        wallet_id:
          type: string
          description: >-
            For deposit transactions, this property represents the wallet ID of
            the transaction destination. For transactions of other types, this
            property represents the wallet ID of the transaction source.
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
        type:
          $ref: '#/components/schemas/TransactionType'
        status:
          $ref: '#/components/schemas/TransactionStatus'
        sub_status:
          $ref: '#/components/schemas/TransactionSubStatus'
        failed_reason:
          type: string
          description: >-
            (This property is applicable to approval failures and signature
            failures only) The reason why the transaction failed.
          example: Rejected by signer Cobo TSS
        chain_id:
          type: string
          description: >-
            The chain ID, which is the unique identifier of a blockchain. You
            can retrieve the IDs of all the chains you can use by calling [List
            enabled
            chains](https://www.cobo.com/developers/v2/api-references/wallets/list-enabled-chains).
          example: ETH
        token_id:
          type: string
          description: >-
            The token ID, which is the unique identifier of a token. You can
            retrieve the IDs of all the tokens you can use by calling [List
            enabled
            tokens](https://www.cobo.com/developers/v2/api-references/wallets/list-enabled-tokens).
          example: ETH_USDT
        asset_id:
          type: string
          description: >-
            (This concept applies to Exchange Wallets only) The asset ID. An
            asset ID is the unique identifier of the asset held within your
            linked exchange account.
          example: USDT
        source:
          oneOf:
            - $ref: '#/components/schemas/TransactionCustodialAssetWalletSource'
            - $ref: '#/components/schemas/TransactionCustodialWeb3WalletSource'
            - $ref: '#/components/schemas/TransactionMPCWalletSource'
            - $ref: '#/components/schemas/TransactionSmartContractSafeWalletSource'
            - $ref: '#/components/schemas/TransactionExchangeWalletSource'
            - $ref: '#/components/schemas/TransactionDepositFromAddressSource'
            - $ref: '#/components/schemas/TransactionDepositFromWalletSource'
            - $ref: '#/components/schemas/TransactionDepositFromLoopSource'
          discriminator:
            propertyName: source_type
            mapping:
              Asset:
                $ref: '#/components/schemas/TransactionCustodialAssetWalletSource'
              Web3:
                $ref: '#/components/schemas/TransactionCustodialWeb3WalletSource'
              Org-Controlled:
                $ref: '#/components/schemas/TransactionMPCWalletSource'
              User-Controlled:
                $ref: '#/components/schemas/TransactionMPCWalletSource'
              Safe{Wallet}:
                $ref: '#/components/schemas/TransactionSmartContractSafeWalletSource'
              Main:
                $ref: '#/components/schemas/TransactionExchangeWalletSource'
              Sub:
                $ref: '#/components/schemas/TransactionExchangeWalletSource'
              DepositFromAddress:
                $ref: '#/components/schemas/TransactionDepositFromAddressSource'
              DepositFromWallet:
                $ref: '#/components/schemas/TransactionDepositFromWalletSource'
              DepositFromLoop:
                $ref: '#/components/schemas/TransactionDepositFromLoopSource'
        destination:
          oneOf:
            - $ref: '#/components/schemas/TransactionTransferToAddressDestination'
            - $ref: '#/components/schemas/TransactionTransferToWalletDestination'
            - $ref: '#/components/schemas/TransactionEvmContractDestination'
            - $ref: '#/components/schemas/TransactionSolContractDestination'
            - $ref: '#/components/schemas/TransactionCosmosContractDestination'
            - $ref: '#/components/schemas/TransactionMessageSignEIP191Destination'
            - $ref: '#/components/schemas/TransactionMessageSignEIP712Destination'
            - $ref: '#/components/schemas/TransactionRawMessageSignDestination'
            - $ref: '#/components/schemas/TransactionDepositToAddressDestination'
            - $ref: '#/components/schemas/TransactionDepositToWalletDestination'
            - $ref: '#/components/schemas/TransactionBIP137Destination'
            - $ref: '#/components/schemas/TransactionBIP322Destination'
            - $ref: '#/components/schemas/TransactionCosmosAdr36Destination'
            - $ref: '#/components/schemas/TransactionStellarDestination'
            - $ref: '#/components/schemas/TransactionTronContractDestination'
          discriminator:
            propertyName: destination_type
            mapping:
              Address:
                $ref: '#/components/schemas/TransactionTransferToAddressDestination'
              CustodialWallet:
                $ref: '#/components/schemas/TransactionTransferToWalletDestination'
              ExchangeWallet:
                $ref: '#/components/schemas/TransactionTransferToWalletDestination'
              EVM_Contract:
                $ref: '#/components/schemas/TransactionEvmContractDestination'
              SOL_Contract:
                $ref: '#/components/schemas/TransactionSolContractDestination'
              COSMOS_Contract:
                $ref: '#/components/schemas/TransactionCosmosContractDestination'
              EVM_EIP_191_Signature:
                $ref: '#/components/schemas/TransactionMessageSignEIP191Destination'
              EVM_EIP_712_Signature:
                $ref: '#/components/schemas/TransactionMessageSignEIP712Destination'
              BTC_BIP_137_Signature:
                $ref: '#/components/schemas/TransactionBIP137Destination'
              BTC_BIP_322_Signature:
                $ref: '#/components/schemas/TransactionBIP322Destination'
              COSMOS_ADR_36_Signature:
                $ref: '#/components/schemas/TransactionCosmosAdr36Destination'
              Raw_Message_Signature:
                $ref: '#/components/schemas/TransactionRawMessageSignDestination'
              DepositToAddress:
                $ref: '#/components/schemas/TransactionDepositToAddressDestination'
              DepositToWallet:
                $ref: '#/components/schemas/TransactionDepositToWalletDestination'
              STELLAR_Contract:
                $ref: '#/components/schemas/TransactionStellarDestination'
              TRON_Contract:
                $ref: '#/components/schemas/TransactionTronContractDestination'
        result:
          $ref: '#/components/schemas/TransactionResult'
        fee:
          $ref: '#/components/schemas/TransactionFee'
        initiator:
          type: string
          description: The transaction initiator.
          example: 'API Prod Key #1'
        initiator_type:
          $ref: '#/components/schemas/TransactionInitiatorType'
        confirmed_num:
          type: integer
          format: int32
          description: The number of confirmations this transaction has received.
          example: 12
        confirming_threshold:
          type: integer
          format: int32
          description: >-
            The minimum number of confirmations required to deem a transaction
            secure. The common threshold is 6 for a Bitcoin transaction.
          example: 15
        transaction_hash:
          type: string
          description: The transaction hash.
          example: 239861be9a4afe080c359b7fe4a1d035945ec46256b1a0f44d1267c71de8ec28
        block_info:
          $ref: '#/components/schemas/TransactionBlockInfo'
        raw_tx_info:
          $ref: '#/components/schemas/TransactionRawTxInfo'
        replacement:
          type: object
          properties:
            replaced_by_type:
              $ref: '#/components/schemas/ReplaceType'
            replaced_by_transaction_id:
              type: string
              description: The ID of the transaction that this transaction was replaced by.
              format: uuid
              example: aff0e1cb-15b2-4e1f-9b9d-a9133715986f
            replaced_by_transaction_hash:
              type: string
              description: >-
                The hash of the transaction that this transaction was replaced
                by.
              example: 239861be9a4afe080c359b7fe4a1d035945ec46256b1a0f44d1267c71de8ec28
            replaced_type:
              $ref: '#/components/schemas/ReplaceType'
            replaced_transaction_id:
              type: string
              description: The ID of the transaction that this transaction replaced.
              format: uuid
              example: aff0e1cb-15b2-4e1f-9b9d-a9133715986f
            replaced_transaction_hash:
              type: string
              description: The hash of the transaction that this transaction replaced.
              example: 239861be9a4afe080c359b7fe4a1d035945ec46256b1a0f44d1267c71de8ec28
        category:
          type: array
          items:
            $ref: '#/components/schemas/TransactionCategory'
          description: >-
            A custom transaction category for you to identify your transfers
            more easily.
        description:
          type: string
          description: The description for your transaction.
          example: withdrawal to exchange trading account
        is_loop:
          type: boolean
          description: >
            Whether the transaction was executed as a [Cobo
            Loop](https://manuals.cobo.com/en/portal/custodial-wallets/cobo-loop)
            transfer.

            - `true`: The transaction was executed as a Cobo Loop transfer.

            - `false`: The transaction was not executed as a Cobo Loop transfer.
          example: false
        cobo_category:
          type: array
          items:
            type: string
            example: AutoFueling
          description: >
            The transaction category defined by Cobo. For more details, refer to
            [Cobo-defined
            categories](/v2/guides/transactions/manage-transactions#cobo-defined-categories).
        extra:
          type: array
          items:
            type: string
            example: >
              {"extra_type":"BabylonBusinessInfo","btc_address_info":{"address":"tb1p8k9f36798z5wkfd3mlq00cjm82c7sp5hudlqaxkdvfw4xaywvw4qzzv2xz","chain_id":"SIGNET_BTC","memo":"","path":"44/1/5/0/4","encoding":"ENCODING_P2TR","pubkey":"xpub6FkyaGRDyh4hayxmbY4YX7q9fuuxt14dNoYv5TphsKLnChVXSaTxY7DPwdeN8Yys5FLhfuajG8pshdXWk9cTzBFUy5rVA4Lx9kwmFUqhZcC","x_only_pubkey":"","root_pubkey":"xpub661MyMwAqRbcGFdLxNuuQvnPTLFs1xHpFQz5iumoDnw4NPofkE8SSrtwUmoy3E52HtcxCH9wXCfhztuuiuusvB3kAb4nt9rT4bkXxujubKm","taproot_script_tree_hash":"","taproot_internal_address":""}}
          description: >
            A list of JSON-encoded strings containing structured,
            business-specific extra information for the transaction. Each item
            corresponds to a specific data type, indicated by the `extra_type`
            field in the JSON object (for example, "BabylonBusinessInfo",
            "BtcAddressInfo").
        fueling_info:
          $ref: '#/components/schemas/TransactionFuelingInfo'
        created_timestamp:
          type: integer
          format: int64
          description: >-
            The time when the transaction was created, in Unix timestamp format,
            measured in milliseconds.
          example: 1610445878970
        updated_timestamp:
          type: integer
          format: int64
          description: >-
            The time when the transaction was updated, in Unix timestamp format,
            measured in milliseconds.
          example: 1610445878970
    TransactionType:
      type: string
      enum:
        - Deposit
        - Withdrawal
        - ContractCall
        - MessageSign
        - ExternalSafeTx
        - Stake
        - Unstake
      example: Deposit
      description: |
        The transaction type. Possible values include: 
          - `Deposit`: A deposit transaction.
          - `Withdrawal`: A withdrawal transaction.
          - `ContractCall`: A transaction that interacts with a smart contract.
          - `MessageSign`: A transaction that signs a message. 
          - `ExternalSafeTx`: A transaction to a Smart Contract Wallet (Safe{Wallet}) that requires one or multiple signatures to be executed.
          - `Stake`: A transaction that creates a staking request.
          - `Unstake`: A transaction that creates a unstaking request.
    TransactionStatus:
      type: string
      enum:
        - Submitted
        - PendingScreening
        - PendingAuthorization
        - PendingSignature
        - Broadcasting
        - Confirming
        - Completed
        - Failed
        - Rejected
        - Pending
      example: Submitted
      description: >
        The transaction status. For more details including sub-statuses, please
        refer to [Transaction statuses and
        sub-statuses](https://www.cobo.com/developers/v2/guides/transactions/status).
    TransactionSubStatus:
      type: string
      enum:
        - RejectedKYT
        - PendingDoubleCheck
        - PendingSpenderCheck
        - PendingRiskControlCheck
        - PendingApproverCheck
        - RejectedCoboCheck
        - RejectedByCobo
        - RejectedWhiteList
        - RejectedDoubleCheck
        - RejectedSpenderAuth
        - RejectedRiskControlCheck
        - RejectedApproverAuth
        - RejectedbyMobileCosigner
        - Built
        - PendingWaitSigner
        - PendingApprovalStart
        - PendingSignerApproval
        - PendingSignerProcessing
        - RejectedBySigner
        - FailedBySigner
        - FailedSignerTimeout
        - FailedBroadcasting
        - FailedOnChain
        - Reverting
        - Queue
        - InsufficientBalance
        - InsufficientBalanceFundLocked
        - PendingSystemProcessing
        - SystemProcessingOngoing
        - PendingBlockConfirmations
        - ReOrged
        - ReplacedByNewTransaction
        - CanceledBySpender
        - CanceledByAPI
        - OnchainRejection
        - RejectedTravelRule
        - RejectedTravelRuleDueToCompliance
        - PendingTravelRuleInfo
        - PendingTravelRuleCheck
        - RejectedTravelRuleDueToUnsupportedToken
        - SignatureVerificationSuccess
        - SignatureVerificationFailed
        - PendingCoboCheck
        - RejectedTransactionPolicy
        - RejectedByScreeningApp
        - PendingScreeningAppCheck
        - PendingCoboKYTCheck
        - RejectedByCoboKYT
        - PendingCoboTravelRuleCheck
      example: PendingDoubleCheck
      description: >
        The transaction sub-status. For more details, please refer to
        [Transaction statuses and
        sub-statuses](https://www.cobo.com/developers/v2/guides/transactions/status).
    TransactionCustodialAssetWalletSource:
      type: object
      description: >
        Information about the transaction source type `Asset`. Refer to
        [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction sources.
      title: Asset
      required:
        - source_type
        - wallet_id
      properties:
        source_type:
          $ref: '#/components/schemas/TransactionSourceType'
        wallet_id:
          type: string
          format: uuid
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          description: The wallet ID.
    TransactionCustodialWeb3WalletSource:
      type: object
      description: >
        Information about the transaction source type `Web3`. Refer to
        [Transaction sources and
        destinations](/v2/guides/transactions/sources-and-destinations) for a
        detailed introduction about the supported sources and destinations for
        each transaction type.


        Switch between the tabs to display the properties for different
        transaction sources.
      title: Web3
      required:
        - source_type
        - wallet_id
      properties:
        source_type:
          $ref: '#/components/schemas/TransactionSourceType'
        wallet_id:
          type: string
          format: uuid
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          description: The wallet ID.
        address:
          type: string
          description: The wallet address.
          example: 19AR6YWEGbSoY8UT9Ksy9WrmrZPD5sL4Ku
        included_utxos:
          type: array
          items:
            $ref: '#/components/schemas/TransactionUtxo'
        excluded_utxos:
          type: array
          items:
            $ref: '#/components/schemas/TransactionUtxo'
    TransactionMPCWalletSource:
      type: object
      description: >
        Information about the transaction source type `Org-Controlled` and
        `User-Controlled`. Refer to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction sources.
      title: Org-Controlled/User-Controlled
      required:
        - source_type
        - wallet_id
      properties:
        source_type:
          $ref: '#/components/schemas/TransactionSourceType'
        wallet_id:
          type: string
          format: uuid
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          description: The wallet ID.
        address:
          type: string
          description: The wallet address.
          example: 19AR6YWEGbSoY8UT9Ksy9WrmrZPD5sL4Ku
        included_utxos:
          type: array
          items:
            $ref: '#/components/schemas/TransactionUtxo'
        excluded_utxos:
          type: array
          items:
            $ref: '#/components/schemas/TransactionUtxo'
        signer_key_share_holder_group_id:
          type: string
          description: >-
            The ID of the key share holder group that is selected to sign the
            transaction.
          example: b33130a9-6e18-44a9-9e48-8b3b41921f0e
    TransactionSmartContractSafeWalletSource:
      type: object
      description: >
        Information about the transaction source type `Safe{Wallet}`. Refer to
        [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction sources.
      title: Safe{Wallet}
      required:
        - source_type
        - wallet_id
        - address
      properties:
        source_type:
          $ref: '#/components/schemas/TransactionSourceType'
        wallet_id:
          type: string
          format: uuid
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          description: The wallet ID.
        address:
          type: string
          description: The wallet address.
          example: '0x1234567890123456789012345678901234567890'
        delegate:
          $ref: '#/components/schemas/CoboSafeDelegate'
    TransactionExchangeWalletSource:
      type: object
      description: >
        Information about the transaction source types `Main` and `Sub`. Refer
        to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction sources.
      title: Main/Sub
      required:
        - source_type
        - exchange_id
        - wallet_id
      properties:
        source_type:
          $ref: '#/components/schemas/TransactionSourceType'
        exchange_id:
          $ref: '#/components/schemas/ExchangeId'
        wallet_id:
          type: string
          format: uuid
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          description: The wallet ID.
        trading_account_type:
          type: string
          description: The exchange trading account or a sub-wallet ID.
          example: Asset
    TransactionDepositFromAddressSource:
      type: object
      description: >
        Information about the transaction source type `DepositFromAddress`.
        Refer to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction sources.
      title: DepositFromAddress
      required:
        - source_type
        - addresses
      properties:
        source_type:
          $ref: '#/components/schemas/TransactionSourceType'
        wallet_id:
          type: string
          format: uuid
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          description: The wallet ID.
        wallet_type:
          $ref: '#/components/schemas/WalletType'
        wallet_subtype:
          $ref: '#/components/schemas/WalletSubtype'
        addresses:
          type: array
          items:
            type: string
            example: 19AR6YWEGbSoY8UT9Ksy9WrmrZPD5sL4Ku
          description: A list of addresses.
    TransactionDepositFromWalletSource:
      type: object
      description: >
        Information about the transaction source type `DepositFromWallet`. Refer
        to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction sources.
      title: DepositFromWallet
      required:
        - source_type
        - wallet_id
        - wallet_type
        - wallet_subtype
      properties:
        source_type:
          $ref: '#/components/schemas/TransactionSourceType'
        wallet_id:
          type: string
          format: uuid
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          description: The wallet ID.
        wallet_type:
          $ref: '#/components/schemas/WalletType'
        wallet_subtype:
          $ref: '#/components/schemas/WalletSubtype'
        trading_account_type:
          type: string
          description: The exchange trading account or a sub-wallet ID.
          example: Asset
    TransactionDepositFromLoopSource:
      type: object
      description: >
        Information about the transaction source type `DepositFromLoop`. Refer
        to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction sources.
      title: DepositFromLoop
      required:
        - source_type
      properties:
        source_type:
          $ref: '#/components/schemas/TransactionSourceType'
    TransactionTransferToAddressDestination:
      type: object
      description: >
        Information about the transaction destination type `Address`. Refer to
        [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      title: Address
      required:
        - destination_type
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        account_output:
          type: object
          properties:
            address:
              type: string
              description: The destination address.
              example: 19AR6YWEGbSoY8UT9Ksy9WrmrZPD5sL4Ku
            memo:
              type: string
              description: >-
                The memo that identifies a transaction in order to credit the
                correct account. For transfers out of Cobo Portal, it is highly
                recommended to include a memo for the chains such as XRP, EOS,
                XLM, IOST, BNB_BNB, ATOM, LUNA, and TON.
              example: '82840924'
            amount:
              type: string
              description: >
                The transfer amount. For example, if you trade 1.5 BTC, then the
                value is `1.5`.
              example: '1.5'
        utxo_outputs:
          type: array
          items:
            type: object
            properties:
              address:
                type: string
                description: The destination address.
                example: 19AR6YWEGbSoY8UT9Ksy9WrmrZPD5sDEMO
              amount:
                type: string
                description: >
                  The transfer amount. For example, if you trade 1.5 BTC, then
                  the value is `1.5`.
                example: '1.5'
        change_address:
          type: string
          description: >-
            The address used to receive the remaining funds or change from the
            transaction.
          example: 19AR6YWEGbSoY8UT9Ksy9WrmrZPD5sDEMO
        force_internal:
          type: boolean
          description: >
            Whether the transaction request must be executed as a [Cobo
            Loop](https://manuals.cobo.com/en/portal/custodial-wallets/cobo-loop)
            transfer.
              - `true`: The transaction request must be executed as a Cobo Loop transfer.
              - `false`: The transaction request may not be executed as a Cobo Loop transfer.

            If both `force_internal` and `force_external` are set to `false`,
            the system uses Cobo Loop by default if possible; otherwise, it
            proceeds with an on-chain transfer.
          example: false
        force_external:
          type: boolean
          description: >
            Whether the transaction request must not be executed as a [Cobo
            Loop](https://manuals.cobo.com/en/portal/custodial-wallets/cobo-loop)
            transfer.
              - `true`: The transaction request must not be executed as a Cobo Loop transfer.
              - `false`: The transaction request can be executed as a Cobo Loop transfer.

            If both `force_internal` and `force_external` are set to `false`,
            the system uses Cobo Loop by default if possible; otherwise, it
            proceeds with an on-chain transfer.
          example: false
    TransactionTransferToWalletDestination:
      type: object
      description: >
        Information about the transaction destination type `CustodialWallet` or
        `ExchangeWallet`. Refer to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      title: Wallet
      required:
        - destination_type
        - wallet_id
        - amount
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        wallet_id:
          type: string
          format: uuid
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          description: The wallet ID.
        trading_account_type:
          type: string
          description: >-
            The trading account type. This field is only applicable when
            `destination_type` is `ExchangeWallet`.
          example: Asset
        exchange_id:
          $ref: '#/components/schemas/ExchangeId'
        amount:
          type: string
          description: >
            The transfer amount. For example, if you trade 1.5 BTC, then the
            value is `1.5`.
          example: '1.5'
    TransactionEvmContractDestination:
      title: EVM_Contract
      type: object
      description: >
        Information about the transaction destination type `EVM_Contract`. Refer
        to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      required:
        - destination_type
        - address
        - calldata
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        address:
          type: string
          description: The destination address.
          example: '0x0406db8351aa6839169bb363f63c2c808fee8f99'
        value:
          type: string
          description: >
            The transfer amount. For example, if you trade 1.5 ETH, then the
            value is `1.5`.
          example: '1.5'
        calldata:
          type: string
          description: >
            The data used to invoke a specific function or method within the
            specified contract at the destination address, with a maximum length
            of 65,000 characters.
          example: >-
            0xa22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c71000000000000000000000000000000000000000000000000000000000000DEMO
        calldata_info:
          $ref: '#/components/schemas/TransactionEvmCalldataInfo'
    TransactionSolContractDestination:
      title: SOL_Contract
      type: object
      description: >
        The information about the transaction destination type `SOL_Contract`.
        Refer to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      required:
        - destination_type
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        instructions:
          type: array
          items:
            $ref: '#/components/schemas/TransactionSolContractInstruction'
        address_lookup_table_accounts:
          type: array
          items:
            $ref: >-
              #/components/schemas/TransactionSolContractAddressLookupTableAccount
    TransactionCosmosContractDestination:
      title: COSMOS_Contract
      type: object
      description: >
        Information about the transaction destination type `COSMOS_Contract`.
        Refer to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      required:
        - destination_type
        - cosmos_messages
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        cosmos_messages:
          type: array
          items:
            $ref: '#/components/schemas/TransactionCosmosMessage'
    TransactionMessageSignEIP191Destination:
      title: EVM_EIP_191_Signature
      description: >
        Information about the transaction destination type
        `EVM_EIP_191_Signature`. Refer to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      type: object
      required:
        - destination_type
        - message
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        message:
          type: string
          description: The raw data of the message to be signed, encoded in Base64 format.
          example: YWFhYQ==
    TransactionMessageSignEIP712Destination:
      title: EVM_EIP_712_Signature
      description: >
        Information about the transaction destination type
        `EVM_EIP_712_Signature`. Refer to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      type: object
      required:
        - destination_type
        - structured_data
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        raw_structured_data:
          type: string
          description: The raw structured data to be signed, formatted as a JSON string.
        structured_data:
          type: object
          additionalProperties: true
          description: >-
            The structured data to be signed, formatted as a JSON object
            according to the EIP-712 standard.
          example: >
            {"types": {"EIP712Domain": [{"name": "name", "type": "string"},
            {"name": "version", "type": "string"}, {"name": "chainId", "type":
            "uint256"}, {"name": "verifyingContract", "type": "address"}],
            "Person": [{"name": "name", "type": "string"}, {"name": "wallet",
            "type": "address"}], "Mail": [{"name": "from", "type": "Person"},
            {"name": "to", "type": "Person"}, {"name": "contents", "type":
            "string"}]}, "primaryType": "Mail", "domain": {"name": "Ether Mail",
            "version": "1", "chainId": 1, "verifyingContract":
            "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"}, "message": {"from":
            {"name": "Cow", "wallet":
            "0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826"}, "to": {"name": "Bob",
            "wallet": "0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB"}, "contents":
            "Hello, Bob!"}}
        safe_tx_extra_data:
          $ref: '#/components/schemas/SafeTxExtraData'
    TransactionRawMessageSignDestination:
      title: Raw_Message_Signature
      description: >
        The information about the destination `Raw_Message_Signature`. Refer to
        [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      type: object
      required:
        - destination_type
        - message
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        msg_hash:
          type: string
          description: Message hash to be signed, in hexadecimal format.
    TransactionDepositToAddressDestination:
      type: object
      description: >
        Information about the transaction destination type `DepositToAddress`.
        Refer to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      title: DepositToAddress
      required:
        - destination_type
        - wallet_id
        - wallet_type
        - address
        - amount
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        wallet_id:
          type: string
          format: uuid
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          description: The wallet ID.
        wallet_type:
          $ref: '#/components/schemas/WalletType'
        wallet_subtype:
          $ref: '#/components/schemas/WalletSubtype'
        address:
          type: string
          description: The destination address.
          example: 19AR6YWEGbSoY8UT9Ksy9WrmrZPD5sL4Ku
        memo:
          type: string
          description: >-
            The memo that identifies a transaction in order to credit the
            correct account. For transfers out of Cobo Portal, it is highly
            recommended to include a memo for the chains such as XRP, EOS, XLM,
            IOST, BNB_BNB, ATOM, LUNA, and TON.
          example: '82840924'
        amount:
          type: string
          description: >
            The transfer amount. For example, if you trade 1.5 BTC, then the
            value is `1.5`.
          example: '1.5'
        tx_info:
          type: object
          properties:
            vout_n:
              type: integer
              description: The output index of the UTXO.
              example: 0
            object_id:
              type: string
              description: >-
                The ID of the blockchain object to spend (e.g., SUI Coin
                object).
              example: >-
                0x11af4b844ff94b3fbef6e36b518da3ad4c5856fa686464524a876b463d129760
            version:
              type: string
              description: Object version number.
              example: '1'
    TransactionDepositToWalletDestination:
      type: object
      description: >
        Information about the transaction destination type `DepositToWallet`.
        Refer to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      title: DepositToWallet
      required:
        - destination_type
        - wallet_id
        - wallet_type
        - wallet_subtype
        - amount
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        wallet_id:
          type: string
          format: uuid
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          description: The wallet ID.
        wallet_type:
          $ref: '#/components/schemas/WalletType'
        wallet_subtype:
          $ref: '#/components/schemas/WalletSubtype'
        trading_account_type:
          type: string
          description: The trading account type.
          example: Asset
        exchange_id:
          $ref: '#/components/schemas/ExchangeId'
        amount:
          type: string
          description: >
            The transfer amount. For example, if you trade 1.5 BTC, then the
            value is `1.5`.
          example: '1.5'
    TransactionBIP137Destination:
      title: BTC_BIP_137_Signature
      description: >
        The information about the destination `BTC_BIP_137_Signature`. Refer to
        [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      type: object
      required:
        - destination_type
        - message_bip137
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        message_bip137:
          type: string
          description: Message to be signed, in hexadecimal format.
    TransactionBIP322Destination:
      title: BTC_BIP_322_Signature
      description: >
        The information about the destination `BTC_BIP_322_Signature`. Refer to
        [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      type: object
      required:
        - destination_type
        - message_bip322
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        message_bip322:
          type: string
          description: Message to be signed, in hexadecimal format.
    TransactionCosmosAdr36Destination:
      title: COSMOS_ADR_36_Signature
      description: >
        The information about the destination `COSMOS_ADR_36_Signature`. Refer
        to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      type: object
      required:
        - destination_type
        - message_cosmos_adr36
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        message_cosmos_adr36:
          type: string
          description: Message to be signed, in hexadecimal format.
    TransactionStellarDestination:
      title: STELLAR_Contract
      type: object
      description: >-
        The information about the transaction destination type
        `STELLAR_Contract`. Refer to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.
      required:
        - destination_type
        - contract_param
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        contract_param:
          $ref: '#/components/schemas/TransactionStellarContractParam'
    TransactionTronContractDestination:
      title: TRON_Contract
      type: object
      description: >
        Information about the transaction destination type `TRON_Contract`.
        Refer to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.


        Switch between the tabs to display the properties for different
        transaction destinations.
      required:
        - destination_type
        - address
        - calldata
      properties:
        destination_type:
          $ref: '#/components/schemas/TransactionDestinationType'
        address:
          type: string
          description: The destination address.
          example: '0x0406db8351aa6839169bb363f63c2c808fee8f99'
        value:
          type: string
          description: >
            The transfer amount. For example, if you trade 1.5 TRX, then the
            value is `1.5`.
          example: '1.5'
        calldata:
          type: string
          description: >
            The data that is used to invoke a specific function or method within
            the specified contract at the destination address.
          example: >-
            0xa22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c71000000000000000000000000000000000000000000000000000000000000DEMO
    TransactionResult:
      oneOf:
        - $ref: '#/components/schemas/TransactionSignatureResult'
      discriminator:
        propertyName: result_type
        mapping:
          Signature:
            $ref: '#/components/schemas/TransactionSignatureResult'
    TransactionFee:
      oneOf:
        - $ref: '#/components/schemas/TransactionEvmEip1559Fee'
        - $ref: '#/components/schemas/TransactionEvmLegacyFee'
        - $ref: '#/components/schemas/TransactionUtxoFee'
        - $ref: '#/components/schemas/TransactionFixedFee'
        - $ref: '#/components/schemas/TransactionSOLFee'
        - $ref: '#/components/schemas/TransactionFILFee'
      discriminator:
        propertyName: fee_type
        mapping:
          EVM_EIP_1559:
            $ref: '#/components/schemas/TransactionEvmEip1559Fee'
          EVM_Legacy:
            $ref: '#/components/schemas/TransactionEvmLegacyFee'
          UTXO:
            $ref: '#/components/schemas/TransactionUtxoFee'
          Fixed:
            $ref: '#/components/schemas/TransactionFixedFee'
          SOL:
            $ref: '#/components/schemas/TransactionSOLFee'
          FIL:
            $ref: '#/components/schemas/TransactionFILFee'
    TransactionInitiatorType:
      type: string
      enum:
        - API
        - Web
        - App
        - External
      example: API
      description: |
        The transaction initiator type. Possible values include:
          - `API`: An API initiator, who initiates the transaction by using the WaaS API.
          - `Web`: An web initiator, who initiates the transaction from Cobo Portal.
          - `App`: An App initiator, who initiates the transaction from Cobo Portal Apps.
          - `External`: An external initiator, who initiates the transaction outside Cobo.
    TransactionBlockInfo:
      type: object
      description: The information about the transaction block.
      properties:
        block_number:
          type: integer
          format: int64
          description: The block number.
          example: 123
        block_timestamp:
          type: integer
          format: int64
          description: >-
            The time when the block was created, in Unix timestamp format,
            measured in milliseconds.
          example: 1717740319
        block_hash:
          type: string
          description: The block hash.
          example: '0xc9ee947f8bb6027c161888bf0d004bec05e7c2beec7e6b187dc512174e438735'
    TransactionRawTxInfo:
      type: object
      description: The raw transaction information.
      properties:
        used_nonce:
          type: integer
          format: int64
          description: The transaction nonce.
          example: 9
        selected_utxos:
          type: array
          description: The selected UTXOs to be consumed in the transaction.
          items:
            $ref: '#/components/schemas/TransactionSelectedUtxo'
        raw_tx:
          type: string
          description: The raw transaction data.
          example: >-
            0xa22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c71000000000000000000000000000000000000000000000000000000000000DEMO
        unsigned_raw_tx:
          type: string
          description: The unsigned raw transaction data.
          example: >-
            0xa22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c71000000000000000000000000000000000000000000000000000000000000DEMO
        utxo_change:
          deprecated: true
          description: Deprecated. Use `utxo_changes` instead.
          allOf:
            - $ref: '#/components/schemas/TransactionUtxoChange'
        utxo_changes:
          type: array
          description: The UTXO change outputs in the transaction.
          items:
            $ref: '#/components/schemas/TransactionUtxoChange'
    ReplaceType:
      type: string
      enum:
        - Drop
        - Resend
        - SpeedUp
      example: Resend
      description: >
        The `replaced_by_type` property indicates the replacement type of the
        transaction that this transaction was replaced by, and the
        `replaced_type` property indicates the replacement type of the
        transaction that this transaction replaced.

        Possible values include: 
          - `Drop`: To drop a transaction.
          - `Resend`: To resend a transaction.
          - `SpeedUp`: To speed up a transaction.
    TransactionCategory:
      type: string
      example: Payment
    TransactionFuelingInfo:
      type: object
      description: >-
        Details of the auto-fueling transaction that provides gas for the
        current transaction.
      properties:
        request_id:
          type: string
          description: The request ID of the transaction.
          example: gas_760a1955-e212-4dfb-a8d0-e66312a1a051
        transaction_id:
          type: string
          description: The transaction ID.
          format: uuid
          example: b0530b27-104f-4338-87de-de01500326ea
        main_transaction_id:
          type: string
          description: >-
            The UUID of the parent (main) transaction that this record is
            associated with. Set only when the current record is a gas/fee
            transaction initiated by Fee Station; omit for main transactions.
          format: uuid
          example: b0530b27-104f-4338-87de-de01500326ea
    TransactionSourceType:
      type: string
      enum:
        - Asset
        - Web3
        - Org-Controlled
        - User-Controlled
        - Safe{Wallet}
        - Main
        - Sub
        - DepositFromAddress
        - DepositFromWallet
        - DepositFromLoop
      example: DepositFromAddress
      description: >
        The transaction source. Refer to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.
    TransactionUtxo:
      type: object
      description: The UTXO information.
      properties:
        tx_hash:
          type: string
          description: The transaction hash of the UTXO.
          example: 7014d7d9b91862d7131f7543d84da3bec60e20be93c23ad01167c48b778fdemo
        vout_n:
          type: integer
          description: The output index of the UTXO.
          example: 0
    CoboSafeDelegate:
      oneOf:
        - $ref: '#/components/schemas/MPCDelegate'
      discriminator:
        propertyName: delegate_type
        mapping:
          Org-Controlled:
            $ref: '#/components/schemas/MPCDelegate'
          User-Controlled:
            $ref: '#/components/schemas/MPCDelegate'
    ExchangeId:
      type: string
      enum:
        - binance
        - okx
        - deribit
        - bybit
        - gate
        - bitget
        - bitmart
        - bitfinex
      description: |
        The ID of the exchange. Possible values include:
          - `binance`: Binance.
          - `okx`: OKX.
          - `deribit`: Deribit.
          - `bybit`: Bybit.
          - `gate`: Gate.io
          - `bitget`: Bitget
          - `bitmart`: BitMart
          - `bitfinex`: Bitfinex
      example: binance
    WalletType:
      type: string
      enum:
        - Custodial
        - MPC
        - SmartContract
        - Exchange
      example: Custodial
      description: >
        The wallet type. Possible values include:


        - `Custodial`: [Custodial
        Wallets](https://manuals.cobo.com/en/portal/custodial-wallets/introduction)


        - `MPC`: [MPC
        Wallets](https://manuals.cobo.com/en/portal/mpc-wallets/introduction)


        - `SmartContract`: [Smart Contract
        Wallets](https://manuals.cobo.com/en/portal/smart-contract-wallets/introduction)


        - `Exchange`: [Exchange
        Wallets](https://manuals.cobo.com/en/portal/exchange-wallets/introduction)
    WalletSubtype:
      type: string
      enum:
        - Asset
        - Web3
        - Org-Controlled
        - User-Controlled
        - Safe{Wallet}
        - Main
        - Sub
      example: Asset
      description: >
        The wallet sub-type. Possible values include:

        - `Asset`: Custodial Wallets (Asset Wallets).

        - `Web3`: Custodial Wallets (Web3 Wallets).

        - `Org-Controlled`: MPC Wallets (Organization-Controlled Wallets).

        - `User-Controlled`: MPC Wallets (User-Controlled Wallets).

        - `Safe{Wallet}`: Smart Contract Wallets (Safe).

        - `Main`: Exchange Wallets (Main Account).

        - `Sub`: Exchange Wallets (Sub Account).


        Each wallet sub-type requires a different set of properties. Switch
        between the above tabs for details.
    TransactionDestinationType:
      type: string
      enum:
        - Address
        - CustodialWallet
        - ExchangeWallet
        - EVM_Contract
        - SOL_Contract
        - STELLAR_Contract
        - COSMOS_Contract
        - TRON_Contract
        - EVM_EIP_191_Signature
        - EVM_EIP_712_Signature
        - BTC_BIP_137_Signature
        - BTC_BIP_322_Signature
        - COSMOS_ADR_36_Signature
        - Raw_Message_Signature
        - DepositToAddress
        - DepositToWallet
      example: Address
      description: >
        The transaction destination type. Refer to [Transaction sources and
        destinations](https://www.cobo.com/developers/v2/guides/transactions/sources-and-destinations)
        for a detailed introduction about the supported sources and destinations
        for each transaction type.
    TransactionEvmCalldataInfo:
      type: object
      properties:
        chain_id:
          type: string
          description: The ID of the chain on which the smart contract is issued.
          example: ETH
        address:
          type: string
          description: The address of the smart contract.
          example: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84'
        name:
          type: string
          description: The name of the smart contract.
          example: AppProxyUpgradeable
        impl_address:
          type: string
          description: >-
            The address of the implementation smart contract. This property is
            applicable only when the specified smart contract is a proxy
            contract.
          example: '0x17144556fd3424edc8fc8a4c940b2d04936d17eb'
        impl_name:
          type: string
          description: >-
            The name of the implementation smart contract. This property is
            applicable only when the specified smart contract is a proxy
            contract.
          example: Lido
        proxy:
          type: boolean
          description: >
            Whether the specified smart contract address is a proxy contract.

            - `true`: The specified smart contract address is a proxy contract.

            - `false`: The specified smart contract address is not a proxy
            contract.
          example: true
        method:
          $ref: '#/components/schemas/TransactionEvmContractMethod'
        params:
          type: string
          description: >
            The parameters of the contract method are represented as a JSON
            array of arrays. Each element in the outer array is itself an array
            containing three elements that provide detailed information about a
            specific parameter:

            - Parameter name: The unique identifier of the parameter, such as
            `kind`, `swaps`, and `to`.

            - Parameter type: The Solidity data type of the parameter, such as
            `uint8`, `tuple[]`, `address[]`, and `int256[]`.

            - Parameter value: The actual value of the parameter. If the
            parameter type is a basic type such as `uint256` or `address`, this
            value is a single element. If the parameter type is a complex type
            such as `tuple[]` or `address[]`, the value is a nested array, with
            each inner array containing parameter names, types, and values.
          example: >-
            [["exactInput", "tuple", [["dstReceiver", "address",
            "0xbbff75515f6e924441c3d80af4714edf19911111"], ["wrappedToken",
            "address", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"], ["router",
            "uint256",
            "452312848583266388373324160887510303453432363010492966520592108215996663949"],
            ["amount", "uint256", "10000000000000000"], ["minReturnAmount",
            "uint256", "369987456553029"], ["fee", "uint256", "30000000000000"],
            ["path", "address[]", [["[0]", "address",
            "0x0000000000000000000000000000000000000000"], ["[1]", "address",
            "0x1ae21d57afc033a556ef63daa216046321b3d391"]]], ["pool",
            "address[]", [["[0]", "address",
            "0x725522665fa5e1fa2912fed453dc0044deda5cfd"]]], ["signature",
            "bytes", "0x"], ["channel", "string", "android"]]], ["deadline",
            "uint256", "1729582030"]]
    TransactionSolContractInstruction:
      title: SOL Instruction
      type: object
      description: sol contract instruction
      properties:
        accounts:
          type: array
          items:
            $ref: '#/components/schemas/TransactionSolContractAccount'
        data:
          type: string
          description: |
            data used for calling Solana contract..
          example: 'Canary TX 4, slot: 219858117'
        program_id:
          type: string
          description: >
            contract address. when calling a Solana contract, the to_address
            parameter needs to match the program_id parameter. If multiple
            contracts are being called, then the to_address parameter should
            match the program_id parameter of the first instruction.
          example: MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr
    TransactionSolContractAddressLookupTableAccount:
      title: SOL Address Lookup Table Account
      type: object
      description: The information about a Solana Address Lookup Table account.
      required:
        - alt_account_key
        - addresses
      properties:
        alt_account_key:
          type: string
          description: >-
            The on-chain public key of the Address Lookup Table (ALT) account,
            identifying the specific lookup table.
          example: ALT1Xyz9A1b2C3D4E5F6G7H8I9J0K1L2M3N4O5P6Q
        addresses:
          type: array
          items:
            type: string
            example: G7a1b2C3D4E5F6G7H8I9J0K1L2M3N4O5P6Q7R8S9
          description: >-
            An array of stored account addresses within the lookup table, which
            can be referenced in transactions by index.
    TransactionCosmosMessage:
      title: Cosmos Message
      type: object
      description: The information about the Cosmos message.
      required:
        - type_url
        - message
      properties:
        type_url:
          type: string
          description: |
            The type URL of the Cosmos message.
          example: /babylon.btcstaking.v1.MsgCreateBTCDelegation
        message:
          type: string
          description: |
            The Base64-encoded Cosmos message.
          example: >-
            eyJ0eXBlIjoiYmFiY29zZS5idGNzdGFnaW5nLnYxLk1zZ0NyZWF0ZUJUQ0RlbGVnYXRpb24iLCJtZXNzYWdlIjp7ImNvbW1hbmRfaWQiOiJjb21tYW5kX2lkIiwibWVzc2FnZV92YWx1ZSI6Im1lc3NhZ2VfdmFsdWUiLCJtZXNzYWdlX3R5cGUiOiJtZXNzYWdlX3R5cGUifX0=
    SafeTxExtraData:
      type: object
      description: >-
        The information used to construct and sign Safe{Wallet} transactions
        using the EIP-712 standard.
      required:
        - to
        - value
        - data
        - domain_hash
        - message_hash
        - safe_address
        - safe_tx_hash
        - safe_nonce
        - operation
      properties:
        to:
          type: string
          description: The recipient address of the transaction.
          example: '0x1234567890abcdef1234567890abcdef12345678'
        value:
          type: string
          description: The human-readable transaction value, for example, `1 ETH`.
          example: 1 ETH
        data:
          type: string
          description: The transaction call data.
          example: 0xabcdef...
        domain_hash:
          type: string
          description: The EIP-712 domain separator hash.
          example: 0xabcdef123456...
        message_hash:
          type: string
          description: The hash of the structured message to be signed.
          example: 0xabcdef123456...
        safe_address:
          type: string
          description: The address of the Safe contract.
          example: '0xabcdefabcdefabcdefabcdefabcdefabcdef'
        safe_tx_hash:
          type: string
          description: The hash of the transaction.
          example: 0x123456abcdef...
        safe_nonce:
          type: integer
          description: The nonce of the transaction.
          example: 42
        operation:
          type: string
          description: The operation type for the transaction.
          example: Call
        gas_token_addr:
          type: string
          description: The address of the token used to pay gas.
          example: 0xabcdefabcdef...
        safe_tx_gas:
          type: integer
          description: The gas limit used for the transaction.
          example: 21000
        base_gas:
          type: integer
          description: The base gas for the transaction.
          example: 5000
        gas_price:
          type: string
          description: The gas price used in the transaction.
          example: '100'
        refund_receiver:
          type: string
          description: The address used to receive the gas refund.
          example: 0xabcdefabcdef...
        to_contract_name:
          type: string
          description: The name of the recipient contract (if available).
          example: UniswapV2Router
        decoded_data:
          $ref: '#/components/schemas/SafeTxDecodedData'
        signature:
          type: string
          description: The signature of the transaction (if signed by Cobo Signer).
          example: 0xabcdef123456...
        wei:
          type: string
          nullable: true
          description: The transaction amount in Wei.
          example: '1000000000000000000'
    TransactionStellarContractParam:
      oneOf:
        - $ref: '#/components/schemas/TransactionStellarTrustLineParam'
      discriminator:
        propertyName: contract_type
        mapping:
          TrustLine:
            $ref: '#/components/schemas/TransactionStellarTrustLineParam'
    TransactionSignatureResult:
      title: Signature
      description: The result of a message signing transaction.
      type: object
      required:
        - signature
      properties:
        result_type:
          $ref: '#/components/schemas/TransactionResultType'
        signature:
          type: string
          description: The raw data of the signature.
          example: '0x6a8d82c2b080c18e7c1d187a95b3d9b0b9b20454d5e1d784b8a4625d16772d3f'
    TransactionEvmEip1559Fee:
      type: object
      description: >
        The transaction fee actually charged by the chain that uses the EIP-1559
        fee model. 


        For more information about the EIP-1559 fee model, see [Fee
        models](https://www.cobo.com/developers/v2/guides/transactions/estimate-fees#fee-models).


        Switch between the tabs to display the properties for different
        transaction fee models.
      title: EVM_EIP_1559
      required:
        - fee_type
      allOf:
        - type: object
          properties:
            fee_type:
              $ref: '#/components/schemas/FeeType'
            token_id:
              type: string
              description: The token used to pay the transaction fee.
              example: ETH
            effective_gas_price:
              type: string
              description: >-
                The gas price (gas fee per gas unit) on the chain, in wei. The
                gas price represents the amount of ETH that must be paid to
                validators for processing transactions.
              example: '100000000'
            fee_used:
              type: string
              description: The actually charged transaction fee.
              example: '0.1'
            estimated_fee_used:
              type: string
              description: The estimated transaction fee.
              example: '0.1'
            gas_used:
              type: string
              description: The number of gas units used in the transaction.
              example: '100000000'
        - $ref: '#/components/schemas/EvmEip1559FeeBasePrice'
        - $ref: '#/components/schemas/FeeGasLimit'
    TransactionEvmLegacyFee:
      type: object
      description: >
        The transaction fee actually charged by the chain that uses the legacy
        fee model. 


        For more information about the Legacy fee model, see [Fee
        models](https://www.cobo.com/developers/v2/guides/transactions/estimate-fees#fee-models).


        Switch between the tabs to display the properties for different
        transaction fee models.
      title: EVM_Legacy
      required:
        - fee_type
      allOf:
        - type: object
          properties:
            fee_type:
              $ref: '#/components/schemas/FeeType'
            token_id:
              type: string
              description: The token used to pay the transaction fee.
              example: ETH
            fee_used:
              type: string
              description: The actually charged transaction fee.
              example: '0.1'
            estimated_fee_used:
              type: string
              description: The estimated transaction fee.
              example: '0.1'
            gas_used:
              type: string
              description: The gas units used in the transaction.
              example: '100000000'
        - $ref: '#/components/schemas/EvmLegacyFeeBasePrice'
        - $ref: '#/components/schemas/FeeGasLimit'
    TransactionUtxoFee:
      type: object
      description: >
        The transaction fee actually charged by the chain that uses the UTXO fee
        model, such as Bitcoin.


        For more information about the UTXO fee model, see [Fee
        models](https://www.cobo.com/developers/v2/guides/transactions/estimate-fees#fee-models).


        Switch between the tabs to display the properties for different
        transaction fee models.
      title: UTXO
      required:
        - fee_type
      allOf:
        - type: object
          properties:
            fee_type:
              $ref: '#/components/schemas/FeeType'
            token_id:
              type: string
              description: The token used to pay the transaction fee.
              example: BTC
            fee_used:
              type: string
              description: The actually charged transaction fee.
              example: '0.1'
            estimated_fee_used:
              type: string
              description: The estimated transaction fee.
              example: '0.1'
            max_fee_amount:
              type: string
              description: >-
                The maximum fee that you are willing to pay for the transaction.
                The transaction will fail if the transaction fee exceeds the
                maximum fee.
              example: '0.1'
        - $ref: '#/components/schemas/UtxoFeeBasePrice'
    TransactionFixedFee:
      type: object
      description: >
        The transaction fee actually charged by the chain that uses the fixed
        fee model. 


        For more information about the fixed fee model, see [Fee
        models](https://www.cobo.com/developers/v2/guides/transactions/estimate-fees#fee-models).


        Switch between the tabs to display the properties for different
        transaction fee models.
      required:
        - fee_type
      title: Fixed
      allOf:
        - type: object
          properties:
            fee_type:
              $ref: '#/components/schemas/FeeType'
            token_id:
              type: string
              description: The token used to pay the transaction fee.
              example: TRON
            fee_used:
              type: string
              description: The actually charged transaction fee.
              example: '0.1'
            estimated_fee_used:
              type: string
              description: The estimated transaction fee.
              example: '0.1'
        - $ref: '#/components/schemas/MaxFeeAmount'
    TransactionSOLFee:
      type: object
      description: >
        The transaction fee actually charged by the chain that uses the Solana
        fee model.


        For more details about the Solana fee model, see [Fee
        models](https://www.cobo.com/developers/v2/guides/transactions/estimate-fees#fee-models).


        Switch between the tabs to display the properties for different
        transaction fee models.
      title: SOL
      required:
        - fee_type
      allOf:
        - type: object
          properties:
            fee_type:
              $ref: '#/components/schemas/FeeType'
            token_id:
              type: string
              description: The token used to pay the transaction fee.
              example: SOL
            fee_used:
              type: string
              description: The actually charged transaction fee.
              example: '0.1'
            estimated_fee_used:
              type: string
              description: The estimated transaction fee.
              example: '0.1'
        - $ref: '#/components/schemas/SOLBase'
        - $ref: '#/components/schemas/SOLComputeUnit'
    TransactionFILFee:
      type: object
      description: >
        The transaction fee actually charged by the chain that uses the Filecoin
        fee model.


        For more details about the Filecoin fee model, see [Fee
        models](https://www.cobo.com/developers/v2/guides/transactions/estimate-fees#fee-models).


        Switch between the tabs to display the properties for different
        transaction fee models.
      title: FIL
      required:
        - fee_type
      allOf:
        - type: object
          properties:
            fee_type:
              $ref: '#/components/schemas/FeeType'
            token_id:
              type: string
              description: The token used to pay the transaction fee.
              example: FIL
            fee_used:
              type: string
              description: The actually charged transaction fee.
              example: '0.1'
            estimated_fee_used:
              type: string
              description: The estimated transaction fee.
              example: '0.1'
        - $ref: '#/components/schemas/FILBase'
        - $ref: '#/components/schemas/FILPrice'
    TransactionSelectedUtxo:
      type: object
      description: The selected UTXO information.
      properties:
        tx_hash:
          type: string
          description: The transaction hash of the UTXO.
          example: 7014d7d9b91862d7131f7543d84da3bec60e20be93c23ad01167c48b778fdemo
        vout_n:
          type: integer
          description: The output index of the UTXO.
          example: 0
        token_id:
          type: string
          description: The token ID of the UTXO.
          example: BTC
        address:
          type: string
          description: The address of the UTXO.
          example: 2N2xFZtbCFB6Nb3Pj9Sxsx5mX2fxX3yEgkE
        value:
          type: string
          description: The value of the UTXO.
          example: '0.5'
        redeem_script:
          type: string
          description: The redeem script used in P2SH and P2WSH transactions.
          example: '0x1cc56cbbac4622082221a8768d1d0901'
        revealed_script:
          type: string
          description: The revealed script used for Taproot script-path spend transaction.
          example: '0x1cc56cbbac4622082221a8768d1d0901'
        object_id:
          type: string
          description: The ID of the blockchain object to spend (e.g., SUI Coin object).
          example: '0x11af4b844ff94b3fbef6e36b518da3ad4c5856fa686464524a876b463d129760'
        version:
          type: string
          description: Object version number.
          example: '1'
    TransactionUtxoChange:
      type: object
      description: The UTXO change output information.
      properties:
        address:
          type: string
          description: The receiving address of the UTXO change output.
          example: 2N2xFZtbCFB6Nb3Pj9Sxsx5mX2fxX3yEgkE
        value:
          type: string
          description: The amount of the UTXO change output.
          example: '0.5'
        token_id:
          type: string
          description: The token ID of the UTXO change output.
          example: BTC
    MPCDelegate:
      title: MPC Wallet Delegate
      description: >-
        The information about the MPC Wallet as the Delegate. You can call the
        [List
        Delegates](https://www.cobo.com/developers/v2/api-references/wallets--smart-contract-wallets/list-delegates)
        operation to retrieve the applicable Delegates.
      type: object
      required:
        - delegate_type
        - wallet_id
        - address
      properties:
        delegate_type:
          $ref: '#/components/schemas/CoboSafeDelegateType'
        wallet_id:
          type: string
          format: uuid
          example: 123e4567-e89b-12d3-a456-426614174000
          description: >-
            The wallet ID of the Delegate. This is required when initiating a
            transfer or contract call from Smart Contract Wallets
            (Safe{Wallet}).
        address:
          type: string
          example: '0x1234567890123456789012345678901234567890'
          description: >-
            The wallet address of the Delegate. This is required when initiating
            a transfer or contract call from Smart Contract Wallets
            (Safe{Wallet}).
    TransactionEvmContractMethod:
      type: object
      properties:
        name:
          type: string
          description: The method name.
          example: transfer
        sig:
          type: string
          description: >-
            The signature of the method, which includes the method name and
            parameter types.
          example: transfer(address,uint256)
        type:
          type: string
          description: The method type.
          example: Function
        payable:
          type: boolean
          description: >
            Whether the method is payable, which means it can receive tokens
            along with the transaction.

            - `true`: The method is payable.

            - `false`: The method is not payable.
          example: true
        selector:
          type: string
          description: >-
            The method selector, a four-byte identifier derived from the
            method's signature, used to invoke the method in a transaction.
          example: '0xa9059cbb'
      description: The information about a method in a smart contract.
    TransactionSolContractAccount:
      title: SOL Instruction Account
      type: object
      description: sol contract instruction account
      properties:
        pubkey:
          type: string
          description: >
            account address. If the account is signer, pubkey needs to match the
            from_address parameter.
          example: E4MhQWiqCLER3fFZNf8LyQFpLWW3BRxtsR5eps3c3vNS
        is_signer:
          type: boolean
          description: |
            boolean value indicating whether the account can sign transactions.
          example: true
        is_writable:
          type: boolean
          description: |
            boolean value indicating whether the account can be modified.
          example: true
    SafeTxDecodedData:
      type: object
      description: The information about the decoded data of the transaction.
      properties:
        method:
          type: string
          description: The name of the method decoded from the transaction data.
          example: transfer
        parameters:
          type: array
          description: The list of parameters decoded from the transaction data.
          items:
            $ref: '#/components/schemas/SafeTxDecodedDataParameters'
    TransactionStellarTrustLineParam:
      title: Stellar_TrustLine_Param
      type: object
      description: Parameters related to Stellar trustline operations.
      required:
        - contract_type
        - token_id
        - operation_type
      properties:
        contract_type:
          $ref: '#/components/schemas/TransactionStellarContractType'
        token_id:
          type: string
          description: The token ID, which is the unique identifier of a token.
          example: XLM_USDC
        operation_type:
          $ref: '#/components/schemas/TransactionStellarTrustLineOperationType'
    TransactionResultType:
      type: string
      enum:
        - Signature
      example: Signature
      description: |
        The transaction result type. Possible values include:
          - `Signature`: An EVM EIP-191 or EVM EIP-712 signature.
    FeeType:
      type: string
      enum:
        - Fixed
        - EVM_EIP_1559
        - EVM_Legacy
        - UTXO
        - SOL
        - FIL
      example: EVM_EIP_1559
      default: EVM_EIP_1559
      description: >
        The fee model. Possible values include:

        - `Fixed`: The fixed fee model. 

        - `EVM_EIP_1559`: The EIP-1559 fee model.

        - `EVM_Legacy`: The legacy fee model.

        - `UTXO`: The fee model used in UTXO-based blockchains, such as Bitcoin.

        - `SOL`: The fee model used in Solana.

        - `FIL`: The fee model used in Filecoin.



        Each fee model requires a different set of properties. Switch between
        the above tabs for details.


        To learn more about the fee models, refer to [Fee
        models](https://www.cobo.com/developers/v2/guides/transactions/estimate-fees#fee-models).
    EvmEip1559FeeBasePrice:
      type: object
      properties:
        max_fee_per_gas:
          type: string
          description: The maximum gas fee per gas unit used on the chain, in wei.
          example: '9000000000000'
        max_priority_fee_per_gas:
          type: string
          description: >-
            The maximum priority fee per gas unit used, in wei. The maximum
            priority fee represents the highest amount of miner tips that you
            are willing to pay for your transaction.
          example: '1000000000000'
    FeeGasLimit:
      type: object
      properties:
        gas_limit:
          type: string
          description: >-
            The gas limit. It represents the maximum number of gas units that
            you are willing to pay for the execution of a transaction or
            Ethereum Virtual Machine (EVM) operation. The gas unit cost of each
            operation varies.
          example: '21000'
    EvmLegacyFeeBasePrice:
      type: object
      properties:
        gas_price:
          type: string
          description: >-
            The gas price, in wei. The gas price represents the amount of ETH
            that must be paid to validators for processing transactions per gas
            unit used.
          example: '100000000'
    UtxoFeeBasePrice:
      type: object
      properties:
        fee_rate:
          type: string
          description: >-
            The fee rate in sat/vByte. The fee rate represents the satoshis you
            are willing to pay for each byte of data that your transaction will
            consume on the blockchain.
          example: '50'
    MaxFeeAmount:
      type: object
      properties:
        max_fee_amount:
          type: string
          description: >-
            The maximum fee that you are willing to pay for the transaction.
            Provide the value without applying precision. The transaction will
            fail if the transaction fee exceeds the maximum fee.
          example: '0.1'
    SOLBase:
      type: object
      properties:
        base_fee:
          type: string
          description: >-
            A fixed fee charged per signature. The default is 5,000 lamports per
            signature.
          example: '0.000005'
        rent_amount:
          type: string
          description: >-
            The rent fee charged by the network to store non–rent-exempt
            accounts on-chain. It is deducted periodically until the account
            maintains the minimum balance required for rent exemption.
          example: '0.00001 '
    SOLComputeUnit:
      type: object
      properties:
        compute_unit_price:
          type: string
          description: >-
            The price paid per compute unit. This value determines the priority
            fee for the transaction, allowing you to increase inclusion
            probability in congested conditions.
          example: '0.0001'
        compute_unit_limit:
          type: string
          description: >-
            The maximum number of compute units your transaction is allowed to
            consume. It sets an upper bound on computational resource usage to
            prevent overload.
          example: '200000'
    FILBase:
      type: object
      properties:
        gas_base:
          type: string
          description: >-
            The minimum fee required for a transaction to be included in a
            block. The base fee is dynamically adjusted based on network
            congestion to maintain target block utilization. It is burned rather
            than paid to miners, reducing the total Filecoin supply over time.
          example: '0.0002'
    FILPrice:
      type: object
      properties:
        gas_premium:
          type: string
          description: >-
            An optional tip you can include to prioritize your transaction. The
            gas premium incentivizes miners to include your transaction sooner
            than those offering only the base fee.
          example: '0.0001'
        gas_fee_cap:
          type: string
          description: The maximum gas price you are willing to pay per unit of gas.
          example: '0.00035'
        gas_limit:
          type: string
          description: The maximum amount of gas your transaction is allowed to consume.
          example: '500'
    CoboSafeDelegateType:
      type: string
      enum:
        - Org-Controlled
        - User-Controlled
      example: Org-Controlled
      default: Org-Controlled
      description: |
        The wallet subtype of the Delegate. Possible values include:
        - `Org-Controlled`: MPC Wallets (Organization-Controlled Wallets).
        - `User-Controlled`: MPC Wallets (User-Controlled Wallets).
    SafeTxDecodedDataParameters:
      type: object
      description: The information about the decoded parameters of the transaction.
      properties:
        name:
          type: string
          description: The name of the parameter.
          example: recipient
        type:
          type: string
          description: The data type of the parameter.
          example: address
        value:
          type: string
          description: The value of the parameter.
          example: '0x1234567890abcdef1234567890abcdef12345678'
        value_decoded:
          type: array
          description: The decoded value of the parameter (if applicable).
          items:
            $ref: '#/components/schemas/SafeTxSubTransaction'
    TransactionStellarContractType:
      type: string
      enum:
        - TrustLine
      example: TrustLine
      description: |
        The type of the Stellar contract.
    TransactionStellarTrustLineOperationType:
      type: string
      enum:
        - ChangeTrust
      example: ChangeTrust
      description: |
        Operations to manage trustlines on the Stellar network.
    SafeTxSubTransaction:
      type: object
      description: The information about the sub-transaction.
      properties:
        operation:
          type: string
          description: The type of operation in the sub-transaction.
          example: Call
        to:
          type: string
          description: The destination address of the sub-transaction.
          example: '0xabcdefabcdefabcdefabcdefabcdefabcdef'
        value:
          type: string
          description: The human-readable transaction value, for example, `1 ETH`.
          example: 1 ETH
        wei:
          type: string
          description: The transaction amount in Wei
          example: '1000000000000000000'
        data:
          type: string
          description: Encoded transaction data
          example: 0xabcdef...
        data_decoded:
          $ref: '#/components/schemas/SafeTxDecodedData'
        to_contract_name:
          type: string
          nullable: true
          description: The name of the recipient contract (if available).
          example: UniswapV2Router
  securitySchemes:
    CoboAuth:
      type: apiKey
      in: header
      name: BIZ-API-KEY
      description: >
        The API key. For more details, refer to [API
        key](https://www.cobo.com/developers/v2/guides/overview/cobo-auth#api-key).


        In the API playground, enter your [API
        secret](https://www.cobo.com/developers/v2/guides/overview/cobo-auth#api-secret),
        and your API key will be accordingly calculated.
    OAuth2:
      type: oauth2
      description: >-
        The [Org Access
        Token](https://www.cobo.com/developers/v2/apps/org-access-tokens). Use
        this authorization method only if you are developing Cobo Portal Apps
        for installation and use across different organizations.
      flows:
        authorizationCode:
          authorizationUrl: https://auth.cobo.com/authorize
          tokenUrl: https://auth.cobo.com/oauth/token
          scopes:
            address_book.read: Read address book
            api_key.read: Read API key information
            callback.read: Read callback message
            callback.resend: Resend callback message
            wallet.create: Create wallet
            wallet.read: Read wallet information
            wallet.update: Update wallet information
            wallet.delete: Delete wallet information
            wallet.create_address: Create wallet address
            wallet.manage_utxo: Manage UTXO
            mpc_project.create: Create MPC project
            mpc_project.read: Read MPC project information
            mpc_project.update: Update MPC project information
            mpc_vault.create: Create MPC Vault
            mpc_vault.read: Read MPC Vault information
            mpc_vault.update: Update MPC Vault information
            mpc_key_group.create: Create MPC key group
            mpc_key_group.read: Read MPC key group information
            mpc_key_group.update: Update MPC key group information
            mpc_key_group.delete: Delete MPC key group information
            transaction.read: Read transaction information
            transaction.withdraw: Make withdrawals
            transaction.estimate_fee: Estimate transaction fee
            transaction.contract_call: Initiate contract calls
            transaction.message_sign: Initiate message signings
            transaction.stake: Stake assets
            transaction.unstake: Unstake assets
            transaction.unstake_withdraw: Withdraw unstaked assets
            transaction.manage: Manage ongoing transactions
            transaction.update: Update transaction notes
            travel_rule.read: Read travel rule information
            travel_rule.edit: Edit travel rule information
            webhook.read: Read webhook URLs/events
            webhook.edit: Edit webhook URLs
            webhook.resend: Resend webhook events
            payment_orders_payin.create: Create pay-in order
            payment_orders_payin.read: Read pay-in order information
            payment_orders_payin.update: Update pay-in order
            payment_orders_refund.create: Create payment refund order
            payment_orders_refund.read: Read payment refund order information
            payment_settlement.create: Create payment settlement request
            payment_settlement.read: Read payment settlement request information
            payment_merchant.create: Create payment merchant
            payment_merchant.read: Read payment merchant information
            payment_merchant.update: Update payment merchant
            payment_forced_sweep.create: Create payment force sweep request
            payment_forced_sweep.read: Read payment force sweep request information
            compliance_funds.refund: Refund compliance funds request
            compliance_funds.isolate: Isolate compliance funds request
            compliance_funds.unfreeze: Unfreeze compliance funds request
            compliance_funds.read: Read compliance funds request information
            compliance_kyt_review.update: Update KYT review status
            compliance_kyt_decisions.update: Update KYT decision status
            compliance_kyt_status.read: Read KYT screening status
            compliance_kya_screenings.create: Create KYA address screening requests
            compliance_kya_screenings.read: Read KYA address screening results

````