> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.stage.paradigm.co/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.stage.paradigm.co/_mcp/server.

# API Flows

### VRFQ Created

1. Subscribed to `rfq` WS Channel.
2. Receives WS message with `kind` == `ADDED`, `status` == `ACTIVE`.

### VRFQ Expires

1. Subscribed to `rfq` WS Channel.
2. Receives a WS message with `kind` == `REMOVED`, `status` == `EXPIRED`.

### Quote Created

1. Subscribed to the `quote` WS Channel.
2. *Maker* sends request to create a Quote
3. Once quote is created, *Maker* will asynchronously receive a WS messages on `quote` WS Channel with `kind` == `NEW` and `status` == `OPEN`.

### Quote Canceled

1. Subscribed to the `quote` WS Channel.
2. *Maker* sends request to cancel a Quote
3. Once quote is canceled, *Maker* will asynchronously receive a WS messages on `quote` WS Channel with `kind` == `CANCELED` and `status` == `CLOSED`.

### Matched Quote and Order

1. Subscribed to `quote` and `trade` WS Channels.
2. Asynchronously the *Maker* receives a WS message on `quote` WS Channel with `kind` == `PENDING_FILL` and `status` == `CLOSED`.
3. Trade is executed:

* If Trade execution is successful at clearing & settlement:
  * Asynchronously the *Maker* receives a WS message on `trade` WS channel with `kind` == `COMPLETED` and `status` == `COMPLETED`.
  * Asynchronously the *Maker* receives a WS message on `quote` WS channel with `kind` == `FILLED` and `status` == `CLOSED`.
* If Trade execution is rejected at clearing & settlement:
  * Asynchronously the *Maker* receives WS messages on `trade` WS channel with `kind` == `REJECTION` and `status` == `REJECTED`.
  * Asynchronously the *Maker* receives WS messages on `quote` WS channel with `kind` == `CANCELED` and `status` == `CLOSED`.