Ripio WebSocket Stream API

The WebSocket Stream API from Ripio — 0 operation(s) for websocket stream.

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/ripio-websocket-stream-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

ripio-websocket-stream-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ripio WebSocket Stream API
  version: v4.0
  contact:
    name: Jorn Filho
  x-logo:
    url: https://trade-images.ripio.com/general_images/logo-ripio.png
    href: '#'
  description: 'Operations tagged WebSocket Stream across 2 of this provider''s published API definitions: ripio-trade-openapi.yml, ripio-websocket-stream-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.ripiotrade.co/v4/
tags:
- name: WebSocket Stream
  description: Our websocket stream service provides real time updates about market data via websocket protocol.
paths: {}
webhooks:
  trade:
    post:
      summary: trade@BASE_QUOTE
      description: This topic listens for trades of a given pair (BASE_QUOTE), so it will be notified every time a trade happens.
      operationId: trade
      tags:
      - WebSocket Stream
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IRequest'
            example:
              method: subscribe
              topics:
              - trade@ETH_BRL
      responses:
        '200':
          description: Trade
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IResponse_ISocketTrade_'
              example:
                id: 1
                topic: trade@ETH_BRL
                timestamp: 1672856503549
                body:
                  amount: 0.2404764
                  date: '2019-01-03T02:27:33.947Z'
                  id: 2B222F22-5235-45FA-97FC-E9DBFA2575EE
                  maker_order_id: F49F5BD8-3F5B-4364-BCEE-F36F62DB966A
                  maker_side: buy
                  maker_type: limit
                  pair: ETH_BRL
                  price: 15160
                  taker_order_id: FEAB5CEC-7F9E-4F95-B67D-9E8D5C739BE3
                  taker_side: sell
                  taker_type: market
                  timestamp: 1675780847920
                  total_value: 3638.4
    servers:
    - url: https://api.ripiotrade.co/v4/
  orderbook/level_3:
    post:
      summary: orderbook/level_3@BASE_QUOTE
      description: This topic will notify whenever an order is opened, canceled or a trade happens for the given pair (BASE_QUOTE). By default, the system notifies the topic every 30 seconds, even if a transaction has not taken place. Each side will contain up to 100 orders.
      operationId: orderbook/level_3
      tags:
      - WebSocket Stream
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IRequest'
            example:
              method: subscribe
              topics:
              - orderbook/level_3@ETH_BRL
      responses:
        '200':
          description: Level 3 orderbook
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IResponse_IOrderBookLevel3_'
              example:
                id: 2
                topic: orderbook/level_3@ETH_BRL
                timestamp: 1672857013503
                body:
                  asks:
                  - amount: 184.9
                    id: 43758DB1-3257-4C98-A20F-7F246E460A50
                    price: 20
                  - amount: 10
                    id: 4B86ACC5-76B2-4003-AF20-F398CE9EDC92
                    price: 20
                  bids:
                  - amount: 400
                    id: B075FDF9-9B68-4299-87E0-5FC8B40B3ABD
                    price: 5
                  - amount: 20
                    id: 606763A5-4B95-4216-9F07-69C6B51D64F0
                    price: 5
                  pair: ETH_BRL
                  hash: '2254383345'
    servers:
    - url: https://api.ripiotrade.co/v4/
  orderbook/level_2:
    post:
      summary: orderbook/level_2@BASE_QUOTE
      description: This topic will notify whenever an order is opened, canceled or a trade happens for the given pair (BASE_QUOTE). Since it is a level 2 orderbook, the orders are going to be grouped by price. By default, the system notifies the topic every 30 seconds, even if a transaction has not taken place. Each side will contain up to 100 price levels.
      operationId: orderbook/level_2
      tags:
      - WebSocket Stream
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IRequest'
            example:
              method: subscribe
              topics:
              - orderbook/level_2@ETH_BRL
      responses:
        '200':
          description: Level 2 orderbook
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IResponse_IOrderBookLevel2WithoutUsers_'
              example:
                id: 3
                topic: orderbook/level_2@ETH_BRL
                timestamp: 1672856653428
                body:
                  asks:
                  - amount: 184.9
                    price: 20
                  - amount: 10
                    price: 25
                  bids:
                  - amount: 400
                    price: 5
                  - amount: 20
                    price: 4
                  pair: ETH_BRL
                  hash: '2254383345'
    servers:
    - url: https://api.ripiotrade.co/v4/
  orderbook/level_2_delta:
    post:
      summary: orderbook/level_2_delta@BASE_QUOTE
      description: 'This topic will always notify a change at a price level of the order book when an order is opened, canceled or a trade takes place for a given pair (BASE_QUOTE). In other words, it is the variation in the amount of assets available for buy or sell at a given price level. In each topic event the `amount` is the absolute quantity for a price level, and if the `amount` is 0, you should remove the price level from the order book.


        **Important!** In addition to the delta messages, the first message sent upon connection will be a snapshot of the level 2 order book.'
      operationId: orderbook/level_2_delta
      tags:
      - WebSocket Stream
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IRequest'
            example:
              method: subscribe
              topics:
              - orderbook/level_2_delta@ETH_BRL
      responses:
        '200':
          description: Level 2 delta orderbook
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IResponse_IOrderBookLevel2WithoutUsers_'
              example:
                id: 4
                topic: orderbook/level_2_delta@ETH_BRL
                timestamp: 1672856653428
                body:
                  asks:
                  - amount: 0
                    price: 25
                  bids:
                  - amount: 20
                    price: 25
                  pair: ETH_BRL
                  hash: '2254383345'
    servers:
    - url: https://api.ripiotrade.co/v4/
  orderbook/level_2_with_users:
    post:
      summary: orderbook/level_2_with_users@BASE_QUOTE
      description: This topic will notify whenever an order is opened, canceled or a trade happens for the given pair (BASE_QUOTE). Since it is a level 2 orderbook, the orders are going to be grouped by price, and this also includes an array with users ids that have an order at that level. By default, the system notifies the topic every 30 seconds, even if a transaction has not taken place. Each side will contain up to 100 price levels.
      operationId: orderbook/level_2_with_users
      tags:
      - WebSocket Stream
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IRequest'
            example:
              method: subscribe
              topics:
              - orderbook/level_2_with_users@ETH_BRL
      responses:
        '200':
          description: Level 2 orderbook with users
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IResponse_IOrderBookLevel2_'
              example:
                id: 5
                topic: orderbook/level_2_with_users@ETH_BRL
                timestamp: 1672856653428
                body:
                  asks:
                  - amount: 184.9
                    price: 20
                    users:
                    - 5EF6B2C9-28C9-4C50-99EA-7F3A38958F0A
                  - amount: 10
                    price: 25
                    users:
                    - 5EF6B2C9-28C9-4C50-99EA-7F3A38958F0A
                  bids:
                  - amount: 400
                    price: 5
                    users:
                    - 5EF6B2C9-28C9-4C50-99EA-7F3A38958F0A
                  - amount: 20
                    price: 4
                    users:
                    - 5EF6B2C9-28C9-4C50-99EA-7F3A38958F0A
                  pair: ETH_BRL
                  hash: '2254383345'
    servers:
    - url: https://api.ripiotrade.co/v4/
  ticker:
    post:
      summary: ticker@BASE_QUOTE
      description: This topic delivers notifications for 24 hour window statistics for a pair (BASE_QUOTE), and this will happen whenever an order is opened, canceled or a trade happens for the given pair. By default, the system notifies the topic every 30 seconds, even if a transaction has not taken place.
      operationId: ticker
      tags:
      - WebSocket Stream
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IRequest'
            example:
              method: subscribe
              topics:
              - ticker@ETH_BRL
      responses:
        '200':
          description: Ticker
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IResponse_ITickerV4_'
              example:
                id: 6
                topic: ticker@ETH_BRL
                timestamp: 1672856683447
                body:
                  ask: 4.01
                  base_code: ETH
                  base_id: 27698137-8178-4395-9841-C1B1505C9352
                  conversions:
                  - currency_code: BRL
                    volume: 0
                  - currency_code: BTC
                    volume: 0
                  - currency_code: ETH
                    volume: 0
                  - currency_code: USD
                    volume: 0
                  - currency_code: USDC
                    volume: 0
                  - currency_code: UXD
                    volume: 0
                  - currency_code: ARS
                    volume: 0
                  - currency_code: MXN
                    volume: 0
                  bid: 5
                  date: '2022-09-28T19:13:40.887Z'
                  high: 20
                  low: 20
                  pair: ETH_BRL
                  price_change_percent_24h: '-16.66'
                  quote_code: BRL
                  quote_id: 48898138-8623-4555-9468-B1A1505A9352
                  quote_volume: 600
                  trades_quantity: 10
                  volume: 124
                  first: 10
                  last: 20
    servers:
    - url: https://api.ripiotrade.co/v4/
  order_status:
    post:
      summary: order_status
      description: This topic is responsible for notifing the user every time one of its orders is updated (created, executed, canceled).
      operationId: order_status
      tags:
      - WebSocket Stream
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IRequestWithTicket'
            example:
              method: subscribe
              topics:
              - order_status
              ticket: 97794B95-AFE7-454F-81B0-9109112548C2
      responses:
        '200':
          description: Order status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IResponse_IOrderStatus_'
              example:
                id: 7
                topic: order_status
                timestamp: 1672856713677
                body:
                  amount: 4
                  average_execution_price: 6
                  id: F55E4E01-C39B-4AA7-848B-1C6A362C386E
                  created_at: '2023-01-24T17:28:32.247Z'
                  executed_amount: 4
                  external_id: null
                  pair: ETH_BRL
                  price: 6
                  remaining_amount: 0
                  side: buy
                  status: executed_completely
                  type: limit
                  updated_at: '2023-01-24T17:28:33.993Z'
                  user_id: 30B8CDBB-BDBD-4B60-A90F-860AB46B76F7
    servers:
    - url: https://api.ripiotrade.co/v4/
  balance:
    post:
      summary: balance
      description: Every time there is a change in the user's balance, this topic will be notified. Actions like create / cancel order, deposit / withdraw currency or a trade being executed, are gonna change the use''s balance.
      operationId: balance
      tags:
      - WebSocket Stream
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IRequestWithTicket'
            example:
              method: subscribe
              topics:
              - balance
              ticket: 97794B95-AFE7-454F-81B0-9109112548C2
      responses:
        '200':
          description: Balance
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IResponse_SocketBalance_'
              example:
                id: 8
                topic: balance
                timestamp: 1672856833684
                body:
                  user_id: 299E7131-CE8C-422F-A1CF-497BFA116F89
                  balances:
                  - available_amount: 1
                    currency_code: BTC
                    locked_amount: 0.5
                    conversions:
                    - available_amount: 50003247
                      currency_code: UXD
                      locked_amount: 0
                    - available_amount: 10000649.4
                      currency_code: BRL
                      locked_amount: 0
                    - available_amount: 1
                      currency_code: BTC
                      locked_amount: 0.5
                    - available_amount: 20001.2988
                      currency_code: ETH
                      locked_amount: 0
                    - available_amount: 20001298.8
                      currency_code: USD
                      locked_amount: 0
                    - available_amount: 20001298.8
                      currency_code: USDC
                      locked_amount: 0
                  - available_amount: 3
                    currency_code: ETH
                    locked_amount: 1
                    conversions:
                    - available_amount: 4119989.31998
                      currency_code: UXD
                      locked_amount: 860.002145
                    - available_amount: 823997.86
                      currency_code: BRL
                      locked_amount: 172
                    - available_amount: 46.03340022
                      currency_code: BTC
                      locked_amount: 0.00960896
                    - available_amount: 3
                      currency_code: ETH
                      locked_amount: 1
                    - available_amount: 4119989.31
                      currency_code: USD
                      locked_amount: 860
                    - available_amount: 4119989.31998
                      currency_code: USDC
                      locked_amount: 860.002145
    servers:
    - url: https://api.ripiotrade.co/v4/
  user_trades:
    post:
      summary: user_trades
      description: When orders match, this topic notifies the users involved in the match process. Buyer and seller will get notified about what orders were executed.
      operationId: user_trades
      tags:
      - WebSocket Stream
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IRequestWithTicket'
            example:
              method: subscribe
              topics:
              - user_trades
              ticket: 97794B95-AFE7-454F-81B0-9109112548C2
      responses:
        '200':
          description: User Trades
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IResponse_UserTrades_'
              example:
                id: 9
                topic: user_trades
                timestamp: 1673271591764
                body:
                  trade:
                    amount: 1
                    date: '2023-01-09T13:39:24.057Z'
                    fee: 0
                    fee_currency: BCH
                    id: 08799ECC-F6B1-498E-B89C-2A05E6A181B9
                    maker_order_id: AF1C3AD2-D5A2-41CC-9A4C-646B600F9E01
                    pair_code: BCH_BRL
                    price: 49
                    side: buy
                    taker_or_maker: taker
                    taker_order_id: 52B46D87-86A1-4978-B141-4E18E3E47514
                    timestamp: 1675780847920
                    total_value: 49
                    type: limit
                  user_id: 30B8CDBB-BDBD-4B60-A90F-860AB46B76F7
    servers:
    - url: https://api.ripiotrade.co/v4/
  deposit:
    post:
      summary: deposit
      description: This topic is responsible for notifing the user when a fiat / cryptocurrency deposit occurs.
      operationId: deposit
      tags:
      - WebSocket Stream
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IRequestWithTicket'
            example:
              method: subscribe
              topics:
              - deposit
              ticket: 97794B95-AFE7-454F-81B0-9109112548C2
      responses:
        '200':
          description: Deposit
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IResponse_SendCashInToSocketUseCaseParams_'
              example:
                id: 10
                topic: deposit
                timestamp: 1673271591764
                body:
                  id: 08799ECC-F6B1-498E-B89C-2A05E6A181B9
                  amount: 1
                  hash: '0x79704c92b31061b8f51e26486d6454aff3e3c58aa0d51f0f803d6fd063be8100'
                  currency_code: ETH
                  is_internal: false
                  status: confirmed
                  create_date: '2023-01-09T13:39:24.057Z'
                  update_date: '2023-01-09T13:39:25.001Z'
                  user_id: 5B6A43AE-8012-402D-966F-87CF64689535
                  confirmation_date: '2023-01-09T13:39:25.001Z'
                  address: 3PQhyXH1EZs1bZ23ZafqQDyeViqxn5KdXN
                  network: bitcoincash
    servers:
    - url: https://api.ripiotrade.co/v4/
  withdrawal:
    post:
      summary: withdrawal
      description: This topic is responsible for notifing the user when a fiat / cryptocurrency withdrawal occurs.
      operationId: withdrawal
      tags:
      - WebSocket Stream
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IRequestWithTicket'
            example:
              method: subscribe
              topics:
              - withdrawal
              ticket: 97794B95-AFE7-454F-81B0-9109112548C2
      responses:
        '200':
          description: Withdrawal
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IResponse_SendCashOutToSocketUseCaseParams_'
              example:
                id: 11
                topic: withdrawal
                timestamp: 1673271591764
                body:
                  id: 2B222F22-5235-45FA-97FC-E9DBFA2575EE
                  amount: 100
                  currency_code: ETH
                  status: confirmed
                  miner_fee: null
                  fee: null
                  external_id: 08799ECC-F6B1-498E-B89C-2A05E6A181B9
                  create_date: '2023-01-09T13:39:24.057Z'
                  destination_address: mpe8FKtvDktBN1FGToFpYN2pdktySxD8wg
                  update_date: '2023-01-09T13:39:24.057Z'
                  hash: '0x79704c92b31061b8f51e26486d6454aff3e3c58aa0d51f0f803d6fd063be8100'
                  is_internal: false
                  network: bitcoin
                  user_id: 5B6A43AE-8012-402D-966F-87CF64689535
    servers:
    - url: https://api.ripiotrade.co/v4/
