> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.paradigm.co/unified-markets/o-bv-1/api-flows/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.paradigm.co/_mcp/server. # API Flows ### OB Created *Taker's* & *Maker's* Perspective: 1. Subscribed to `rfq` WS Channel. 2. Receives WS message with `kind` == `ADDED`, `status` == `ACTIVE`. ### OB Expires *Taker's* & *Maker's* Perspective: 1. Subscribed to `rfq` WS Channel. 2. Receives WS message with `kind` == `REMOVED`, `status` == `EXPIRED`. ### OB: Quote Created *Taker's* & *Maker's* Perspective: 1. Subscribed to the `quote`, `quote_status`, and `quote_book` WS Channels. 2. Asynchronously: * Receives WS messages on `quote_book` WS Channel with `kind` == `ADDED` and `status` == `OPEN`. * *Maker* only, receives WS messages on `quote` WS Channel with `kind` == `NEW` and `status` == `OPEN`. 3. Certain order book validations are performed only asynchronously. In the case of a validation error, the error will be returned on the `quote_status` channel. ### OB: Quote Canceled *Taker's* & *Maker's* Perspective: 1. Subscribed to the `quote` and `quote_book` WS Channels. 2. Asynchronously: * Receives WS messages on `quote_book` WS Channel with `kind` == `REMOVED` and `status` == `CLOSED`. * *Maker* only, receives WS messages on `quote` WS Channel with `kind` == `CANCELED` and `status` == `CLOSED`. 3. Certain order book validations are performed only asynchronously. In the case of a validation error, the error will be returned on the `quote_status` channel. ### OB: Matched Quote and Order *Taker's* Perspective: 1. Subscribed to `quote_book`, `order`, `trade` and `trade_tape` WS Channels. 2. Asynchronously: * Receives a single WS message on `order` WS Channel with `kind` == `PENDING_FILL` and `status` == `OPEN`. * Receives a WS message on the `quote_book` WS Channel: * If Quote is completely consumed `kind` == `REMOVED`. * If Quote is partially consumed `kind` == `UPDATED`. 3. Asynchronously: * If Trade execution is successful at clearing & settlement: * Receives WS messages on `trade` WS channel with `kind` == `CONFIRMATION` for each successful trade execution as part of the Order. * Receives WS messages on `trade_tape` WS channel with `kind` == `COMPLETED` for each successful trade execution through Paradigm. * If Trade execution is rejected at clearing & settlement: * Receives WS messages on `trade` WS channel with `kind` == `REJECTION` for each rejected trade execution as part of the Order. * In the event of Successful/Rejected executions at clearing & settlement: * Receives WS messages on `order` on WS channel with `kind` == `SUMMARY` and `status` == `CLOSED`. *Maker's* Perspective: 1. Subscribed to `quote_book`, `quote`, `trade` and `trade_tape` WS Channels. 2. Asynchronously: * Receives a single WS message on `quote` WS Channel: * If Quote is completely consumed `kind` == `PENDING_FILL` and `status` == `CLOSED`. * Also occurs if the Remaining Quantity is below the venue's enforced "Block Size Minimum". * If Quote is partially consumed `kind` == `PENDING_FILL` and `status` == `OPEN`. * Receives a WS message on the `quote_book` WS Channel: * If Quote is completely consumed `kind` == `REMOVED`. * If Quote is partially consumed `kind` == `UPDATED`. 3. Asynchronously: * If Trade execution is successful at clearing & settlement: * Receives WS messages on `trade` WS channel with `kind` == `CONFIRMATION` for each successful trade execution as part of the Order. * Receives WS messages on `trade_tape` WS channel with `kind` == `COMPLETED` for each successful trade execution through Paradigm. * If a Quote is only partially consumed at execution, meaning there is remaining available quantity: * Receives a WS message on the `quote` WS Channel with `kind` == `PARTIALLY_FILLED` and `status` == `OPEN`. * If a Quote is only completely consumed at execution, meaning there is NO remaining available quantity: * Receives a WS message on the `quote` WS Channel with `kind` == `FILLED` and `status` == `OPEN`. * If Trade execution is rejected at clearing & settlement: * Receives WS messages on `trade` WS channel with `kind` == `REJECTION` for each rejected trade execution as part of the Order. * Receives a WS message on the `quote` WS Channel with `kind` == `CANCELED` and `status` == `CLOSED`.