> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.paradigm.co/unified-markets/rfq-request-for-quotes/enums-explanations/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.paradigm.co/_mcp/server. # Enums & Explanations There are six resources present through the DRFQv2 API. They are the *Instrument*, *RFQ*, *Order*, *RFQ Orders*, *Trade*, and *Trade Tape* resources. Users are able to engage with Paradigm via the *RESToverHTTP* and *JSON-RPCoverWebSockets* interfaces. Resources have a `state` attribute which denotes the status or availability of the object. The *JSON-RPCoverWebSockets* interface publishes messages which include an `event` key to help communicate what update the message is referring too. ### *Instrument* This information is available from the *RESToverHTTP* inferface, but not the *JSON-RPCoverWebSockets* interface. Valid `state` values include `ACTIVE`, `EXPIRED`. There are no valid `event` values as there is no corresponding WebSockets Notifications channel. *Instrument* objects with the following `state` values, mean the following things to users: * An *Instrument* is instantiated as `ACTIVE` when made available to trade by Paradigm. * An *Instrument* becomes `EXPIRED` when it reaches settlement or is no longer available to trade upon Paradigm. The *Instrument* `state` enums can only transition from `ACTIVE` -> `EXPIRED`. ### *RFQ* This information is available from both the *RESToverHTTP* and the *JSON-RPCoverWebSockets* interfaces. Valid `state` values include `OPEN`, `CLOSED`. Valid `event` values include `ADDED`, `REMOVED`. *RFQ* objects with the following `state` values, mean the following things to users: * An *RFQ* is instantiated as `OPEN` when it is available to be actioned by users. * An *RFQ* becomes `CLOSED` when it is no longer actionable by any user. Published via the `rfqs` *JSON-RPCoverWebSockets* notifications channel, `event` values mean the following to users: * `ADDED` indicates a new RFQ is available to be actioned. * `REMOVED` indicates an existing RFQ is no longer available to be actioned. ### *Order* This information is available from both the *RESToverHTTP* and the *JSON-RPCoverWebSockets* interfaces. Users are strongly encouraged to use the `quantity`, `pending_fill_quantity`, `canceled_quantity`, `filled_quantity` attributes of an Order to be certain of the value at risk. Valid `state` values include `PENDING`, `OPEN`, `CLOSED`. Valid `event` values include `NEW`, `CANCELED`, `PENDING_FILL`, `FILLED`. *Order* objects with the following `state` values, mean the following things to users: * An *Order* is instantiated as `PENDING` when it is being processed by the Paradigm matching engine. * An *Order* becomes `OPEN` when it is available to be actioned by users. * An *Order* becomes `CLOSED` when it is no longer actionable by any user. Published via the `orders` *JSON-RPCoverWebSockets* notifications channel, `event` values mean the following to users: * `NEW` indicates a new order is available to be actioned by the user. * `CANCELED` indicates an existing order has been canceled by the user or is apart of a trade rejection. * `PENDING_FILL` indicates an order is in the process of being cleared as apart of a trade by the underlying settlement venue. * `FILLED` indicates an order's quantity has been completed filled and there is no more available amount to trade. ### *RFQ Orders* This information is available from both the *RESToverHTTP* and the *JSON-RPCoverWebSockets* interfaces. There are no valid `state` values as the *RFQ Orders* resource solely communicates actionable *Maker* Orders to the *Taker*. Valid `event` values include `ADDED`, `REMOVED`, `UPDATED`. Published via the `rfq_orders` *JSON-RPCoverWebSockets* notifications channel, `event` values mean the following to users: * `ADDED` indicates a new Order upon an RFQ is available to be actioned. * `REMOVED` indicates an existing Order upon an RFQ is no longer available to be actioned. * `UPDATED` indicates an existing Order upon an RFQ has had an attribute updated. ### *Trade* This information is available from both the *RESToverHTTP* and the *JSON-RPCoverWebSockets* interfaces. Valid `state` values include `PENDING_SETTLEMENT`, `FILLED`, `REJECTED`. Valid `event` values include `PENDING_SETTLEMENT`, `FILLED`, `REJECTED`. *Trade* objects with the following `state` values, mean the following things to users: * A *Trade* is instantiated as `PENDING_SETTLEMENT` when it is being cleared by the underlying settlement venue. * A *Trade* becomes as `FILLED` when it is has reached settlement finality and has been successfully cleared by underlying settlement venue. * A *Trade* becomes `REJECTED` when it is has reached settlement finality and has been rejected at clearing by underlying settlement venue. Published via the `trades` *JSON-RPCoverWebSockets* notifications channel, `event` values mean the following to users: * `PENDING_SETTLEMENT` indicates a trade is being cleared by the underlying settlement venue. * `FILLED` indicates a trade has reached settlement finality and has been successfully cleared by the underlying settlement venue. * `REJECTED` indicates a trade has reached settlement finality and has been rejected at clearing by the underlying settlement venue. ### *Trade Tape* This information is available from both the *RESToverHTTP* and the *JSON-RPCoverWebSockets* interfaces. Valid `state` values include `FILLED`. Valid `event` values include `FILLED`. *Trade Tape* objects with the following `state` values, mean the following things to users: * A *Trade Tape* is instantiated as `FILLED` given it has reached settlement finality and been successfully cleared by the underlying settlement venue. Published via the `trade_tape` *JSON-RPCoverWebSockets* notifications channel, `event` values mean the following to users: * `FILLED` indicates a trade has reached settlement finality and been successfully cleared by the underlying settlement venue.