components:
  schemas:
    TopicEnum:
      enum:
      - trade
      - orderbook/level_3
      - orderbook/level_2
      - orderbook/level_2_with_users
      - orderbook/level_2_delta
      - ticker
      - order_status
      - balance
      - user_trades
      - deposit
      - withdrawal
      type: string
    IRequest:
      properties:
        method:
          $ref: '#/components/schemas/MethodEnum'
          description: Method to be executed
        topics:
          items:
            $ref: '#/components/schemas/TopicEnum'
          type: array
          description: Topics to subscribe to
      required:
      - method
      - topics
      type: object
      additionalProperties: false
    IOrderBookLevel2WithoutUsers:
      properties:
        asks:
          items:
            $ref: '#/components/schemas/IBookExecutionLevel2WithoutUsers'
          type: array
          description: Sell orders
        bids:
          items:
            $ref: '#/components/schemas/IBookExecutionLevel2WithoutUsers'
          type: array
          description: Buy orders
        pair:
          type: string
          description: Currency pair code
          example: BTC_BRL
        hash:
          type: string
          description: 'The checksum hash for the current order book is a CRC32 value derived from the top 10 bids and top 10 asks. This checksum allows client applications to verify that the local order book data is accurate and can serve as an indicator to refresh the order book if the data is outdated. For guidance on generating checksums for order book messages, please refer to the following sample: https://github.com/ripio/api/tree/main/websocket-checksum-hash.'
          example: '2254383345'
      required:
      - asks
      - bids
      - pair
      - hash
      type: object
      additionalProperties: false
      example:
        asks:
        - amount: 184.9
          price: 20
        - amount: 10
          price: 20
        bids:
        - amount: 400
          price: 5
        - amount: 20
          price: 4
        pair: ETH_BRL
        hash: '2254383345'
    IResponse_SendCashOutToSocketUseCaseParams_:
      properties:
        body:
          $ref: '#/components/schemas/SendCashOutToSocketUseCaseParams'
        id:
          type: number
          format: double
          description: Each WebSocket message includes a sequential numeric id. Each topic has its own unique sequence, and for private topics, the sequence is unique to each topic and user. It's important to note that some topics will send a "welcome message", which will have an id value of `-1`. Additionally, this sequence may be reset between connections, so be sure to update this value locally whenever you reconnect.
          example: 1308
        timestamp:
          type: number
          format: double
          description: Timestamp in milliseconds
          example: 1709300794000
        topic:
          $ref: '#/components/schemas/TopicEnum'
          description: Topic related to the message
          example: trade@BTC_USDC
      required:
      - body
      - id
      - timestamp
      - topic
      type: object
      additionalProperties: false
    SendCryptoCashInToSocketUseCaseParams:
      properties:
        id:
          type: string
          description: Deposit identifier
        amount:
          type: number
          format: double
          description: Amount
        currency_code:
          type: string
          description: Currency code
        status:
          type: string
          description: Cash in status (`confirmation_pending` | `confirmed` | `canceled` for cryptocurrency / `awaiting_processing` | `processing` | `confirmed` | `canceled` | `rejected` | `pending_cancelation` | `pending_approval` | `pending_processing` | `awaiting_bank_interval` for fiat)
        create_date:
          type: string
          description: Datetime of the creation
        update_date:
          type: string
          description: Datetime of the last update
        user_id:
          type: string
          description: User id
        hash:
          type: string
          description: Transaction hash
        confirmation_date:
          type: string
          description: Datetime of the confirmation
        network:
          type: string
          description: Network
        is_internal:
          type: boolean
          description: If true, indicates that the deposit was sent internally by another exchange user
      required:
      - id
      - amount
      - currency_code
      - status
      - create_date
      - update_date
      - user_id
      type: object
      additionalProperties: false
    SendCashInToSocketUseCaseParams:
      anyOf:
      - $ref: '#/components/schemas/SendFiatCashInToSocketUseCaseParams'
      - $ref: '#/components/schemas/SendCryptoCashInToSocketUseCaseParams'
    DetailType:
      properties:
        pix_key:
          type: string
        agency:
          type: string
        user_bank_account:
          type: string
        destination_key:
          type: string
      type: object
    IResponse_IOrderBookLevel2WithoutUsers_:
      properties:
        body:
          $ref: '#/components/schemas/IOrderBookLevel2WithoutUsers'
        id:
          type: number
          format: double
          description: Each WebSocket message includes a sequential numeric id. Each topic has its own unique sequence, and for private topics, the sequence is unique to each topic and user. It's important to note that some topics will send a "welcome message", which will have an id value of `-1`. Additionally, this sequence may be reset between connections, so be sure to update this value locally whenever you reconnect.
          example: 1308
        timestamp:
          type: number
          format: double
          description: Timestamp in milliseconds
          example: 1709300794000
        topic:
          $ref: '#/components/schemas/TopicEnum'
          description: Topic related to the message
          example: trade@BTC_USDC
      required:
      - body
      - id
      - timestamp
      - topic
      type: object
      additionalProperties: false
    UserTrades:
      properties:
        user_id:
          type: string
          description: User identifier
        trade:
          $ref: '#/components/schemas/UserPreparedTradeV4'
      required:
      - user_id
      - trade
      type: object
      additionalProperties: false
    SendFiatCashInToSocketUseCaseParams:
      properties:
        id:
          type: string
          description: Cash in identifier
        amount:
          type: number
          format: double
          description: Amount
        currency_code:
          type:
          - string
          - 'null'
          description: Currency code
        fee:
          type: number
          format: double
          description: Fee charged by the exchange
        status:
          type: string
          description: Cash in status (`confirmation_pending` | `confirmed` | `canceled` for cryptocurrency / `awaiting_processing` | `processing` | `confirmed` | `canceled` | `rejected` | `pending_cancelation` | `pending_approval` | `pending_processing` | `awaiting_bank_interval` for fiat)
        create_date:
          type: string
          description: Datetime of the creation
        update_date:
          type: string
          description: Datetime of the last update
        user_id:
          type: string
          description: User id
      required:
      - id
      - amount
      - currency_code
      - fee
      - status
      - create_date
      - update_date
      - user_id
      type: object
      additionalProperties: false
    IResponse_ISocketTrade_:
      properties:
        body:
          $ref: '#/components/schemas/ISocketTrade'
        id:
          type: number
          format: double
          description: Each WebSocket message includes a sequential numeric id. Each topic has its own unique sequence, and for private topics, the sequence is unique to each topic and user. It's important to note that some topics will send a "welcome message", which will have an id value of `-1`. Additionally, this sequence may be reset between connections, so be sure to update this value locally whenever you reconnect.
          example: 1308
        timestamp:
          type: number
          format: double
          description: Timestamp in milliseconds
          example: 1709300794000
        topic:
          $ref: '#/components/schemas/TopicEnum'
          description: Topic related to the message
          example: trade@BTC_USDC
      required:
      - body
      - id
      - timestamp
      - topic
      type: object
      additionalProperties: false
    IResponse_IOrderBookLevel3_:
      properties:
        body:
          $ref: '#/components/schemas/IOrderBookLevel3'
        id:
          type: number
          format: double
          description: Each WebSocket message includes a sequential numeric id. Each topic has its own unique sequence, and for private topics, the sequence is unique to each topic and user. It's important to note that some topics will send a "welcome message", which will have an id value of `-1`. Additionally, this sequence may be reset between connections, so be sure to update this value locally whenever you reconnect.
          example: 1308
        timestamp:
          type: number
          format: double
          description: Timestamp in milliseconds
          example: 1709300794000
        topic:
          $ref: '#/components/schemas/TopicEnum'
          description: Topic related to the message
          example: trade@BTC_USDC
      required:
      - body
      - id
      - timestamp
      - topic
      type: object
      additionalProperties: false
    SendCryptoCashOutToSocketUseCaseParams:
      properties:
        id:
          type: string
          description: Cash out identifier
        amount:
          type: number
          format: double
          description: Amount
        currency_code:
          type: string
          description: Currency code
        status:
          type: string
          description: Origin address (valid only for cryptocurrency)
        external_id:
          type: string
          description: External id
        create_date:
          type: string
          description: Datetime of the creation
        update_date:
          type: string
          description: Datetime of the last update
        user_id:
          type: string
          description: User id
        miner_fee:
          type:
          - number
          - 'null'
          format: double
          description: Miner fee
        fee:
          type:
          - number
          - 'null'
          format: double
          description: Fee charged by the exchange
        hash:
          type: string
          description: Withdrawal hash
        destination_address:
          type: string
          description: Destination Address
        is_internal:
          type: boolean
          description: If true, indicates that the withdrawal was sent to another exchange user
        link:
          type:
          - string
          - 'null'
          description: Link to explorer
        memo:
          type: string
          description: Destination memo
        tag:
          type: string
          description: Destination tag
        network:
          type: string
          description: Currency network
      required:
      - id
      - amount
      - currency_code
      - status
      - create_date
      - update_date
      - user_id
      - miner_fee
      - fee
      - hash
      - destination_address
      - is_internal
      - link
      - network
      type: object
      additionalProperties: false
    IResponse_IOrderStatus_:
      p

# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ripio/refs/heads/main/openapi/ripio-websocket-stream-api-openapi.yml