> ## Documentation Index
> Fetch the complete documentation index at: https://docs.0xmonaco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# RfqService

> Request, quote, accept and answer last look on RFQ block trades

Package: `monaco.api.rfq`

Source: `protos/api/rfq.proto`

Use `RfqService` for [RFQ (block trades)](https://docs.0xmonaco.com/developers/rfq.md): a taker requests quotes for a size, makers quote privately, the taker accepts one side of the aggregated view, and the selected makers get a 250 ms last look before the trade settles.

```protobuf theme={null}
service RfqService {
  rpc GetRfqCapabilities(GetRfqCapabilitiesRequest) returns (GetRfqCapabilitiesResponse);
  rpc CreateRfq(CreateRfqRequest) returns (RfqStatus);
  rpc GetRfq(GetRfqRequest) returns (RfqStatus);
  rpc ListRfqs(ListRfqsRequest) returns (ListRfqsResponse);
  rpc AcceptRfq(AcceptRfqRequest) returns (RfqStatus);
  rpc CancelRfq(CancelRfqRequest) returns (RfqStatus);
  rpc UpsertRfqQuote(UpsertRfqQuoteRequest) returns (RfqQuoteVersion);
  rpc WithdrawRfqQuote(WithdrawRfqQuoteRequest) returns (WithdrawRfqQuoteResponse);
  rpc RespondRfqLastLook(RespondRfqLastLookRequest) returns (RespondRfqLastLookResponse);
}
```

## Notes

* **Authentication and access:** every RPC requires authentication. RFQ is available only to accounts it is enabled for; other callers are refused with `PERMISSION_DENIED` (`RFQ_DISABLED` on REST), `GetRfqCapabilities` included. For an account it is enabled for, `GetRfqCapabilities` returns the markets it is offered on with their minimum and maximum quantity, the timings, and your creation quota.
* **Units:** prices are quote units per base unit, and capacities and quantities are base units, all as exact decimal strings.
* **Idempotency:** every write takes an `idempotency_key`; a retry with the same key and body returns the first result.
* **Taker:** `CreateRfq` opens an RFQ for up to `quantity`. Without `side` it is two-way, and makers never see your direction. `GetRfq` returns your current `view` (to wait for quotes, follow the `RfqView` pushes instead of polling it): per side the all-in VWAP (your Monaco and builder fees included), the available quantity, the fee breakdown, and optionally the same size priced on the public order book. Once the RFQ ends it also returns the `outcome`. `AcceptRfq` names a side and the `view_version` you saw: binding, and refused if the view has moved since. `CancelRfq` works only before you accept. `ListRfqs` lists your RFQs as the taker, newest first, in every state, paged by `page_size` (1–100, default 50) and `page_token`.
* **Maker:** `UpsertRfqQuote` places or replaces your quote (a bid, an ask or both), naming `expected_version`: 0 for your first quote, then `own_latest_version` from `GetRfq`. `validity_ms` is 15000–60000 (default 60000), capped at the request deadline. A quote reserves funds as a resting limit order does. `WithdrawRfqQuote` withdraws it. Once selected, `GetRfq` returns your `own_selection`. `RespondRfqLastLook` rejects, or improves your frozen terms (a strictly better price or a higher capacity, never a lower one). It counts if it arrives by the 250 ms deadline; one arriving later is refused (`RFQ_DEADLINE_PASSED`; see [last look](https://docs.0xmonaco.com/developers/rfq.md#the-flow)). There is no accept: silence executes. After settlement, `own_fills` lists your own fills with the fees as charged.
* **Pushes:** new RFQs to quote and last-look prompts arrive only on the authenticated `rfq` WebSocket channel ([WebSocket reference](https://docs.0xmonaco.com/reference/websockets.md)); gRPC has no streaming RPC for them. A maker's quotes depend on that connection: see [Disconnects](https://docs.0xmonaco.com/developers/rfq.md#disconnects).
* **Public prints:** RFQ fills print anonymously on the `rfq_trades` WebSocket channel and appear in the public trade reads tagged `execution_source = RFQ`, never on the order-book `trades` channel.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.