Nestcoin exchange-external-api API

The exchange-external-api API from Nestcoin — 13 operation(s) for exchange-external-api.

Operations 14

GET /exchange/api/info Get CEX Profile #
GET /exchange/orders/trade Start a trade #
GET /exchange/api/orders/trade-options Trade options / configurations for onboard #
GET /exchange/api/orders/price Get best price for order #
GET /exchange/api/orders/trade-url Fetch trade url #
GET /exchange/api/cexs/signers Query CEX signer addresses #
GET /exchange/api/cexs/signers/{networkId} Query CEX network signer #
GET /exchange/api/cexs/liquidity-pools Get CEX deployed liquidity pool contract data #
POST /exchange/api/cexs/liquidity-pools Create liquidity pool contract for CEX #
GET /exchange/api/cexs/liquidity-pools/{poolAddress}/balances Get CEX token and coin balances #
GET /exchange/api/orders Retrieve list of exchange orders #
GET /exchange/api/business/orders/{cexOrderId} Retrieve an exchange order by cexOrderId #
GET /exchange/api/offers Find offers using trading parameters #
GET /exchange/api/offers/best-offer Get best offer using trade parameters #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

nestcoin-exchange-external-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 3.0.2
  title: Onboard External API Gateway auth-oauth Exchange External API
  description: "**Introduction**\nAPI Gateway for Onboard\n\nThis specification describes API endpoints that are available to the public internet via the API gateway. The different endpoints require different authentication schemes, see documentation for what applies to the operation you want to access.\n\n**Errors**\nUses conventional HTTP response codes to indicate success or failure. In\ngeneral:\n \n- `2xx` status codes indicate success. Codes in the\n- `4xx` range\nindicate a client error (e.g. required parameters, failed request etc.).\n- `5xx` status codes indicate a server error occurred."
  contact:
    name: Nestcoin TechOps
    email: techops@nestcoin.com
  license:
    name: UNLICENSED
servers:
- url: https://external.dev.onboardpay.co
  description: Gateway for external API on staging environment.
