# WebSockets Reference

Their are *two* major *channels* within the WS connection, they are:

### [Quotes](https://docs.premia.blue/developer-center/apis/containerized-api/websockets-reference/quotes-channel)

Receive messages regarding *changes* to the orderbook state along with responses back from an RFQ *requests*&#x20;

[*<mark style="color:green;">Stream</mark>*](#subscribe-to-quotes-orderbook-and-rfq)  *public* orderbook state changes such as:

* <mark style="color:orange;">PostQuoteMessage</mark> -> new orders
* <mark style="color:orange;">FillQuoteMessage</mark> -> trade fills
* <mark style="color:orange;">DeleteQuoteMessage</mark> -> cancelled orders

*<mark style="color:green;">Stream</mark>* *personalized* quotes from market makers after submitting a RFQ

### [RFQ](https://docs.premia.blue/developer-center/apis/containerized-api/websockets-reference/rfq-channel)

Participate in the RFQ network&#x20;

[*<mark style="color:green;">Publish</mark>*](#publish-rfq-request-s) RFQ requests to the RFQ network.  This is how requests are broadcasted.

[*<mark style="color:green;">Stream</mark>*](#subscribe-to-rfq-requests)  RFQ requests in order to *provide* personalized quotes.  This is how market makers listen for requests.

{% hint style="info" %}
Participating the in the RFQ network (both as a requester and provider of quotes) can *only* be done via the RFQ channel of our websocket.  There is *no* direct rest endpoints.
{% endhint %}

### <mark style="color:blue;">Dual Channel Support</mark>

It is possible to integrate BOTH channels at the same time under a single websocket connection.  In this case there only needs to be one authorization methods (see [here](https://docs.premia.blue/developer-center/apis/containerized-api/websockets-reference/authorization) on how to implement this).  However, two filter messages must be sent (one for each channel).&#x20;

Authorizations and Filter messages are covered in the next section.&#x20;
