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.