tags:
- name: exchange-external-api
paths:
  /exchange/api/info:
    x-original-path: /api/info
    get:
      tags:
      - exchange-external-api
      summary: Get CEX Profile
      operationId: queryMyBusinessInfo
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CexProfileDto'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      security:
      - authToken: []
      x-visibility: external
  /exchange/orders/trade:
    x-original-path: /orders/trade
    get:
      tags:
      - exchange-external-api
      summary: Start a trade
      operationId: createOrder
      parameters:
      - name: apiKey
        in: query
        description: CEX api key
        required: true
        schema:
          type: string
      - name: product
        in: query
        description: Integration product in use e.g web3 or custodial
        required: true
        schema:
          $ref: '#/components/schemas/CreateOrderProductEnum'
      - name: orderId
        in: query
        description: Order ID generated for offramp trades
        schema:
          type: string
      - name: tradeType
        in: query
        description: Type of trade
        required: true
        schema:
          $ref: '#/components/schemas/CreateOrderTradeTypeEnum'
      - name: fiat
        in: query
        description: Symbol of fiat currency
        required: true
        schema:
          type: string
      - name: fiatAmount
        in: query
        description: Fiat amount
        schema:
          type: number
      - name: token
        in: query
        description: Symbol of token asset
        required: true
        schema:
          type: string
      - name: tokenAmount
        in: query
        description: Token amount
        schema:
          type: number
      - name: networkId
        in: query
        description: Onboard blockchain network identifier or chain Id e.g Base will be `base` or `8453` or `0x2105`
        schema:
          type: string
      - name: address
        in: query
        description: Wallet address to be debited/credited in order
        schema:
          type: string
      - name: paymentChannel
        in: query
        description: Payment channel
        schema:
          type: string
      - name: email
        in: query
        description: Customer's email address
        schema:
          type: string
      - name: autoselect
        in: query
        description: Offer auto select flag
        schema:
          type: boolean
          default: true
      responses:
        '301':
          description: Redirect
          content: {}
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      security: []
      x-visibility: external
  /exchange/api/orders/trade-options:
    x-original-path: /api/orders/trade-options
    get:
      tags:
      - exchange-external-api
      summary: Trade options / configurations for onboard
      operationId: getTradeOptions
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradeOptions'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      x-visibility: external
      security: []
  /exchange/api/orders/price:
    x-original-path: /api/orders/price
    get:
      tags:
      - exchange-external-api
      summary: Get best price for order
      operationId: getPrice
      parameters:
      - $ref: '#/components/parameters/ExchangeSvctradeTypeQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcfiatQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcfiatAmountQueryParam'
      - $ref: '#/components/parameters/ExchangeSvctokenQueryParam'
      - $ref: '#/components/parameters/ExchangeSvctokenAmountQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcnetworkQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcpaymentChannelQueryParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceDto'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      x-visibility: external
      security: []
  /exchange/api/orders/trade-url:
    x-original-path: /api/orders/trade-url
    get:
      tags:
      - exchange-external-api
      summary: Fetch trade url
      operationId: initTrade
      parameters:
      - name: apiKey
        in: query
        description: CEX api key
        required: true
        schema:
          type: string
      - name: product
        in: query
        description: Integration product in use e.g web3 or custodial
        required: true
        schema:
          $ref: '#/components/schemas/InitTradeProductEnum'
      - name: orderId
        in: query
        description: Order ID generated for offramp trades
        schema:
          type: string
      - name: tradeType
        in: query
        description: Type of trade
        required: true
        schema:
          $ref: '#/components/schemas/InitTradeTradeTypeEnum'
      - name: fiat
        in: query
        description: Symbol of fiat currency
        required: true
        schema:
          type: string
      - name: fiatAmount
        in: query
        description: Fiat amount
        schema:
          type: number
      - name: token
        in: query
        description: Symbol of token asset
        required: true
        schema:
          type: string
      - name: tokenAmount
        in: query
        description: Token amount
        schema:
          type: number
      - name: networkId
        in: query
        description: Onboard blockchain network identifier or chain Id e.g Base will be `base` or `8453` or `0x2105`
        schema:
          type: string
      - name: address
        in: query
        description: Wallet address to be debited/credited in order
        schema:
          type: string
      - name: paymentChannel
        in: query
        description: Payment channel
        schema:
          type: string
      - name: email
        in: query
        description: Customer's email address
        schema:
          type: string
      - name: autoselect
        in: query
        description: Offer auto select flag
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderDto'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      x-visibility: external
      security: []
  /exchange/api/cexs/signers:
    x-original-path: /api/cexs/signers
    get:
      tags:
      - exchange-external-api
      summary: Query CEX signer addresses
      operationId: querySignersExternal
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                required:
                - signers
                type: object
                properties:
                  signers:
                    uniqueItems: true
                    type: array
                    items:
                      $ref: '#/components/schemas/CexSignerDto'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      security:
      - authToken: []
      x-visibility: external
  /exchange/api/cexs/signers/{networkId}:
    x-original-path: /api/cexs/signers/{networkId}
    get:
      tags:
      - exchange-external-api
      summary: Query CEX network signer
      operationId: queryNetworkSignerExternal
      parameters:
      - name: networkId
        in: path
        description: Supported network ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CexSignerDto'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      security:
      - authToken: []
      x-visibility: external
  /exchange/api/cexs/liquidity-pools:
    x-original-path: /api/cexs/liquidity-pools
    get:
      tags:
      - exchange-external-api
      summary: Get CEX deployed liquidity pool contract data
      operationId: queryLiquidityPoolsExternal
      parameters:
      - name: networkId
        in: query
        description: Onboard blockchain network identifier or chain Id e.g Base will be `base` or `8453` or `0x2105`
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  liquidityPools:
                    type: array
                    items:
                      $ref: '#/components/schemas/LiquidityPoolDto'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      security:
      - authToken: []
      x-visibility: external
    post:
      tags:
      - exchange-external-api
      summary: Create liquidity pool contract for CEX
      operationId: deployLiquidityPoolExternal
      requestBody:
        description: Request data
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeployLiquidityPoolCommand'
        required: false
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiquidityPoolDto'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      security:
      - authToken: []
      x-visibility: external
      x-codegen-request-body-name: body
  /exchange/api/cexs/liquidity-pools/{poolAddress}/balances:
    x-original-path: /api/cexs/liquidity-pools/{poolAddress}/balances
    get:
      tags:
      - exchange-external-api
      summary: Get CEX token and coin balances
      operationId: fetchLiquidityPoolBalanceExternal
      parameters:
      - name: networkId
        in: query
        description: Onboard blockchain network identifier or chain Id e.g Base will be `base` or `8453` or `0x2105`
        schema:
          type: string
      - name: poolAddress
        in: path
        description: Account address for liquidity pool
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  balances:
                    type: array
                    items:
                      $ref: '#/components/schemas/LiquidityPoolBalanceDto'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      security:
      - authToken: []
      x-visibility: external
  /exchange/api/orders:
    x-original-path: /api/orders
    get:
      tags:
      - exchange-external-api
      summary: Retrieve list of exchange orders
      operationId: getExchangeOrdersExternal
      parameters:
      - name: from
        in: query
        description: 15-04-2022
        schema:
          type: string
          format: date
      - name: to
        in: query
        description: 15-08-2022
        schema:
          type: string
          format: date
      - name: size
        in: query
        schema:
          maximum: 100
          type: integer
          default: 20
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: transactionType
        in: query
        schema:
          $ref: '#/components/schemas/GetExchangeOrdersExternalTransactionTypeEnum'
      - name: statuses
        in: query
        style: form
        explode: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/GetExchangeOrdersExternalStatusesEnum'
      - name: token
        in: query
        schema:
          type: string
      - name: fiat
        in: query
        schema:
          type: string
      - name: network
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExchangeOrdersResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      security:
      - authToken: []
      x-visibility: external
  /exchange/api/business/orders/{cexOrderId}:
    x-original-path: /api/business/orders/{cexOrderId}
    get:
      tags:
      - exchange-external-api
      summary: Retrieve an exchange order by cexOrderId
      operationId: getExchangeOrderByIdExternal
      parameters:
      - name: cexOrderId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExchangeOrderDTO'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      security:
      - authToken: []
      x-visibility: external
  /exchange/api/offers:
    x-original-path: /api/offers
    get:
      tags:
      - exchange-external-api
      summary: Find offers using trading parameters
      operationId: extFindOffers
      x-visibility: external
      parameters:
      - $ref: '#/components/parameters/ExchangeSvcofferTypeQueryParam'
      - $ref: '#/components/parameters/ExchangeSvctokenQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcfiatQueryParam'
      - $ref: '#/components/parameters/ExchangeSvctokenAmountQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcfiatAmountQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcnetworkQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcpaymentChannelQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcpaymentChannelTypeQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcmerchantIdQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcpageQueryParam'
      - $ref: '#/components/parameters/ExchangeSvclimitQueryParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  offers:
                    type: array
                    items:
                      $ref: '#/components/schemas/OfferDto'
                  orderRequestTradeId:
                    type: string
                  currentPage:
                    type: number
                  totalPages:
                    type: number
                  totalCount:
                    type: number
                  totalPairOffers:
                    type: number
                required:
                - currentPage
                - totalPages
                - totalCount
                - offers
                - orderRequestTradeId
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      security: []
  /exchange/api/offers/best-offer:
    x-original-path: /api/offers/best-offer
    get:
      tags:
      - exchange-external-api
      summary: Get best offer using trade parameters
      operationId: getBestOfferExchange
      x-visibility: external
      parameters:
      - $ref: '#/components/parameters/ExchangeSvcofferTypeQueryParam'
      - $ref: '#/components/parameters/ExchangeSvctokenQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcfiatQueryParam'
      - $ref: '#/components/parameters/ExchangeSvctokenAmountQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcfiatAmountQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcnetworkQueryParam'
      - $ref: '#/components/parameters/ExchangeSvcpaymentChannelQueryParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  offer:
                    $ref: '#/components/schemas/BestOfferDTO'
                  orderRequestTradeId:
                    type: string
                required:
                - offer
                - orderRequestTradeId
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      security: []
components:
  schemas:
    ExchangeOrdersResponse:
      type: object
      properties:
        orders:
          type: array
          items:
            $ref: '#/components/schemas/ExchangeOrderDTO'
        pageNumber:
          type: integer
        pageSize:
          type: integer
        totalPages:
          type: integer
        totalOrders:
          type: integer
      x-source-svc: exchange
    FeeConfig:
      type: object
      properties:
        tradeType:
          $ref: '#/components/schemas/OfferType'
        tradeMode:
          $ref: '#/components/schemas/TradeMode'
        base:
          type: number
          description: Flat fee that must be paid for irrespective of percentage fee
        tradePercentage:
          type: number
          description: Fee described as a percentage of the trade
        cap:
          type: number
          description: Maximum value a fee is allowed to have
        network:
          type: string
          description: 'The network this config should be applied to(There will always be at least

            one fee config, that config will have network value of `default`

            '
      required:
      - base
      - tradePercentage
      - network
      x-source-svc: exchange
    OrderOfferDTO:
      required:
      - networkId
      - partnerId
      - rate
      - token
      - tokenAmount
      - transactionType
      type: object
      properties:
        offerId:
          type: string
          format: uuid
        partnerId:
          type: string
          format: uuid
        transactionType:
          type: string
          enum:
          - ONRAMP
          - OFFRAMP
        rate:
          type: number
          example: 0.32
        networkId:
          type: string
          example: TRC20
        fiatSymbol:
          type: string
          example: NGN
        fiatAmount:
          type: number
          example: 120.5
        token:
          type: string
          example: USDT
        tokenAmount:
          type: number
          example: 120.5
        partnerDisplayName:
          type: string
          example: John Doe
      x-source-svc: exchange
    FulfillOrderAs:
      type: string
      enum:
      - BUSINESS
      - PERSONAL
      x-source-svc: exchange
    TradeOptions:
      required:
      - fiats
      - networks
      type: object
      properties:
        fiats:
          type: array
          items:
            $ref: '#/components/schemas/FiatCurrency'
        networks:
          type: array
          items:
            $ref: '#/components/schemas/BlockchainNetwork'
        paymentChannels:
          type: array
          items:
            $ref: '#/components/schemas/PaymentChannel'
        transactionLimitsConfig:
          $ref: '#/components/schemas/DefaultConfigurationResponse'
      x-source-svc: exchange
    UltimateBeneficialOwner:
      type: object
      description: An individual owning 25% or more of the business
      required:
      - fullName
      - email
      - ownershipPercentage
      properties:
        fullName:
          type: string
        email:
          type: string
          format: email
        ownershipPercentage:
          type: number
      x-source-svc: exchange
    GetExchangeOrdersExternalTransactionTypeEnum:
      type: string
      enum:
      - ONRAMP
      - OFFRAMP
      x-source-svc: exchange
    DeployLiquidityPoolCommand:
      required:
      - cexSigner
      - networkId
      type: object
      properties:
        networkId:
          type: string
          description: ID for network
          example: bsc_testnet
        cexSigner:
          type: string
          description: CEX signer wallet address
          example: 0
      x-source-svc: exchange
    CreateOrderDto:
      required:
      - tradeUrl
      type: object
      properties:
        tradeUrl:
          type: string
          description: Http link for CEX to redirect to
      description: Response for a successful create order command
      x-source-svc: exchange
    CexSignerDto:
      required:
      - address
      - businessId
      - networkId
      type: object
      properties:
        businessId:
          type: string
          description: General format for UUID
          format: uuid
          example: 3a5aaea8-504a-4404-ad3d-b82574fba5e5
        networkId:
          type: string
          description: Gateway network ID
          example: bsc_testnet
        address:
          type: string
          description: Exchange signer address
          example: 1.2869144918162796e+48
        createdAt:
          type: string
          format: date-time
          description: Timestamp field.
          x-faker: date.recent
        updatedAt:
          type: string
          format: date-time
          description: Timestamp field.
          x-faker: date.recent
      description: Registered wallet address
      x-source-svc: exchange
    LiquidityPoolBalanceDto:
      required:
      - assetSymbol
      - balance
      - isNative
      - networkId
      type: object
      properties:
        networkId:
          type: string
        assetSymbol:
          type: string
        balance:
          type: string
        balanceInUsd:
          type: number
        tokenAddress:
          type: string
        isNative:
          type: boolean
      x-source-svc: exchange
    TradeTypeQueryParamTradeTypeEnum:
      type: string
      enum:
      - BUY
      - SELL
      x-source-svc: exchange
    CexProfileDto:
      required:
      - businessCategory
      - businessEmail
      - businessFormationDate
      - businessId
      - businessIndustry
      - businessLocation
      - businessName
      - businessRegCountry
      - businessRegNo
      - createdAt
      - legalEntityType
      - monthlyTransactionVolume
      - operatesInRestrictedRegions
      - taxCountry
      - taxIdentificationNumber
      - transactsOnBehalfOfThirdParties
      - updatedAt
      type: object
      properties:
        businessId:
          type: string
          description: General format for UUID
          format: uuid
          example: 3a5aaea8-504a-4404-ad3d-b82574fba5e5
        businessName:
          type: string
          description: Registered name of business entity
          example: Onabord exchange
        businessEmail:
          type: string
          format: email
          description: Business profile email address
        businessLocation:
          type: string
          description: business full location address
        productName:
          type: string
          description: Product name
        productWebsiteUrl:
          type: string
          description: HTTP link to the product / business website
          format: url
        productDescription:
          type: string
          description: Description of product
        businessPhoneNumber:
          pattern: \+[1-9][0-9]{0,3}[0-9]{7,14}
          type: string
          description: Phone number field.
        businessRegNo:
          type: string
          description: Business registration number (if any)
        businessRegCountry:
          type: string
          description: Business country of registration (if any)
        businessLogoUrl:
          type: string
          description: HTTP link to business image logo
          format: url
        businessFormationDate:
          type: string
          description: Date the business entity was formed
          format: date
        businessType:
          type: string
        businessIndustry:
          $ref: '#/components/schemas/BusinessIndustry'
        enabledProducts:
          type: array
          items:
            type: string
        operatingAddress:
          type: string
          description: Operating address, when different from the registered address
        taxCountry:
          type: string
          description: Tax residency country, Valid alpha2 country code
          minLength: 2
          maxLength: 2
        taxIdentificationNumber:
          type: string
          description: Business tax identification number (TIN)
        legalEntityType:
          $ref: '#/components/schemas/LegalEntityType'
        businessCategory:
          $ref: '#/components/schemas/Bu

# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nestcoin/refs/heads/main/openapi/nestcoin-exchange-external-api-api-openapi.yml