Vault Request for Quote (VRFQ) enables vault providers to create short-lived private auction RFQ markets. In VRFQ, only the creator of the market is able to see the returned prices, the associated counterparty & is able to execute upon the market.
Ribbon is available as a venue.
VRFQ is centered around the concepts of "RFQs", "Quotes", "Orders" and "Trades":
- RFQs are strategies comprised of one or more instruments with Taker defined attributes. RFQs are to be Quoted upon by the Makers.
- Quotes are created by the Maker in response to a requested RFQ.
- Orders are created by the Taker to execute upon existing Quotes.
- Trades occur when the Taker executes upon an existing Quote on an RFQ.
At a high level, the VRFQ workflow is:
- 1.Taker creates an RFQ with the desired Instruments and quantity ratios.
- 2.Makers Quote the RFQ.
- 3.Takers can execute an Order upon an RFQ and consume the Quote which suits the set Limit Price & venue enforced "Block Size Minimums".
- 4.Once a Quote and an Order are matched, the executions are sent to the underlying venue for clearing & settlement.
- 5.The Maker receives confirmation if clearing & settlement was successful or rejected.
- 6.All Makers are able to see cleared & settled Trades, but NOT the counterparties or the traded RFQ/Order/Quote
- All Users act as Makers and the RFQs are always settled by the Venue platform who acts as a Taker
- RFQs are public auctions and all quotes are blind.
- All trades are on an anonymous basis with no participant or directional information revealed.
- There aren't partials fills of Quotes and Orders, all orders or All-Or-None.
- It is not possible to have multiple Trades and a single Order can’t consume more than a Quote.
- WebSocket messages will contain two keys, kind and status. You should use these keys to know the status and finality of the concept it's referring too.
Reach out if you ever need any help! We are more than happy to help.
You will need to update the provided Code Examples with your own Paradigm Access Key and Secret Key.
Note: All examples in this section are in Python3.