> ## 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 webhook events

> This operation retrieves a list of webhook events that have occurred within the last 30 days.

<Note>The request will only return webhook events that have occurred to the wallets associated with your current API key. For example, if the current API key is only associated with Custodial Wallets, any webhook events that have occurred to an MPC Wallet will not be retrieved with the current API key.</Note>


<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_webhook_events200_response import (
      ListWebhookEvents200Response,
  )
  from cobo_waas2.models.webhook_event_status import WebhookEventStatus
  from cobo_waas2.models.webhook_event_type import WebhookEventType
  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.DevelopersWebhooksApi(api_client)
      endpoint_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
      status = cobo_waas2.WebhookEventStatus()
      type = cobo_waas2.WebhookEventType()
      limit = 10
      before = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1"
      after = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk"

      try:
          # List all webhook events
          api_response = api_instance.list_webhook_events(
              endpoint_id,
              status=status,
              type=type,
              limit=limit,
              before=before,
              after=after,
          )
          print("The response of DevelopersWebhooksApi->list_webhook_events:\n")
          pprint(api_response)
      except Exception as e:
          print(
              "Exception when calling DevelopersWebhooksApi->list_webhook_events: %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.DevelopersWebhooksApi;
  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>");
      DevelopersWebhooksApi apiInstance = new DevelopersWebhooksApi();
      UUID endpointId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479");
      WebhookEventStatus status = WebhookEventStatus.fromValue("Success");
      WebhookEventType type = WebhookEventType.fromValue("wallets.transaction.created");
      Integer limit = 10;
      String before = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1";
      String after = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk";
      try {
        ListWebhookEvents200Response result =
            apiInstance.listWebhookEvents(endpointId, status, type, limit, before, after);
        System.out.println(result);
      } catch (ApiException e) {
        System.err.println("Exception when calling DevelopersWebhooksApi#listWebhookEvents");
        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() {
  	endpointId := "f47ac10b-58cc-4372-a567-0e02b2c3d479"
  	status := coboWaas2.WebhookEventStatus("Success")
  	type_ := coboWaas2.WebhookEventType("wallets.transaction.created")
  	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.DevelopersWebhooksAPI.ListWebhookEvents(ctx, endpointId).
  		Status(status).
  		Type_(type_).
  		Limit(limit).
  		Before(before).
  		After(after).
  		Execute()
  	if err != nil {
  		fmt.Fprintf(
  			os.Stderr,
  			"Error when calling `DevelopersWebhooksAPI.ListWebhookEvents``: %v\n",
  			err,
  		)
  		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
  	}
  	// response from `ListWebhookEvents`: ListWebhookEvents200Response
  	fmt.Fprintf(os.Stdout, "Response from `DevelopersWebhooksAPI.ListWebhookEvents`: %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.DevelopersWebhooksApi();
  const endpoint_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479";
  const opts = {
    status: new CoboWaas2.WebhookEventStatus(),
    type: new CoboWaas2.WebhookEventType(),
    limit: 10,
    before: "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1",
    after: "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk",
  };
  apiInstance.listWebhookEvents(endpoint_id, opts).then(
    (data) => {
      console.log("API called successfully. Returned data: " + data);
    },
    (error) => {
      console.error(error);
    },
  );

  ```
</RequestExample>


## OpenAPI

````yaml get /webhooks/endpoints/{endpoint_id}/events
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:
  /webhooks/endpoints/{endpoint_id}/events:
    get:
      tags:
        - Developers - Webhooks
      summary: List all webhook events
      description: >
        This operation retrieves a list of webhook events that have occurred
        within the last 30 days.


        <Note>The request will only return webhook events that have occurred to
        the wallets associated with your current API key. For example, if the
        current API key is only associated with Custodial Wallets, any webhook
        events that have occurred to an MPC Wallet will not be retrieved with
        the current API key.</Note>
      operationId: list_webhook_events
      parameters:
        - $ref: '#/components/parameters/endpointIdParam'
        - in: query
          name: status
          schema:
            $ref: '#/components/schemas/WebhookEventStatus'
          required: false
          example: Success
        - in: query
          name: type
          schema:
            $ref: '#/components/schemas/WebhookEventType'
          required: false
          example: wallets.transaction.updated
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/beforeParam'
        - $ref: '#/components/parameters/afterParam'
      responses:
        '200':
          $ref: '#/components/responses/listWebhookEventsResponse'
        4XX:
          $ref: '#/components/responses/badRequestError'
        5XX:
          $ref: '#/components/responses/internalServerError'
      security:
        - CoboAuth: []
        - OAuth2:
            - webhook.read
components:
  parameters:
    endpointIdParam:
      name: endpoint_id
      in: path
      required: true
      description: >-
        The webhook endpoint ID. You can retrieve a list of webhook endpoint IDs
        by calling [List webhook
        endpoints](https://www.cobo.com/developers/v2/api-references/developers--webhooks/list-webhook-endpoints).
      schema:
        type: string
        format: uuid
      example: f47ac10b-58cc-4372-a567-0e02b2c3d479
    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
  schemas:
    WebhookEventStatus:
      type: string
      enum:
        - Success
        - Retrying
        - Failed
      example: Success
      description: >-
        The event status. Possible values include:

        - `Success`: The event has been delivered, and the webhook endpoint has
        responded to the event.

        - `Retrying`: The event has been delivered, but the webhook endpoint has
        not responded. In this case, Cobo will retry delivering the event.

        - `Failed`: The event cannot be delivered and Cobo will stop retrying.
        This may occur if the number of retries reaches 10, or if the event has
        been delivered but the webhook endpoint responded with an error.
    WebhookEventType:
      type: string
      enum:
        - wallets.transaction.created
        - wallets.transaction.updated
        - wallets.transaction.failed
        - wallets.transaction.succeeded
        - wallets.mpc.tss_request.created
        - wallets.mpc.tss_request.updated
        - wallets.mpc.tss_request.failed
        - wallets.mpc.tss_request.succeeded
        - wallets.addresses.created
        - wallets.created
        - wallets.token_listing.failed
        - wallets.token_listing.succeeded
        - mpc_vaults.created
        - fee_station.transaction.created
        - fee_station.transaction.updated
        - fee_station.transaction.failed
        - fee_station.transaction.succeeded
        - fee_station.fiat_transaction.created
        - wallet.token.enabled
        - wallet.chain.enabled
        - wallet.mpc.balance.updated
        - wallet.web3.balance.updated
        - wallet.token.disabled
        - wallet.chain.disabled
        - token.suspended.deposit
        - token.suspended.withdraw
        - payment.transaction.created
        - payment.transaction.late
        - payment.transaction.completed
        - payment.transaction.held
        - payment.transaction.failed
        - payment.status.updated
        - payment.order.status.updated
        - payment.refund.status.updated
        - payment.settlement.status.updated
        - payment.payout.status.updated
        - payment.address.updated
        - payment.subscription.status.updated
        - payment.charge.status.updated
        - payment.bulk_send.status.updated
        - payment.transaction.external.created
        - payment.transaction.external.completed
        - payment.transaction.settlement_network.created
        - payment.transaction.settlement_network.completed
        - compliance.disposition.status.updated
        - compliance.kyt.screenings.status.updated
        - compliance.kya.screenings.status.updated
      example: wallets.transaction.created
      description: >
        The event type. To learn the trigger condition of each event type, refer
        to [Webhook event types and event
        data](https://www.cobo.com/developers/v2/guides/webhooks-callbacks/webhook-event-type). 
    WebhookEvent:
      type: object
      description: The webhook event payload.
      required:
        - id
        - url
        - created_timestamp
        - type
        - data
      properties:
        event_id:
          description: The event ID.
          type: string
          format: uuid
          example: 8f2e919a-6a7b-4a9b-8c1a-4c0b3f5b8b1f
        url:
          description: The webhook endpoint URL.
          maxLength: 500
          type: string
          format: url
          example: https://example.com/webhook
        created_timestamp:
          description: >
            The time when the event was triggered, in Unix timestamp format
            (milliseconds).

            - The value remains unchanged across retries.

            - The default webhook timeout is 2 seconds.
          type: integer
          format: int64
          example: 1701396866000
        type:
          $ref: '#/components/schemas/WebhookEventType'
        data:
          $ref: '#/components/schemas/WebhookEventData'
        status:
          $ref: '#/components/schemas/WebhookEventStatus'
        next_retry_timestamp:
          description: >
            The timestamp indicating the next scheduled retry to deliver this
            event, in Unix timestamp format, measured in milliseconds. This
            field is only present if the event status is `Retrying`.
          type: integer
          format: int64
          example: 1701396866000
        retries_left:
          description: >-
            The number of retries left. This field is only present if the event
            status is `Retrying`.
          type: integer
          example: 3
    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
    WebhookEventData:
      oneOf:
        - $ref: '#/components/schemas/TransactionWebhookEventData'
        - $ref: '#/components/schemas/TSSRequestWebhookEventData'
        - $ref: '#/components/schemas/AddressesEventData'
        - $ref: '#/components/schemas/WalletInfoEventData'
        - $ref: '#/components/schemas/MPCVaultEventData'
        - $ref: '#/components/schemas/ChainsEventData'
        - $ref: '#/components/schemas/TokensEventData'
        - $ref: '#/components/schemas/TokenListingEventData'
        - $ref: '#/components/schemas/BalanceUpdateInfoEventData'
        - $ref: '#/components/schemas/SuspendedTokenEventData'
        - $ref: '#/components/schemas/PaymentOrderEventData'
        - $ref: '#/components/schemas/PaymentRefundEventData'
        - $ref: '#/components/schemas/PaymentSettlementEvent'
        - $ref: '#/components/schemas/PaymentTransactionEventData'
        - $ref: '#/components/schemas/PaymentAddressUpdateEventData'
        - $ref: '#/components/schemas/PaymentPayoutEvent'
        - $ref: '#/components/schemas/PaymentBulkSendEvent'
        - $ref: '#/components/schemas/ComplianceDispositionUpdateEventData'
        - $ref: '#/components/schemas/ComplianceKytScreeningsUpdateEventData'
        - $ref: '#/components/schemas/ComplianceKyaScreeningsUpdateEventData'
      discriminator:
        propertyName: data_type
        mapping:
          Transaction:
            $ref: '#/components/schemas/TransactionWebhookEventData'
          TSSRequest:
            $ref: '#/components/schemas/TSSRequestWebhookEventData'
          Addresses:
            $ref: '#/components/schemas/AddressesEventData'
          WalletInfo:
            $ref: '#/components/schemas/WalletInfoEventData'
          MPCVault:
            $ref: '#/components/schemas/MPCVaultEventData'
          Chains:
            $ref: '#/components/schemas/ChainsEventData'
          Tokens:
            $ref: '#/components/schemas/TokensEventData'
          TokenListing:
            $ref: '#/components/schemas/TokenListingEventData'
          BalanceUpdateInfo:
            $ref: '#/components/schemas/BalanceUpdateInfoEventData'
          SuspendedToken:
            $ref: '#/components/schemas/SuspendedTokenEventData'
          PaymentOrder:
            $ref: '#/components/schemas/PaymentOrderEventData'
          PaymentRefund:
            $ref: '#/components/schemas/PaymentRefundEventData'
          PaymentSettlement:
            $ref: '#/components/schemas/PaymentSettlementEvent'
          PaymentTransaction:
            $ref: '#/components/schemas/PaymentTransactionEventData'
          PaymentAddressUpdate:
            $ref: '#/components/schemas/PaymentAddressUpdateEventData'
          PaymentPayout:
            $ref: '#/components/schemas/PaymentPayoutEvent'
          PaymentBulkSend:
            $ref: '#/components/schemas/PaymentBulkSendEvent'
          ComplianceDisposition:
            $ref: '#/components/schemas/ComplianceDispositionUpdateEventData'
          ComplianceKytScreenings:
            $ref: '#/components/schemas/ComplianceKytScreeningsUpdateEventData'
          ComplianceKyaScreenings:
            $ref: '#/components/schemas/ComplianceKyaScreeningsUpdateEventData'
    TransactionWebhookEventData:
      title: Transaction
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/Transaction'
    TSSRequestWebhookEventData:
      title: TSSRequest
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/TSSRequest'
    AddressesEventData:
      title: Addresses
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - type: object
          properties:
            addresses:
              type: array
              description: A list of addresses.
              items:
                allOf:
                  - type: object
                    required:
                      - wallet_id
                    properties:
                      wallet_id:
                        type: string
                        description: The wallet ID.
                        example: f47ac10b-58cc-4372-a567-0e02b2c3d479
                  - $ref: '#/components/schemas/AddressInfo'
    WalletInfoEventData:
      title: WalletInfo
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - type: object
          properties:
            wallet:
              $ref: '#/components/schemas/WalletInfo'
    MPCVaultEventData:
      title: MPCVault
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/MPCVault'
    ChainsEventData:
      title: Chains
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - type: object
          required:
            - chains
          properties:
            chains:
              type: array
              items:
                $ref: '#/components/schemas/ChainInfo'
              description: The enabled chains.
            wallet_type:
              $ref: '#/components/schemas/WalletType'
            wallet_subtypes:
              type: array
              items:
                $ref: '#/components/schemas/WalletSubtype'
    TokensEventData:
      title: Tokens
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - type: object
          required:
            - tokens
          properties:
            tokens:
              type: array
              items:
                $ref: '#/components/schemas/TokenInfo'
              description: The enabled tokens.
            wallet_type:
              $ref: '#/components/schemas/WalletType'
            wallet_subtypes:
              type: array
              items:
                $ref: '#/components/schemas/WalletSubtype'
    TokenListingEventData:
      title: Token Listing Event Data
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/TokenListing'
    BalanceUpdateInfoEventData:
      title: BalanceUpdateInfo
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/BalanceUpdateInfo'
    SuspendedTokenEventData:
      title: SuspendedToken
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - type: object
          required:
            - token_ids
            - operation_type
          properties:
            token_ids:
              type: string
              description: A list of token IDs, separated by comma.
            operation_type:
              $ref: '#/components/schemas/SuspendedTokenOperationType'
    PaymentOrderEventData:
      title: Pay-In Order
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/Order'
    PaymentRefundEventData:
      title: Refund
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/Refund'
    PaymentSettlementEvent:
      title: Settlement
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/Settlement'
    PaymentTransactionEventData:
      title: Payment Transaction
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/Transaction'
        - type: object
          required:
            - acquiring_type
          properties:
            acquiring_type:
              $ref: '#/components/schemas/AcquiringType'
            order_id:
              type: string
              description: The pay-in order ID.
              example: O20250304-M1001-1001
            psp_order_code:
              type: string
              description: >-
                A unique reference code assigned by the developer to identify
                this order in their system.
              example: P20240201001
            payer_id:
              type: string
              description: >-
                A unique identifier assigned by Cobo to track and identify
                individual payers.
              example: P20250619T0310056d7aa
            custom_payer_id:
              type: string
              description: >-
                A unique identifier assigned by the developer to track and
                identify individual payers in their system.
              example: user_abc_10001
    PaymentAddressUpdateEventData:
      title: Top-Up Address Update
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - type: object
          required:
            - custom_payer_id
            - payer_id
            - chain
            - previous_address
            - updated_address
          properties:
            custom_payer_id:
              type: string
              description: >-
                A unique identifier assigned by the developer to track and
                identify individual payers in their system.
              example: user_abc_10001
            payer_id:
              type: string
              description: >-
                A unique identifier assigned by Cobo to track and identify
                individual payers.
              example: P20250619T0310056d7aa
            chain:
              type: string
              description: The chain ID.
              example: ETH
            previous_address:
              type: string
              description: The previous top-up address that was assigned to the payer.
              example: 0xAbC123...DEF
            updated_address:
              type: string
              description: The new top-up address that has been assigned to the payer.
              example: 0x789xyz...456
    PaymentPayoutEvent:
      title: Payment payout Event Data
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/PaymentPayoutDetail'
    PaymentBulkSendEvent:
      title: Payment Bulk Send Event Data
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/PaymentBulkSend'
    ComplianceDispositionUpdateEventData:
      title: Compliance Disposition Event Data
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/DispositionEventData'
    ComplianceKytScreeningsUpdateEventData:
      title: KYT Screening Event Data
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/KytScreeningsEventData'
    ComplianceKyaScreeningsUpdateEventData:
      title: Compliance KYA screenings update event data
      allOf:
        - $ref: '#/components/schemas/WebhookEventDataType'
        - $ref: '#/components/schemas/KyaScreeningsEventData'
    WebhookEventDataType:
      type: object
      description: The data type of the event.
      required:
        - data_type
      properties:
        data_type:
          type: string
          enum:
            - Transaction
            - TSSRequest
            - Addresses
            - WalletInfo
            - MPCVault
            - Chains
            - Tokens
            - TokenListing
            - PaymentOrder
            - PaymentRefund
            - PaymentSettlement
            - PaymentTransaction
            - PaymentAddressUpdate
            - PaymentPayout
            - PaymentBulkSend
            - BalanceUpdateInfo
            - SuspendedToken
            - ComplianceDisposition
            - ComplianceKytScreenings
            - ComplianceKyaScreenings
          description: >-

            The data type of the event.

            - `Transaction`: The transaction event data.

            - `TSSRequest`: The TSS request event data.

            - `Addresses`: The addresses event data.

            - `WalletInfo`: The wallet information event data.

            - `MPCVault`: The MPC vault event data.

            - `Chains`: The enabled chain event data.

            - `Tokens`: The enabled token event data.

            - `TokenListing`: The token listing event data.
                  
            - `PaymentOrder`: The payment order event data.

            - `PaymentRefund`: The payment refund event data.

            - `PaymentSettlement`: The payment settlement event data.

            - `PaymentTransaction`: The payment transaction event data.

            - `PaymentAddressUpdate`: The top-up address update event data.

            - `PaymentPayout`: The payment payout event data.

            - `PaymentBulkSend`: The payment bulk send event data.

            - `BalanceUpdateInfo`: The balance update event data.

            - `SuspendedToken`: The token suspension event data.

            - `ComplianceDisposition`: The compliance disposition event data.

            - `ComplianceKytScreenings`: The compliance KYT screenings event
            data.

            - `ComplianceKyaScreenings`: The compliance KYA screenings event
            data.
          example: Transaction
    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
    TSSRequest:
      type: object
      description: The information about the TSS request.
      properties:
        tss_request_id:
          type: string
          description: The TSS request ID.
          example: '20240711114129000132315000003970'
        source_key_share_holder_group:
          $ref: '#/components/schemas/SourceGroup'
        target_key_share_holder_group_id:
          type: string
          description: The target key share holder group ID.
          example: fd9519ae-507b-4605-b108-04d4e5ffcdd3
        type:
          $ref: '#/components/schemas/TSSRequestType'
        status:
          $ref: '#/components/schemas/TSSRequestStatus'
        description:
          type: string
          description: The description of the TSS request.
          example: >-
            This is a request to create key shares using the Recovery Group for
            a key share holder in the Main Group if their key share has been
            lost (e.g. by losing their phone).
        created_timestamp:
          description: >-
            The TSS request's creation time in Unix timestamp format, measured
            in milliseconds.
          type: integer
          format: int64
          example: 1701396866000
    AddressInfo:
      type: object
      description: The address information.
      required:
        - address
        - chain_id
      properties:
        address:
          type: string
          description: The wallet address.
          example: '0x0000000000000000000000000000000000000000'
        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
        memo:
          type: string
          description: The memo code.
          example: '82840924'
        path:
          type: string
          description: >-
            The derivation path of the address. This property applies to MPC
            Wallets only. To learn the meaning of each level in the path, see
            [Path
            levels](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#path-levels).
          example: m/44/0/2/0/0
        encoding:
          $ref: '#/components/schemas/AddressEncoding'
        pubkey:
          type: string
          description: >-
            The public key of the address. This property applies to MPC Wallets
            only.
          example: >-
            xpub6HFaEKt4XdwgEQrQmWr8AEAZ7XBSGh7QYFspwdE86sJn6PjkqsPwVQc2poriBdizqXnTB3UWurJJAZpFnD2DAp9vFTmM2gQ264AArYtFWLH
        x_only_pubkey:
          type: string
          description: The 32-byte x-only public key in hexadecimal format after tweaking.
          example: '0x165ed2f04462ec0d3d44dc8690fa9000903b5a96f14ad7f233c21ff748a17b54'
        root_pubkey:
          type: string
          description: >-
            The root public key of the address. This property applies to MPC
            Wallets only.
          example: >-
            xpub661MyMwAqRbcG4vPNi58VQJrXW8D9VzmauuRq2rTY3oUVnKGuLTxQxvvoEXgLvZ7N9GQXQkWVgKn1rzEUUEm4NdvrBKUqjpNJEnn2UL4rYq
        taproot_script_tree_hash:
          type: string
          description: The information about the new address.
          example: '0x138fdd0f6c3803d45553e730c25924baf7be741b8a72a4e6fdbd9d44cb19f85b'
        taproot_internal_address:
          type: string
          description: The Taproot address before tweaking.
          example: 3HYV6ta67197syD1ZVFganpmL2wLz4RyoC
        stellar_trusted_token_ids:
          type: array
          items:
            type: string
            example: XLM_USDC
          description: >-
            The list of token IDs for which this address has already established
            trustlines on the Stellar network.
    WalletInfo:
      oneOf:
        - $ref: '#/components/schemas/CustodialWalletInfo'
        - $ref: '#/components/schemas/MPCWalletInfo'
        - $ref: '#/components/schemas/SmartContractWalletInfo'
        - $ref: '#/components/schemas/ExchangeWalletInfo'
      discriminator:
        propertyName: wallet_type
        mapping:
          Custodial:
            $ref: '#/components/schemas/CustodialWalletInfo'
          MPC:
            $ref: '#/components/schemas/MPCWalletInfo'
          SmartContract:
            $ref: '#/components/schemas/SmartContractWalletInfo'
          Exchange:
            $ref: '#/components/schemas/ExchangeWalletInfo'
    MPCVault:
      type: object
      description: The data for vault information.
      properties:
        vault_id:
          type: string
          example: YPdbyVaVGqXXjkUsohHw
          description: The vault ID.
        project_id:
          type: string
          example: 0111039d-27fb-49ba-b172-6e0aa80e37ec
          description: The project ID.
        name:
          type: string
          example: Vault name
          description: The vault name.
        type:
          $ref: '#/components/schemas/MPCVaultType'
        root_pubkeys:
          type: array
          items:
            $ref: '#/components/schemas/RootPubkey'
        created_timestamp:
          type: integer
          format: int64
          description: >-
            The vault's creation time in Unix timestamp format, measured in
            milliseconds.
          example: 1718619403933
    ChainInfo:
      type: object
      description: The chain information.
      required:
        - chain_id
      properties:
        chain_id:
          type: string
          description: The chain ID, which is the unique identifier of a blockchain.
          example: ETH
        symbol:
          type: string
          description: >-
            The chain symbol for display purposes, which is the abbreviated name
            of a chain.
          example: ETH
        icon_url:
          type: string
          description: The URL of the chain icon.
          example: https://d.cobo.com/public/logos/ETH.png
        chain_identifier:
          type: string
          description: >-
            A functional identifier used to group blockchains with similar
            execution logic. For example, `ETH` for all EVM-compatible chains
            (Ethereum, BNB Smart Chain, Polygon).
          example: ETH
        explorer_tx_url:
          type: string
          description: >-
            The transaction URL pattern on the blockchain explorer. You can use
            it to concatenate the transaction URLs.
          example: https://etherscan.io/tx/{txn_id}
        explorer_address_url:
          type: string
          description: >-
            The address URL pattern on the blockchain explorer. You can use it
            to concatenate the address URLs.
          example: https://etherscan.io/address/{address}
        require_memo:
          type: boolean
          description: Whether the chain requires a memo.
          example: false
        confirming_threshold:
          type: integer
          format: int32
          description: >-
            The number of confirmations required for an on-chain transaction,
            such as 64 for Ethereum.
          example: 15
        coinbase_maturity:
          type: integer
          format: int32
          description: >-
            The number of confirmations required before a coinbase transaction
            is considered mature and can be spent, for example, 100
            confirmations for BTC.
          example: 15
        caip2_chain_id:
          type: string
          description: >-
            A standardized, unique identifier for blockchain networks (like
            eip155:1 for Ethereum) that combines a namespace and a reference to
            ensure cross-chain compatibility.
          example: eip155:1
    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.
    TokenInfo:
      type: object
      description: The token information.
      required:
        - token_id
        - chain_id
      properties:
        token_id:
          type: string
          description: The token ID, which is the unique identifier of a token.
          example: ETH_USDT
        chain_id:
          type: string
          description: The ID of the chain on which the token operates.
          example: ETH
        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
        symbol:
          type: string
          description: The token symbol, which is the abbreviated name of a token.
          example: USDT
        name:
          type: string
          description: The token name, which is the full name of a token.
          example: Tether USDT
        decimal:
          type: integer
          description: The token decimal.
          example: 18
        icon_url:
          type: string
          description: The URL of the token icon.
          example: https://d.cobo.com/public/logos/USDT.png
        token_address:
          type: string
          description: The token address, if applicable.
          example: '0xdAC17F958D2ee523a2206206994597C13D831ec7'
        fee_token_id:
          type: string
          description: >-
            The fee token ID. A fee token is the token with which you pay
            transaction fees.
          example: ETH
        can_deposit:
          type: boolean
          description: Whether deposits are enabled for this token.
          example: true
        can_withdraw:
          type: boolean
          description: Whether withdrawals are enabled for this token.
          example: true
        dust_threshold:
          type: string
          description: >
            The minimum withdrawal amount for Custodial Wallets. If your
            withdrawal amount is smaller than this threshold, the withdrawal
            request will receive an error.


            Note: [Cobo
            Loop](https://manuals.cobo.com/en/portal/custodial-wallets/cobo-loop)
            transfers do not have this limitation.
          example: '0.00000546'
        custodial_minimum_deposit_threshold:
          type: string
          description: >
            The minimum deposit amount for Custodial Wallets. If the amount you
            deposit to a Custodial Wallet is smaller than this threshold, the
            deposit will not show up on Cobo Portal or trigger any webhook
            events.


            Note: [Cobo
            Loop](https://manuals.cobo.com/en/portal/custodial-wallets/cobo-loop)transfers
            do not have this limitation.
          example: '0.0001'
        asset_model_type:
          $ref: '#/components/schemas/TokenAssetModelType'
    TokenListing:
      type: object
      description: Detailed information about a token listing request.
      required:
        - request_id
        - chain_id
        - wallet_type
        - wallet_subtype
        - contract_address
        - status
        - created_at
        - updated_at
      properties:
        request_id:
          type: string
          description: The unique identifier of the token listing request.
          example: 123e4567e89b12d3a456426614174000
        chain_id:
          type: string
          description: The ID of the blockchain where the token is deployed.
          example: ETH
        contract_address:
          type: string
          description: The token's contract address on the specified blockchain.
          example: '0x6B175474E89094C44Da98b954EedeAC495271d0F'
        wallet_type:
          $ref: '#/components/schemas/WalletType'
        wallet_subtype:
          $ref: '#/components/schemas/WalletSubtype'
        token:
          $ref: '#/components/schemas/TokenInfo'
        status:
          $ref: '#/components/schemas/TokenListingRequestStatus'
        source:
          $ref: '#/components/schemas/TokenListingRequestSource'
        feedback:
          type: string
          description: >-
            The feedback provided by Cobo when a token listing request is
            rejected.
          example: Token has been added to the system
        created_timestamp:
          type: integer
          format: int64
          description: >-
            The time when the request was created in Unix timestamp format,
            measured in milliseconds.
          example: 1625097600000
        updated_timestamp:
          type: integer
          format: int64
          description: >-
            The time when the request was last updated in Unix timestamp format,
            measured in milliseconds.
          example: 1625184000000
    BalanceUpdateInfo:
      type: object
      description: The balance information.
      required:
        - token_id
        - address
        - wallet_uuid
        - updated_timestamp
        - balance
      properties:
        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: BTC
        address:
          type: string
          description: The wallet address.
          example: '0x0000000000000000000000000000000000000000'
        wallet_uuid:
          type: string
          format: uuid
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          description: The wallet ID.
        updated_timestamp:
          type: integer
          format: int64
          example: 1640995200000
          description: >
            The time when the balance updated, in Unix timestamp format,
            measured in milliseconds.
        balance:
          $ref: '#/components/schemas/Balance'
    SuspendedTokenOperationType:
      type: string
      enum:
        - Added
        - Removed
      example: Added
      description: |
        The operation type applied to the list of suspended tokens:
        - Added: The token was added to the suspension list.
        - Removed: The token was removed from the suspension list.
    Order:
      type: object
      required:
        - order_id
        - chain_id
        - payable_amount
        - receive_address
        - fee_amount
        - exchange_rate
        - psp_order_code
        - status
        - received_token_amount
      properties:
        order_id:
          type: string
          description: The order ID.
          example: '5001'
        merchant_id:
          type: string
          description: The merchant ID.
          example: '1001'
        merchant_order_code:
          type: string
          description: >-
            A unique reference code assigned by the merchant to identify this
            order in their system.
          example: M20240201001
        psp_order_code:
          type: string
          description: >-
            A unique reference code assigned by the developer to identify this
            order in their system.
          example: P20240201001
        pricing_currency:
          type: string
          description: The pricing currency of the order.
          example: USD
        pricing_amount:
          type: string
          description: >-
            The base amount of the order, excluding the developer fee (specified
            in `fee_amount`).
          example: '100.00'
        fee_amount:
          type: string
          description: >-
            The developer fee for the order. It is added to the base amount to
            determine the final charge.
          example: '2.00'
        payable_currency:
          type: string
          description: The ID of the cryptocurrency used for payment.
          example: ETH_USDT
        chain_id:
          type: string
          description: >-
            The ID of the blockchain network where the payment transaction
            should be made.
          example: ETH
        payable_amount:
          type: string
          description: The cryptocurrency amount to be paid for this order.
          example: '103.03'
        exchange_rate:
          type: string
          description: >
            The exchange rate between `payable_currency` and `pricing_currency`,
            calculated as (`pricing_amount` + `fee_amount`) / `payable_amount`. 



            <Note>This field is only returned when `payable_amount` was not
            provided in the order creation request. </Note>
          example: '0.99'
        amount_tolerance:
          type: string
          description: >
            The allowed amount deviation, with precision up to 1 decimal place.


            For example, if `payable_amount` is `100.00` and `amount_tolerance`
            is `0.50`:

            - Payer pays 99.55 → Success (difference of 0.45 ≤ 0.5)

            - Payer pays 99.40 → Underpaid (difference of 0.60 > 0.5)
          example: '0.5'
        receive_address:
          type: string
          description: The recipient wallet address to be used for the payment transaction.
          example: '0x1234567890abcdef1234567890abcdef12345678'
        status:
          $ref: '#/components/schemas/OrderStatus'
        received_token_amount:
          type: string
          description: >-
            The total cryptocurrency amount received for this order. Updates
            until the expiration time. Precision matches the token standard
            (e.g., 6 decimals for USDT).
          example: '103.0305'
        expired_at:
          type: integer
          description: >-
            The expiration time of the pay-in order, represented as a UNIX
            timestamp in seconds.
          example: 1711324800
        created_timestamp:
          type: integer
          description: >-
            The created time of the order, represented as a UNIX timestamp in
            seconds.
          example: 1744689600
        updated_timestamp:
          type: integer
          description: >-
            The updated time of the order, represented as a UNIX timestamp in
            seconds.
          example: 1744689600
        transactions:
          type: array
          description: >-
            An array of transactions associated with this pay-in order. Each
            transaction represents a separate blockchain operation related to
            the settlement process.
          items:
            $ref: '#/components/schemas/PaymentTransaction'
        currency:
          type: string
          description: >-
            This field has been deprecated. Please use `pricing_currency`
            instead.
        order_amount:
          type: string
          description: This field has been deprecated. Please use `pricing_amount` instead.
        token_id:
          type: string
          description: >-
            This field has been deprecated. Please use `payable_currency`
            instead.
        settlement_status:
          $ref: '#/components/schemas/SettleStatus'
    Refund:
      type: object
      required:
        - refund_id
        - token_id
        - chain_id
        - amount
        - to_address
        - status
      properties:
        request_id:
          type: string
          description: The request ID provided by you when creating the refund request.
          example: 123e4567-e89b-12d3-a456-426614174004
        refund_id:
          type: string
          description: The refund order ID.
          example: R20250304-M1001-1001
        order_id:
          type: string
          description: The ID of the pay-in order corresponding to this refund.
          example: O20250304-M1001-1001
        merchant_id:
          type: string
          description: The merchant ID.
          example: M1001
        token_id:
          type: string
          description: The ID of the cryptocurrency used for refund.
          example: ETH_USDT
        chain_id:
          type: string
          description: >-
            The ID of the blockchain network on which the refund transaction
            occurs.
          example: ETH
        amount:
          type: string
          description: The amount in cryptocurrency to be returned for this refund order.
          example: '0.0025'
        to_address:
          type: string
          description: The recipient's wallet address where the refund will be sent.
          example: '0x9876543210abcdef1234567890abcdef12345678'
        status:
          $ref: '#/components/schemas/RefundStatus'
        refund_type:
          $ref: '#/components/schemas/RefundType'
        created_timestamp:
          type: integer
          description: >-
            The creation time of the refund order, represented as a UNIX
            timestamp in seconds.
          example: 1744689600
        updated_timestamp:
          type: integer
          description: >-
            The last update time of the refund order, represented as a UNIX
            timestamp in seconds.
          example: 1744689600
        initiator:
          type: string
          description: >

            The initiator of this settlement request. Can return either an API
            key or the Payments App's ID. 

            - Format `api_key_<API_KEY>`: Indicates the settlement request was
            initiated via the Payments API using the API key.

            - Format `app_<APP_ID>`: Indicates the settlement request was
            initiated through the Payments App using the App ID.
          example: b2ae1b5aaade686c968ef2bbd31cc75ba94e5a85fd9cb0b85b81dcc15f920e9d
        transactions:
          type: array
          description: >-
            An array of transactions associated with this refund order. Each
            transaction represents a separate blockchain operation related to
            the refund process.
          items:
            $ref: '#/components/schemas/PaymentTransaction'
        charge_merchant_fee:
          type: boolean
          description: |
            Whether to charge developer fee to the merchant for the refund.

              - `true`: The fee amount (specified in `merchant_fee_amount`) will be deducted from the merchant's balance and added to the developer's balance

              - `false`: The merchant is not charged any developer fee.
          example: false
        merchant_fee_amount:
          type: string
          description: >-
            The developer fee amount to charge the merchant, denominated in the
            cryptocurrency specified by `merchant_fee_token_id`. This is only
            applicable if `charge_merchant_fee` is set to `true`.
          example: '0.0001'
        merchant_fee_token_id:
          type: string
          description: >-
            The ID of the cryptocurrency used for the developer fee. This is
            only applicable if `charge_merchant_fee` is set to true.
          example: ETH_USDT
        commission_fee:
          $ref: '#/components/schemas/CommissionFee'
    Settlement:
      type: object
      required:
        - settlement_request_id
        - request_id
        - status
        - settlements
      properties:
        settlement_request_id:
          type: string
          description: The settlement request ID generated by Cobo.
          example: S20250304-1001
        request_id:
          type: string
          description: The request ID provided by you when creating the settlement request.
          example: SETTLEMENT123
        status:
          $ref: '#/components/schemas/SettleRequestStatus'
        settlements:
          type: array
          items:
            $ref: '#/components/schemas/SettlementDetail'
        created_timestamp:
          type: integer
          description: >-
            The created time of the settlement request, represented as a UNIX
            timestamp in seconds.
          example: 1744689600
        updated_timestamp:
          type: integer
          description: >-
            The updated time of the settlement request, represented as a UNIX
            timestamp in seconds.
          example: 1744689600
        initiator:
          type: string
          description: >

            The initiator of this settlement request. Can return either an API
            key or the Payments App's ID. 

            - Format `api_key_<API_KEY>`: Indicates the settlement request was
            initiated via the Payments API using the API key.

            - Format `app_<APP_ID>`: Indicates the settlement request was
            initiated through the Payments App using the App ID.
          example: >-
            api_key_b2ae1b5aaade686c968ef2bbd31cc75ba94e5a85fd9cb0b35b81dcc15f520e9d
        acquiring_type:
          $ref: '#/components/schemas/AcquiringType'
        payout_channel:
          $ref: '#/components/schemas/PayoutChannel'
        settlement_type:
          $ref: '#/components/schemas/SettlementType'
        currency:
          type: string
          description: The fiat currency for the off-ramp.
          example: USD
        received_amount_fiat:
          type: string
          description: >-
            The estimated amount of the fiat currency to receive after
            off-ramping. This amount is subject to change due to bank transfer
            fees.
          example: '500.00'
        bank_account:
          $ref: '#/components/schemas/BankAccount'
    AcquiringType:
      type: string
      enum:
        - Order
        - TopUp
      example: Order
      description: >
        The payment acquisition type.

        - `Order`: Payers pay by fixed-amount orders. Ideal for specific
        purchases and one-time transactions.

        - `TopUp`: Account recharge flow where payers deposit funds to their
        dedicated top-up addresses. Ideal for flexible or usage-based payment
        models.
    PaymentPayoutDetail:
      allOf:
        - $ref: '#/components/schemas/PaymentPayout'
        - type: object
          properties:
            transactions:
              type: array
              description: An array of payout transactions.
              items:
                $ref: '#/components/schemas/PaymentTransaction'
    PaymentBulkSend:
      type: object
      required:
        - bulk_send_id
        - status
        - source_account
        - execution_mode
        - created_timestamp
        - updated_timestamp
      properties:
        bulk_send_id:
          type: string
          description: The bulk send ID.
          example: 123e4567-e89b-12d3-a456-426614174003
        request_id:
          type: string
          description: The request ID.
          example: 123e457-e89b-12d3-a456-426614174004
        source_account:
          type: string
          description: >
            The source account from which the bulk send will be made.

            - If the source account is a merchant account, provide the
            merchant's ID (e.g., "M1001").

            - If the source account is the developer account, use the string
            `"developer"`.
          example: M1001
        description:
          type: string
          description: The description for the entire bulk send batch.
          example: Monthly vendor payments - January 2024
        execution_mode:
          $ref: '#/components/schemas/PaymentBulkSendExecutionMode'
        status:
          $ref: '#/components/schemas/PaymentBulkSendStatus'
        created_timestamp:
          type: integer
          description: >-
            The created time of the bulk send, represented as a UNIX timestamp
            in seconds.
          example: 1744689600
        updated_timestamp:
          type: integer
          description: >-
            The updated time of the bulk send, represented as a UNIX timestamp
            in seconds.
          example: 1744689600
    DispositionEventData:
      type: object
      description: The disposition information about a transaction.
      required:
        - transaction_id
        - disposition_type
        - disposition_status
        - updated_timestamp
      properties:
        transaction_id:
          type: string
          description: The transaction ID.
          format: uuid
          example: aff0e1cb-15b2-4e1f-9b9d-a9133715986f
        disposition_type:
          $ref: '#/components/schemas/DispositionType'
        disposition_status:
          $ref: '#/components/schemas/DispositionStatus'
        destination_address:
          type: string
          description: The blockchain address to receive the refunded/isolated funds.
          example: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb7'
        disposition_amount:
          type: string
          description: >
            The amount to be refunded/isolated from the original transaction,
            specified as a numeric string. This value cannot exceed the total
            amount of the original transaction.
          example: '1.5'
        updated_timestamp:
          type: integer
          format: int64
          description: >-
            The time when the disposition was updated, in Unix timestamp format,
            measured in milliseconds.
          example: 1610445878970
    KytScreeningsEventData:
      type: object
      description: The KYT screening information about a transaction.
      required:
        - transaction_id
        - transaction_type
        - review_status
        - funds_status
        - updated_timestamp
      properties:
        transaction_id:
          type: string
          description: The transaction ID.
          format: uuid
          example: aff0e1cb-15b2-4e1f-9b9d-a9133715986f
        transaction_type:
          $ref: '#/components/schemas/KytScreeningsTransactionType'
        review_status:
          $ref: '#/components/schemas/ReviewStatusType'
        funds_status:
          $ref: '#/components/schemas/FundsStatusType'
        updated_timestamp:
          type: integer
          format: int64
          description: >-
            The time when the KYT screening information was updated, in Unix
            timestamp format, measured in milliseconds.
          example: 1610445878970
    KyaScreeningsEventData:
      type: object
      description: Event data for KYA address screening status updates.
      required:
        - screening_id
        - address
        - chain_id
        - status
        - created_timestamp
        - updated_timestamp
      properties:
        screening_id:
          type: string
          format: uuid
          description: >-
            The unique system-generated identifier for this screening request
            (UUID format, fixed 36 characters).
          example: a7b8c9d0-e1f2-4a5b-a23c-7890abcdef12
        address:
          type: string
          description: The screened blockchain address.
          example: '0x1234567890abcdef1234567890abcdef12345678'
        chain_id:
          type: string
          description: The chain identifier.
          example: ETH
        status:
          $ref: '#/components/schemas/KyaScreeningStatus'
        created_timestamp:
          type: integer
          format: int64
          description: >-
            The time when the screening request was created, in Unix timestamp
            format, measured in milliseconds.
          example: 1721530814236
        updated_timestamp:
          type: integer
          format: int64
          description: >-
            The time when the screening status was updated, in Unix timestamp
            format, measured in milliseconds.
          example: 1721530899876
    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
    SourceGroup:
      type: object
      description: >
        The source key share holder group.


        **Note:** `source_key_share_holder_group` is used only when `type` is
        set to either `KeyGenfromKeyGroup` or `Recovery`. This is to specify the
        key share holder group to be used as the source key share holder group
        to create key shares for the `target_key_share_holder_group`.
      required:
        - key_share_holder_group_id
      properties:
        key_share_holder_group_id:
          type: string
          description: The source key share holder group ID.
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
        tss_node_ids:
          type: array
          items:
            type: string
            example: cobo5yb7BNEBwwp5XXedbhnzQfvQtp132W4dH4Jz4x4eDp4KA
          description: >
            The TSS Node IDs participating in creating a new key share holder
            group when `type` is set to either `KeyGenFromKeyGroup` or
            `Recovery`. 


            **Note:** In any [Threshold Signature Schemes
            (TSS)](https://manuals.cobo.com/en/portal/mpc-wallets/introduction#threshold-signature-scheme-tss)
            such as the 2-2, 2-3, and 3-3 schemes (in the "threshold -
            participants" format), for `tss_node_ids`, you only need to fill in
            1 Cobo TSS Node ID and enough non-Cobo TSS Node IDs to satisfy the
            number of approvers specified in `threshold`. To obtain the Cobo TSS
            Node ID, run [List all Cobo key share
            holders](https://www.cobo.com/developers/v2/api-references/wallets--mpc-wallets/list-all-cobo-key-share-holders).
    TSSRequestType:
      type: string
      enum:
        - KeyGen
        - KeyGenFromKeyGroup
        - Recovery
      example: Recovery
      description: >
        The TSS request type. Possible values include:

        - `KeyGen`: This is a key generation request to create a [root extended
        public
        key](https://manuals.cobo.com/en/portal/mpc-wallets/ocw/tss-node-deployment#tss-node-on-cobo-portal-and-mpc-root-extended-public-key)
        and key shares for your [Main
        Group](https://manuals.cobo.com/en/portal/mpc-wallets/ocw/create-key-share-groups)
        after you've created the Main Group with [Create key share holder
        group](https://www.cobo.com/developers/v2/api-references/wallets--mpc-wallets/create-key-share-holder-group).
        You only need to do this once per
        [organization](https://manuals.cobo.com/en/portal/organization/introduction).


        - `KeyGenFromKeyGroup`: This is a request to use the [Main
        Group](https://manuals.cobo.com/en/portal/mpc-wallets/ocw/create-key-share-groups)
        to create key shares for your [Signing
        Group](https://manuals.cobo.com/en/portal/mpc-wallets/ocw/create-key-share-groups)
        or [Recovery
        Group](https://manuals.cobo.com/en/portal/mpc-wallets/ocw/create-key-share-groups)
        after you've created these key share holder groups with [Create key
        share holder
        group](https://www.cobo.com/developers/v2/api-references/wallets--mpc-wallets/create-key-share-holder-group).


        - `Recovery`: This is a request to create key shares using the [Recovery
        Group](https://manuals.cobo.com/en/portal/mpc-wallets/ocw/create-key-share-groups)
        for a key share holder in the [Main
        Group](https://manuals.cobo.com/en/portal/mpc-wallets/ocw/create-key-share-groups)
        if their key share has been lost (e.g. by losing their phone).
    TSSRequestStatus:
      type: string
      enum:
        - PendingKeyHolderConfirmation
        - KeyHolderConfirmationFailed
        - KeyGenerating
        - MPCProcessing
        - KeyGeneratingFailed
        - Success
      example: Success
      description: >
        The TSS request status. Possible values include:

        - `PendingKeyHolderConfirmation`: The action done to the TSS request is
        currently pending enough key share holders to approve.


        - `KeyHolderConfirmationFailed`: Key share holders failed to approve the
        the action to be done to the TSS request.


        - `KeyGenerating`: The key share is currently being generated for the
        action to be done to the TSS request.


        - `MPCProcessing`: The TSS request approval is waiting to be started. 
          - For [MPC Wallets (User-Controlled Wallets)](https://manuals.cobo.com/en/portal/mpc-wallets/ucw/introduction), you need to use the Client App and call the UCW SDK to start the TSS request approval process.
          - For [MPC Wallets (Organization-Controlled Wallets)](https://manuals.cobo.com/en/portal/mpc-wallets/ocw/introduction):
            - If you are using the [server co-signer](https://manuals.cobo.com/en/portal/mpc-wallets/ocw/create-key-share-groups#create-a-main-group), this status indicates that the TSS Node will soon request the callback server to start the [risk controls](https://manuals.cobo.com/en/portal/risk-controls/introduction) check. No further action is required from you at this stage.
            - If you are using the [mobile co-signer](https://manuals.cobo.com/en/portal/mpc-wallets/ocw/create-key-share-groups#create-a-main-group), key share holders need to use their [Cobo Guard](https://manuals.cobo.com/en/guard/introduction) to approve the TSS request and participate in the signing process.

        - `KeyGeneratingFailed`: The key share generation process has failed for
        the action to be done to the TSS request.


        - `Success`: The action done to the TSS request has been completed
        successfully. If you see this status while running [Cancel TSS
        request](https://www.cobo.com/developers/v2/api-references/wallets--mpc-wallets/cancel-tss-request),
        this mean the specified TSS request has been successfully canceled.
    AddressEncoding:
      type: string
      enum:
        - ENCODING_P2PKH
        - ENCODING_P2SH_P2WPKH
        - ENCODING_BECH32
        - ENCODING_P2PKH_UNCOMPRESSED
        - ENCODING_P2SH_P2MS
        - ENCODING_P2SH_P2WSH_P2MS
        - ENCODING_P2TR
        - ENCODING_ADA_BYRON
        - ENCODING_ADA_SHELLEY
        - ENCODING_DEFAULT
      description: >-
        The address encoding formats. This property only applies to blockchains
        that have a similar architecture to Bitcoin.
      example: ENCODING_P2PKH
    CustodialWalletInfo:
      type: object
      title: Custodial Wallets
      description: The basic information of a wallet.
      required:
        - wallet_id
        - wallet_type
        - wallet_subtype
        - name
        - org_id
      properties:
        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'
        name:
          type: string
          example: Example Wallet
          description: The wallet name.
        org_id:
          type: string
          description: The ID of the owning organization.
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
        enable_auto_sweep:
          type: boolean
          description: Enable the auto sweep feature for the wallet
    MPCWalletInfo:
      title: MPC Wallets
      allOf:
        - $ref: '#/components/schemas/CustodialWalletInfo'
        - type: object
          required:
            - vault_id
          properties:
            project_id:
              type: string
              example: 0111039d-27fb-49ba-b172-6e0aa80e37ec
              description: The project ID.
            project_name:
              type: string
              example: Project name
              description: The project name.
            vault_id:
              type: string
              description: The ID of the owning vault.
            vault_name:
              type: string
              example: Vault name
              description: The vault name.
    SmartContractWalletInfo:
      title: Smart Contract Wallets
      oneOf:
        - $ref: '#/components/schemas/SafeWallet'
      discriminator:
        propertyName: smart_contract_wallet_type
        mapping:
          Safe{Wallet}:
            $ref: '#/components/schemas/SafeWallet'
    ExchangeWalletInfo:
      title: Exchange Wallets
      allOf:
        - $ref: '#/components/schemas/CustodialWalletInfo'
        - type: object
          required:
            - apikey
            - exchange_id
          properties:
            apikey:
              type: string
              description: The API key of your exchange account.
              example: d8f062da-39f4-4a11-8b9d-12595854237f
            exchange_id:
              $ref: '#/components/schemas/ExchangeId'
            main_wallet_id:
              type: string
              description: >-
                The wallet ID of the Main Account associated with the Sub
                Account. This property is returned only if you are creating or
                querying an Exchange Wallet (Sub Account).
              format: uuid
              example: f47ac10b-58cc-4372-a567-0e02b2c3d479
    MPCVaultType:
      type: string
      enum:
        - Org-Controlled
        - User-Controlled
      example: Org-Controlled
      description: >
        The vault type. Possible values include:

        - `Org-Controlled`: This vault is a collection of
        [Organization-Controlled
        Wallets](https://manuals.cobo.com/en/portal/mpc-wallets/introduction#organization-controlled-wallets).


        - `User-Controlled`: This vault is a collection of [User-Controlled
        Wallets](https://manuals.cobo.com/en/portal/mpc-wallets/introduction#user-controlled-wallets).
    RootPubkey:
      type: object
      description: The data for MPC Root Extended Public Key information.
      properties:
        root_pubkey:
          type: string
          description: >-
            The vault's [root extended public
            key](https://www.cobo.com/developers/v2/guides/mpc-wallets/get-started-ocw#root-extended-public-keys).
          example: >-
            xpub661MyMwAqRbcG4vPNi58VQJrXW8D9VzmauuRq2rTY3oUVnKGuLTxQxvvoEXgLvZ7N9GQXQkWVgKn1rzEUUEm4NdvrBKUqjpNJEnn2UL4rYq
        curve:
          $ref: '#/components/schemas/CurveType'
    TokenAssetModelType:
      type: string
      enum:
        - Account
        - UTXO
      example: Account
      description: >
        The asset model type. Possible values include:


        - `Account`: The account model. This model tracks the balances of user
        accounts, similar to the traditional banking system.


        - `UTXO`: The UTXO model. This model tracks individual outputs of a
        transaction rather than account balances. Each transaction consists of
        inputs (previous UTXOs) and outputs (new UTXOs).
    TokenListingRequestStatus:
      type: string
      enum:
        - Submitted
        - Succeeded
        - Failed
      description: |
        The status of the token listing request.
        - `Submitted`: The request has been submitted and is pending processing.
        - `Succeeded`: The token has been successfully listed.
        - `Failed`: The token listing request was rejected or failed to process.
      example: Submitted
    TokenListingRequestSource:
      type: string
      description: |
        The source of the token listing request.
        - `API`: The request was created via the WaaS 2.0 API.
        - `Admin`: The request was created on Cobo Portal.
      example: API
      enum:
        - API
        - Admin
    Balance:
      type: object
      description: The balance details.
      required:
        - total
        - available
      properties:
        total:
          type: string
          description: >-
            The current amount of tokens in an address, which is retrieved
            directly from the network. To learn more, see [Balances and
            transaction amounts for MPC
            Wallets](https://www.cobo.com/developers/v2/guides/mpc-wallets/balance-amounts)
            for more details.
          example: '100.0'
        available:
          type: string
          description: >-
            The amount of tokens ready to be spent. To learn more, see [Balances
            and transaction amounts for MPC
            Wallets](https://www.cobo.com/developers/v2/guides/mpc-wallets/balance-amounts)
            for more details.
          example: '80.5'
        pending:
          type: string
          description: >-
            The total amount being sent in a transaction, which is calculated as
            the withdrawal amount plus the transaction fee. To learn more, see
            [Balances and transaction amounts for MPC
            Wallets](https://www.cobo.com/developers/v2/guides/mpc-wallets/balance-amounts)
            for more details.
          default: '0'
          example: '10.5'
        locked:
          type: string
          description: >-
            For UTXO chains, this is the combined value of the selected UTXOs
            for the transaction. For other chains, it is equal to the Pending
            amount. To learn more, see [Balances and transaction amounts for MPC
            Wallets](https://www.cobo.com/developers/v2/guides/mpc-wallets/balance-amounts)
            for more details.
          default: '0'
          example: '3.0'
        frozen:
          type: string
          description: >-
            Amount frozen due to compliance inspection. To learn more, see
            [Balances and transaction amounts for MPC
            Wallets](https://www.cobo.com/developers/v2/guides/mpc-wallets/balance-amounts)
            for more details.
          default: '0'
          example: '3.0'
    OrderStatus:
      type: string
      enum:
        - Pending
        - Processing
        - Completed
        - Expired
        - Underpaid
      example: Pending
      description: >
        The current status of the pay-in order:

        - `Pending`: The order has been created and is awaiting payment. No
        incoming transaction has been detected.

        - `Processing`: An incoming transaction has been detected at the
        recipient address.

        - `Completed`: The payment has been fully received and is now complete.

        - `Expired`: The order has reached its expiration time without receiving
        any payment, or the order has been cancelled by the [Update pay-in
        order](https://www.cobo.com/payments/en/api-references/payment/update-pay-in-order)
        operation.

        - `Underpaid`: The order has reached its expiration time. A payment was
        received but the amount is less than the order's required amount.
    PaymentTransaction:
      type: object
      required:
        - tx_id
        - from_address
        - to_address
        - amount
        - status
        - created_timestamp
        - updated_timestamp
      properties:
        tx_id:
          type: string
          description: The transaction ID.
          example: tx_123e4567-e89b-12d3-a456-426614174003
        tx_hash:
          type: string
          description: The transaction hash.
          example: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
        token_id:
          type: string
          description: The ID of the cryptocurrency.
          example: ETH_USDT
        from_address:
          type: string
          description: The source address of the transaction.
          example: '0xF8e4bfc10A2821DF52D3322cB5170E5E9276b537'
        to_address:
          type: string
          description: The destination address of the transaction.
          example: '0x15B95A2D8af95D9F48148667B6b8B3CdF89e4F15'
        amount:
          type: string
          description: The amount of cryptocurrency transferred, as a decimal string.
          example: '0.15'
        status:
          $ref: '#/components/schemas/TransactionStatus'
        counterparty:
          $ref: '#/components/schemas/Counterparty'
        destination:
          $ref: '#/components/schemas/Destination'
        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
    SettleStatus:
      type: string
      enum:
        - Pending
        - Processing
        - Completed
        - PartiallyCompleted
        - Failed
      example: Pending
      description: >
        The current status of a settlement.

        - `Pending`: The settlement has been created and is awaiting processing.

        - `Processing`: The settlement is being processed.

        - `Completed`: The funds have been successfully deposited into the bank
        account or the withdrawal crypto address.

        - `PartiallyCompleted`: Some settlement transactions have been completed
        successfully, while others have failed.

        - `Failed`: The settlement could not be completed due to an error.
    RefundStatus:
      type: string
      enum:
        - AddressPending
        - AddressSubmitted
        - Pending
        - Processing
        - Completed
        - PartiallyCompleted
        - Failed
        - PendingConfirmation
      example: Pending
      description: >
        The current status of the refund order. For information about
        transaction status, see [Transaction statuses and
        sub-statuses](https://www.cobo.com/developers/v2/guides/transactions/status). 

        - `AddressPending`: The user has opened the refund link but has not yet
        submitted their refund address.

        - `AddressSubmitted`: The refund address of the refund link has been
        submitted.

        - `Pending`: The refund order has been created but the transaction has
        not been initiated.

        - `Processing`: The refund order is currently being processed, with at
        least one refund transaction in progress.

        - `Completed`: All refund transactions have been completed successfully.

        - `PartiallyCompleted`: Some refund transactions have been completed
        successfully, while others have failed.

        - `Failed`: All refund transactions have failed.

        - `PendingConfirmation`: The refund order has been created but the
        address to send (`to_address`) has not been specified. Once you use the
        [Update refund
        order](https://www.cobo.com/payments/en/api-references/payment/update-refund-order)
        operation to specify the address, the status will be updated to
        `Pending`.
    RefundType:
      type: string
      enum:
        - Merchant
        - Psp
      example: Merchant
      description: >
        Specifies the source of funds for the refund:

        - `Merchant`: The refund amount will be deducted from the merchant
        balance.

        - `Psp`: The refund amount will be deducted from the developer balance.
    CommissionFee:
      type: object
      required:
        - fee_amount
      properties:
        fee_amount:
          type: string
          description: >-
            The amount of the commission fee charged by Cobo for operations such
            as pay-ins and payouts, in USD.
    SettleRequestStatus:
      type: string
      enum:
        - Pending
        - Processing
        - Completed
        - PartiallyCompleted
        - Failed
        - Canceled
      example: Pending
      description: >
        The current status of a settlement request:

        - `Pending`: The settlement request has been created and is awaiting
        processing.

        - `Processing`: The settlement request is currently being processed,
        with at least one settlement in progress.

        - `Completed`: All requested settlements have been completed.

        - `PartiallyCompleted`: Some requested settlements have been completed
        successfully, while others have failed.

        - `Failed`: All requested settlements have failed.

        - `Canceled`: The settlement request has been canceled due to bank
        transfer failure. Contact Cobo's support team through
        [help@cobo.com](mailto:help@cobo.com) for assistance.
    SettlementDetail:
      type: object
      properties:
        currency:
          type: string
          description: The fiat currency for the settlement.
          example: USD
        token_id:
          type: string
          description: The ID of the cryptocurrency settled.
          example: ETH_USDT
        chain_id:
          type: string
          description: The ID of the blockchain network on which the settlement occurred.
          example: ETH
        merchant_id:
          type: string
          description: The ID of the merchant associated with this settlement.
          example: M1001
        amount:
          type: string
          description: >
            The settlement amount.

            - If `payout_channel` is set to `Crypto`, this represents the
            settlement amount in the specified cryptocurrency.

            - If `payout_channel` is set to `OffRamp`, this represents the
            settlement amount in the specified fiat currency.
          example: '500.00'
        settled_amount:
          type: string
          description: >
            The settled amount of this settlement detail.


            - If `payout_channel` is set to `Crypto`, this represents the actual
            settled amount in the specified cryptocurrency.


            - If `payout_channel` is set to `OffRamp`, this represents the
            actual settled amount in the specified fiat currency.
          example: '500.00'
        status:
          $ref: '#/components/schemas/SettleStatus'
        bank_account:
          $ref: '#/components/schemas/BankAccount'
        transactions:
          type: array
          description: >-
            An array of transactions associated with this settlement request.
            Each transaction represents a separate blockchain operation related
            to the settlement process.
          items:
            $ref: '#/components/schemas/PaymentTransaction'
        created_timestamp:
          type: integer
          description: >-
            The creation time of the settlement, represented as a UNIX timestamp
            in seconds.
          example: 1744689600
        updated_timestamp:
          type: integer
          description: >-
            The last update time of the settlement, represented as a UNIX
            timestamp in seconds.
          example: 1744689600
        crypto_address_id:
          type: string
          description: The ID of the crypto address used for crypto payouts.
          example: addr_ethusdt_20250429T134512_a8c31f
        crypto_address:
          type: string
          description: The actual blockchain address to which funds were transferred.
          example: '0xabc123456789def0000000000000000000000000'
        payout_channel:
          $ref: '#/components/schemas/PayoutChannel'
        acquiring_type:
          $ref: '#/components/schemas/AcquiringType'
        settlement_request_id:
          type: string
          description: The settlement request ID generated by Cobo.
          example: S20250304-1001
        order_ids:
          type: array
          description: >
            A list of unique order IDs to be included in this settlement.


            - This field is only applicable when `settlement_type` is set to
            `Merchant`.

            - If provided, the settlement will only apply to the specified
            orders.
          items:
            $ref: '#/components/schemas/OrderId'
        commission_fee:
          $ref: '#/components/schemas/CommissionFee'
        bridging_fee:
          $ref: '#/components/schemas/BridgingFee'
    PayoutChannel:
      type: string
      enum:
        - Crypto
        - OffRamp
      example: Crypto
      description: >
        The channel through which the payout will be processed. Possible values
        include:

        - `Crypto`: The payout will be processed as a cryptocurrency transfer to
        a crypto address.

        - `OffRamp`: The payout will be processed as a fiat currency transfer to
        a registered bank account.
    SettlementType:
      type: string
      enum:
        - Merchant
        - Psp
      example: Merchant
      description: >
        Specifies the source of funds for the settlement:

        - `Merchant`: The settlement amount will be deducted from the merchant
        balance.

        - `Psp`: The settlement amount will be deducted from the developer
        balance.
    BankAccount:
      type: object
      required:
        - bank_account_id
        - info
      properties:
        bank_account_id:
          type: string
          format: uuid
          description: The bank account ID.
          example: 123e4567-e89b-12d3-a456-426614174003
        info:
          type: object
          additionalProperties: true
          description: JSON-formatted bank account details.
          example:
            beneficiary_name: John Doe
            beneficiary_address: 123 Main St, Anytown, USA
            account_number: '4111111111111111'
            bank_name: ABC Bank
            bank_country: USA
            bank_address: 456 Bank Ave, Cityville, USA
            swift_or_bic: ABCDEFGH
        created_timestamp:
          type: integer
          description: >-
            The creation time of the bank account, represented as a UNIX
            timestamp in seconds.
          example: 1744689600
        updated_timestamp:
          type: integer
          description: >-
            The last update time of the bank account, represented as a UNIX
            timestamp in seconds.
          example: 1744689600
    PaymentPayout:
      type: object
      required:
        - payout_id
        - request_id
        - payout_channel
        - status
        - created_timestamp
        - updated_timestamp
      properties:
        payout_id:
          type: string
          description: The payout ID generated by Cobo.
          example: 123e457-e89b-12d3-a456-426614174004
        request_id:
          type: string
          description: The request ID provided by you when creating the payout.
          example: 123e457-e89b-12d3-a456-426614174004
        payout_channel:
          $ref: '#/components/schemas/PayoutChannel'
        source_account:
          type: string
          description: >
            The source account from which the payout will be made.

            - If the source account is a merchant account, provide the
            merchant's ID (e.g., "M1001").

            - If the source account is the developer account, use the string
            `"developer"`.
        payout_items:
          type: array
          description: required
          items:
            $ref: '#/components/schemas/PaymentPayoutItem'
        recipient_info:
          $ref: '#/components/schemas/PaymentPayoutRecipientInfo'
        initiator:
          type: string
          description: The initiator of this payout, usually the user's API key.
          example: b2ae1b5aaade686c968ef2bbd31cc75ba94e5a85fd9cb0b35b81dcc15f520e9d
        actual_payout_amount:
          type: string
          description: >
            - For `Crypto` payouts: The amount of cryptocurrency sent to the
            recipient's address, denominated in the token specified in
            `recipient_info.token_id`.

            - For `OffRamp` payouts: The amount of fiat currency sent to the
            recipient's bank account, denominated in the currency specified in
            `recipient_info.currency`. (Note: The actual amount received may be
            lower due to additional bank transfer fees.)
          example: '500.00'
        commission_fees:
          type: array
          description: The commission fees of the payout.
          items:
            $ref: '#/components/schemas/CommissionFee'
        remark:
          type: string
          description: A note or comment about the payout.
          example: Payout for customer 123
        status:
          $ref: '#/components/schemas/PaymentPayoutStatus'
        created_timestamp:
          type: integer
          description: >-
            The created time of the payout, represented as a UNIX timestamp in
            seconds.
          example: 1744689600
        updated_timestamp:
          type: integer
          description: >-
            The updated time of the payout, represented as a UNIX timestamp in
            seconds.
          example: 1744689600
    PaymentBulkSendExecutionMode:
      type: string
      enum:
        - Strict
        - Partial
      example: Strict
      description: >
        The execution mode of the bulk send.

        - `Strict`: The bulk send is executed in strict mode, which means all
        bulk send items should be successfully executed or all failed.

        - `Partial`: The bulk send is executed in partial mode, which means some
        bulk send items can be successfully executed and some can be failed.
    PaymentBulkSendStatus:
      type: string
      enum:
        - Pending
        - Validating
        - Transferring
        - Completed
        - PartiallyCompleted
        - Failed
      example: Pending
      description: >
        The current status of the bulk send. Possible values include:

        - `Pending`: The bulk send has been created and is waiting to be
        processed.

        - `Validating`: The bulk send items are being validated.

        - `Transferring`: The bulk send items are being processed and funds are
        being transferred.

        - `Completed`: All items in the bulk send have been successfully
        processed.

        - `PartiallyCompleted`: Some items in the bulk send have been
        successfully processed, while others have failed.

        - `Failed`: The bulk send has failed and no items were processed
        successfully.
    DispositionType:
      type: string
      description: The type of a disposition operation.
      enum:
        - Unfreeze
        - Refund
        - Isolate
      example: Refund
    DispositionStatus:
      type: string
      description: The status of a disposition operation.
      enum:
        - Submitted
        - Refunding
        - Refunded
        - RefundFailed
        - Frozen
        - Unfreezing
        - Unfrozen
        - UnfreezeFailed
        - Isolating
        - Isolated
        - IsolateFailed
        - CoboDisposition
        - Normal
      example: Submitted
    KytScreeningsTransactionType:
      type: string
      enum:
        - Deposit
        - Withdrawal
      example: Deposit
      description: |
        The transaction type. Possible values include: 
          - `Deposit`: A deposit transaction.
          - `Withdrawal`: A withdrawal transaction.
    ReviewStatusType:
      type: string
      description: >-
        Review status type, indicating the current stage of the compliance
        review process.
      enum:
        - PendingScreening
        - Screened
        - PendingDecision
        - PendingReview
        - Approved
        - Rejected
        - Unsupported
        - Bypassed
      example: PendingScreening
    FundsStatusType:
      type: string
      description: >-
        The current status of transaction funds, indicating their disposition
        state in the compliance system.
      enum:
        - Frozen
        - Refunding
        - Refunded
        - RefundFailed
        - Unfreezing
        - Unfrozen
        - UnfreezingFailed
        - Isolating
        - Isolated
        - IsolationFailed
        - CoboDisposition
        - Normal
      example: Frozen
    KyaScreeningStatus:
      type: string
      description: The status of the address screening request.
      enum:
        - Submitted
        - Pending
        - Screened
        - Failed
      example: Screened
    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
    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
    SafeWallet:
      allOf:
        - allOf:
            - $ref: '#/components/schemas/CustodialWalletInfo'
            - type: object
              properties:
                chain_id:
                  type: string
                  description: The ID of the chain on which the wallet operates.
                  example: ETH
        - type: object
          title: Safe Wallets
          required:
            - smart_contract_wallet_type
          properties:
            smart_contract_wallet_type:
              $ref: '#/components/schemas/SmartContractWalletType'
            safe_address:
              type: string
              format: address
              pattern: ^0x[a-fA-F0-9]{40}$
              example: '0x1234567890123456789012345678901234567890'
              description: The Smart Contract Wallet address.
            signers:
              type: array
              items:
                type: string
                format: address
                pattern: ^0x[a-fA-F0-9]{40}$
                example: '0x1234567890123456789012345678901234567890'
              description: The signers of the Smart Contract Wallet.
            threshold:
              type: integer
              minimum: 1
              example: 2
              description: >-
                The minimum number of confirmations required for the Smart
                Contract Wallet. 
            cobo_safe_address:
              type: string
              format: address
              pattern: ^0x[a-fA-F0-9]{40}$
              example: '0x1234567890123456789012345678901234567890'
              description: The address of Cobo Safe.
            initiator:
              $ref: '#/components/schemas/SmartContractInitiator'
    CurveType:
      type: string
      enum:
        - SECP256K1
        - ED25519
      example: SECP256K1
      description: >
        The elliptic curve type of the [root extended public
        key](https://www.cobo.com/developers/v2/guides/mpc-wallets/get-started-ocw#root-extended-public-keys).
        Possible values include:


        - `SECP256K1`: The secp256k1 elliptic curve.


        - `ED25519`: The Ed25519 elliptic curve.
    Counterparty:
      type: object
      required:
        - counterparty_type
        - counterparty_name
        - created_timestamp
        - updated_timestamp
      properties:
        counterparty_id:
          type: string
          format: uuid
          description: The counterparty ID.
          example: 123e4567-e89b-12d3-a456-426614174003
        counterparty_type:
          $ref: '#/components/schemas/CounterpartyType'
        counterparty_name:
          type: string
          description: The counterparty name.
          example: Counterparty A
        country:
          type: string
          description: The country of the counterparty, in ISO 3166-1 alpha-3 format.
          example: USA
        email:
          type: string
          description: The email of the counterparty.
          example: counterparty@example.com
        contact_address:
          type: string
          description: The contact address of the counterparty.
          example: 123 Main St, Anytown, USA
        created_timestamp:
          type: integer
          description: >-
            The created time of the counterparty, represented as a UNIX
            timestamp in seconds.
          example: 1744689600
        updated_timestamp:
          type: integer
          description: >-
            The updated time of the counterparty, represented as a UNIX
            timestamp in seconds.
          example: 1744689600
    Destination:
      type: object
      required:
        - destination_type
        - destination_name
        - created_timestamp
        - updated_timestamp
      properties:
        destination_id:
          type: string
          format: uuid
          description: The destination ID.
          example: 123e4567-e89b-12d3-a456-426614174003
        destination_type:
          $ref: '#/components/schemas/DestinationType'
        destination_name:
          type: string
          description: The destination name.
          example: Destination A
        country:
          type: string
          description: The country of the destination, in ISO 3166-1 alpha-3 format.
          example: USA
        email:
          type: string
          description: The email of the destination.
          example: destination@example.com
        contact_address:
          type: string
          description: The contact address of the destination.
          example: 123 Main St, Anytown, USA
        merchant_id:
          type: string
          description: The ID of the merchant linked to the destination.
          example: M1001
        created_timestamp:
          type: integer
          description: >-
            The created time of the destination, represented as a UNIX timestamp
            in seconds.
          example: 1744689600
        updated_timestamp:
          type: integer
          description: >-
            The updated time of the destination, represented as a UNIX timestamp
            in seconds.
          example: 1744689600
    OrderId:
      type: string
      description: >

        The order ID to be included in this settlement.


        - If provided: Settles merchant funds received from this specific order

        - If empty: Settles merchant funds received from all unsettled orders of
        the specified merchant


        **Usage conditions**

        - Only applicable when `settlement_type` is set to `Merchant`

        - Cannot be used together with `amount` parameter

            
      example: O20250304-M1001-1001
    BridgingFee:
      type: object
      required:
        - fee_amount
      properties:
        fee_amount:
          type: string
          description: |
            The fee charged for bridging tokens to another chain.
        received_token_id:
          type: string
          description: The ID of the destination token received after bridging.
        received_amount:
          type: string
          description: The final amount of the token received after bridging.
        bridge_status:
          $ref: '#/components/schemas/PaymentBridgeStatus'
    PaymentPayoutItem:
      type: object
      required:
        - token_id
        - amount
      properties:
        token_id:
          type: string
          description: The token ID of the payout item.
          example: ETH_USDT
        amount:
          type: string
          description: |
            The amount of the payout item.
          example: '500.00'
        bridging_fee:
          $ref: '#/components/schemas/BridgingFee'
    PaymentPayoutRecipientInfo:
      type: object
      properties:
        address:
          type: string
          description: The recipient's wallet address where the payout will be sent.
          example: '0x9876543210abcdef1234567890abcdef12345678'
        token_id:
          type: string
          description: >
            The token ID for the cryptocurrency to be sent to the recipient.


            If `recipient_info.token_id` is on a different chain than
            `payout_param.token_id`, the token will be automatically bridged to
            the chain specified in `recipient_info.token_id`.
          example: TRON_USDT
        currency:
          type: string
          description: >-
            The fiat currency of the bank account to which the payout will be
            sent.
          example: USD
        bank_account_id:
          type: string
          format: uuid
          description: >-
            The ID of the bank account to which the payout will be sent. You can
            retrieve the bank account ID by calling [List destination
            entries](https://www.cobo.com/payments/en/api-references/payment/list-destination-entries).
          example: 123e4567-e89b-12d3-a456-426614174003
        transfer_via_va:
          type: boolean
          description: >
            For OffRamp payout, whether the payout is transferred to a
            registered bank account via a virtual account (VA) or directly.

            - `true`: The payout is transferred to a registered bank account via
            a VA (virtual account).

            - `false`: The payout is transferred directly to a registered bank
            account.
          example: false
    PaymentPayoutStatus:
      type: string
      enum:
        - Pending
        - Preparing
        - Transferring
        - Completed
        - PartiallyCompleted
        - Failed
        - RejectedByBank
      example: Pending
      description: >
        The current status of the payout. Possible values include:

        - `Pending`: The payout has been created and is awaiting processing.

        - `Preparing`: The payout is being prepared for transfer.

        - `Transferring`: The payout is currently being transferred to the
        recipient's destination.

        - `Completed`: The payout has been successfully completed and all
        transactions have been processed.

        - `PartiallyCompleted`: The payout has been partially completed, with
        some transactions succeeding and others failing.

        - `Failed`: The payout has failed and no transactions were completed
        successfully.

        - `RejectedByBank`: The payout was rejected by the recipient's bank
        (applicable to OffRamp payouts only).
    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'
    SmartContractWalletType:
      type: string
      enum:
        - Safe{Wallet}
      example: Safe{Wallet}
      default: Safe{Wallet}
      description: The Smart Contract Wallet type.
    SmartContractInitiator:
      title: Initiator Wallets
      description: The information about the initiator.
      type: object
      required:
        - wallet_id
        - address
      properties:
        wallet_id:
          type: string
          format: uuid
          example: 123e4567-e89b-12d3-a456-426614174000
          description: The initiator's wallet ID.
        address:
          type: string
          example: '0x1234567890123456789012345678901234567890'
          description: 'The initiator''s wallet address. '
    CounterpartyType:
      type: string
      enum:
        - Individual
        - Organization
      example: Individual
      description: |
        The type of the counterparty:
        - `Individual`: The counterparty is an individual.
        - `Organization`: The counterparty is an organization.
    DestinationType:
      type: string
      enum:
        - Individual
        - Organization
      example: Individual
      description: |
        The type of the destination.
        - `Individual`: The destination is an individual.
        - `Organization`: The destination is an organization.
    PaymentBridgeStatus:
      description: |
        The current status of the payout bridge. Possible values include:
        - `Completed`: The payout bridge has been completed successfully.
        - `Failed`: The payout bridge has failed.
      type: string
      enum:
        - Completed
        - Failed
      example: Completed
    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
  responses:
    listWebhookEventsResponse:
      description: A list of webhook events has been successfully retrieved.
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                items:
                  $ref: '#/components/schemas/WebhookEvent'
                type: array
              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'
  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

````