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

# private/create_block_rfq

> **Taker method**

Creates a new Block RFQ. Use [private/get_block_rfqs](https://docs.deribit.com/api-reference/block-rfq/private-get_block_rfqs) to retrieve Block RFQ information.

**Block RFQ pre-allocation:** The taker can split the total amount between different (sub)accounts using the `trade_allocations` parameter. The taker can also allocate to himself. Each allocation must specify either `user_id` (for direct allocation) or `client_info` object (for broker allocation), and `amount`.

**📖 Related Article:** [Deribit Block RFQ API walkthrough](https://docs.deribit.com/articles/block-rfq-api-walkthrough)

**Scope:** `rat#trade` or `wallet:buys:create`

[Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fcreate_block_rfq)





## OpenAPI

````yaml /api-reference/coinbase-deribit-app-api/adv-starbase-openapi.json get /private/create_block_rfq
openapi: 3.0.0
info:
  description: Coinbase Retail Advanced Trade API for derivatives trading.
  title: Coinbase Retail Advanced Trade (Deribit) API
  version: 2.1.1
servers:
  - url: https://drb.coinbase.com/api/v2
security: []
tags:
  - description: Can only be used over websockets.
    name: WebSocket Only
  - description: Public methods can be used without authentication.
    name: Public
  - description: >-
      <p>Private methods require authentication. All requests must include a
      valid OAuth2 token.</p>

      <p>A token can be requested using the <a
      href="#public-auth">/public/auth</a> method.</p>

      <p>When using the websockets protocol, the token must be included as a
      parameter <code>access_token</code> in the message. When using REST (HTTP
      GET), the token may also be passed in the <code>Authorization</code>
      header.</p>
    name: Private
  - name: Authentication
  - name: Session Management
  - description: >-
      Subscription works as [notifications](#notifications), so users will
      automatically (after subscribing) receive messages from the server.
      Overview for each channel response format is described in
      [subscriptions](#subscriptions) section.
    name: Subscription Management
  - name: Account Management
  - name: Trading
  - name: Market Data
paths:
  /private/create_block_rfq:
    get:
      tags:
        - Block RFQ
        - Private
      description: >+
        **Taker method**


        Creates a new Block RFQ. Use
        [private/get_block_rfqs](https://docs.deribit.com/api-reference/block-rfq/private-get_block_rfqs)
        to retrieve Block RFQ information.


        **Block RFQ pre-allocation:** The taker can split the total amount
        between different (sub)accounts using the `trade_allocations` parameter.
        The taker can also allocate to himself. Each allocation must specify
        either `user_id` (for direct allocation) or `client_info` object (for
        broker allocation), and `amount`.


        **📖 Related Article:** [Deribit Block RFQ API
        walkthrough](https://docs.deribit.com/articles/block-rfq-api-walkthrough)


        **Scope:** `rat#trade` or `wallet:buys:create`


        [Try in API
        console](https://test.deribit.com/api_console?method=%2Fprivate%2Fcreate_block_rfq)

      parameters:
        - description: List of legs used to create Block RFQ
          explode: true
          in: query
          name: legs
          required: true
          schema:
            items:
              properties:
                amount:
                  $ref: '#/components/schemas/amount'
                  description: >-
                    It represents the requested trade size. For perpetual and
                    inverse futures the amount is in USD units. For options and
                    linear futures it is the underlying base currency coin.
                direction:
                  $ref: '#/components/schemas/direction'
                  description: Direction of selected leg
                instrument_name:
                  $ref: '#/components/schemas/instrument_name'
                  description: Instrument name
              type: object
            type: array
          style: form
        - description: >-
            List of allocations for Block RFQ pre-allocation. Allows to split
            amount between different (sub)accounts or broker clients. Each
            allocation must specify either `user_id` (for direct allocation) or
            `client_info` object (for broker allocation), and amount.
          explode: true
          in: query
          name: trade_allocations
          required: false
          schema:
            items:
              properties:
                amount:
                  description: Amount allocated to this user or client.
                  type: number
                client_info:
                  description: Client allocation info for brokers.
                  properties:
                    client_id:
                      description: >-
                        ID of a client; available to broker. Represents a group
                        of users under a common name.
                      type: integer
                    client_link_id:
                      description: >-
                        ID assigned to a single user in a client; available to
                        broker.
                      type: integer
                  type: object
                user_id:
                  description: >-
                    User ID (subaccount or main account) to allocate part of the
                    RFQ amount.
                  type: integer
              type: object
            type: array
          style: form
        - description: >-
            Hedge leg of the Block RFQ. There is only one hedge leg allowed per
            Block RFQ
          in: query
          name: hedge
          required: false
          schema:
            description: 'JSON string containing: instrument_name, direction, price, amount'
            type: string
        - description: User defined label for the Block RFQ (maximum 64 characters)
          in: query
          name: label
          required: false
          schema:
            type: string
        - description: >-
            List of targeted Block RFQ makers. Only those makers will be
            notified about created Block RFQ. If the list is empty, all
            available makers will be targeted.
          explode: true
          in: query
          name: makers
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: >-
            Determines whether the RFQ is non-anonymous, revealing both taker
            and maker aliases. It can be set to `false` (anonymous mode) only
            when at least 5 makers are targeted. Default value is `true`.
          in: query
          name: disclosed
          required: false
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            examples:
              request:
                description: JSON-RPC Request Example
                value:
                  id: 1
                  jsonrpc: '2.0'
                  method: private/create_block_rfq
                  params:
                    hedge:
                      amount: 10
                      direction: buy
                      instrument_name: BTC-PERPETUAL
                      price: 70000
                    label: example
                    legs:
                      - amount: 20000
                        direction: sell
                        instrument_name: BTC-15NOV24
                    makers:
                      - MAKER1
        description: JSON-RPC request body
      responses:
        '200':
          $ref: '#/components/responses/PrivateCreateBlockRfqResponse'
components:
  schemas:
    amount:
      description: >-
        It represents the requested order size. For perpetual and inverse
        futures the amount is in USD units. For options and linear futures it is
        the underlying base currency coin.
      type: number
    direction:
      description: 'Direction: `buy`, or `sell`'
      enum:
        - buy
        - sell
      type: string
    instrument_name:
      description: Unique instrument identifier
      example: BTC-PERPETUAL
      type: string
    PrivateCreateBlockRfqResponse:
      properties:
        id:
          description: The id that was sent in the request
          type: integer
        jsonrpc:
          description: The JSON-RPC version (2.0)
          enum:
            - '2.0'
          type: string
        result:
          $ref: '#/components/schemas/block_rfq'
      required:
        - jsonrpc
        - result
      type: object
    block_rfq:
      properties:
        amount:
          description: >-
            This value multiplied by the ratio of a leg gives trade size on that
            leg.
          type: number
        app_name:
          description: >-
            The name of the application that created the Block RFQ on behalf of
            the user (optional, visible only to taker).
          example: Example Application
          type: string
        asks:
          $ref: '#/components/schemas/quote_asks'
        bids:
          $ref: '#/components/schemas/quote_bids'
        block_rfq_id:
          description: ID of the Block RFQ
          type: integer
        combo_id:
          $ref: '#/components/schemas/combo_id'
        creation_timestamp:
          description: >-
            The timestamp when Block RFQ was created (milliseconds since the
            Unix epoch)
          example: 1536569522277
          type: integer
        disclosed:
          description: >-
            Indicates whether the RFQ was created as non-anonymous, meaning
            taker and maker aliases are visible to counterparties.
          type: boolean
        expiration_timestamp:
          description: >-
            The timestamp when the Block RFQ will expire (milliseconds since the
            UNIX epoch)
          example: 1536569522277
          type: integer
        hedge:
          $ref: '#/components/schemas/block_rfq_hedge_leg'
        included_in_taker_rating:
          description: >-
            Indicates whether the RFQ is included in the taker's rating
            calculation. Present only for closed RFQs created by the requesting
            taker.
          type: boolean
        index_prices:
          items:
            description: >-
              A list of index prices for the underlying instrument(s) at the
              time of trade execution.
            type: number
          type: array
        label:
          description: User defined label for the Block RFQ (maximum 64 characters)
          type: string
        legs:
          $ref: '#/components/schemas/block_rfq_legs'
        makers:
          items:
            description: List of targeted Block RFQ makers
            type: string
          type: array
        mark_price:
          $ref: '#/components/schemas/mark_price'
        min_trade_amount:
          description: Minimum amount for trading
          type: number
        role:
          description: Role of the user in Block RFQ
          enum:
            - taker
            - maker
          type: string
        state:
          description: State of the Block RFQ
          enum:
            - open
            - filled
            - cancelled
            - expired
          type: string
        taker:
          description: Taker alias. Present only when `disclosed` is `true`.
          example: TAKER1
          type: string
        taker_rating:
          description: Rating of the taker
          type: string
        trade_allocations:
          $ref: '#/components/schemas/trade_allocations'
          description: >-
            List of allocations for Block RFQ pre-allocation. Allows to split
            amount between different (sub)accounts. The taker can also allocate
            to himself. Visible only to the taker.
        trade_trigger:
          $ref: '#/components/schemas/trade_trigger'
          description: >-
            Present only if a trade trigger was placed by the taker and only
            visible to taker. Only for cases: `cancelled` (contains the reason
            for cancellation) and `untriggered` (contains the information about
            the trade trigger).
        trades:
          items:
            properties:
              amount:
                description: >-
                  Trade amount. For options, linear futures, linear perpetuals
                  and spots the amount is denominated in the underlying base
                  currency coin. The inverse perpetuals and inverse futures are
                  denominated in USD units.
                type: number
              direction:
                $ref: '#/components/schemas/direction'
              hedge_amount:
                description: >-
                  Amount of the hedge leg. For linear futures, linear perpetuals
                  and spots the amount is denominated in the underlying base
                  currency coin. The inverse perpetuals and inverse futures are
                  denominated in USD units.
                type: number
              maker:
                description: Alias of the maker (optional)
                type: string
              price:
                $ref: '#/components/schemas/price'
            type: object
          type: array
      type: object
    quote_asks:
      items:
        properties:
          amount:
            description: >-
              This value multiplied by the ratio of a leg gives trade size on
              that leg.
            type: number
          execution_instruction:
            description: >-
              Execution instruction of the quote. Default - `any_part_of`


              - `"all_or_none (AON)"` - The quote can only be filled entirely or
              not at all, ensuring that its amount matches the amount specified
              in the Block RFQ. Additionally, 'all_or_none' quotes have priority
              over 'any_part_of' quotes at the same price level.

              - `"any_part_of (APO)"` - The quote can be filled either partially
              or fully, with the filled amount potentially being less than the
              Block RFQ amount.
            enum:
              - any_part_of
              - all_or_none
            type: string
          expires_at:
            description: >-
              The timestamp when the quote expires (milliseconds since the Unix
              epoch), equal to the earliest expiry of placed quotes
            example: 1745312540321
            type: integer
          last_update_timestamp:
            description: >-
              Timestamp of the last update of the quote (milliseconds since the
              UNIX epoch)
            example: 1536569522277
            type: integer
          makers:
            items:
              description: Maker of the quote
              type: string
            type: array
          price:
            description: Price of a quote
            type: number
        type: object
      type: array
    quote_bids:
      items:
        properties:
          amount:
            description: >-
              This value multiplied by the ratio of a leg gives trade size on
              that leg.
            type: number
          execution_instruction:
            description: >-
              Execution instruction of the quote. Default - `any_part_of`


              - `"all_or_none (AON)"` - The quote can only be filled entirely or
              not at all, ensuring that its amount matches the amount specified
              in the Block RFQ. Additionally, 'all_or_none' quotes have priority
              over 'any_part_of' quotes at the same price level.

              - `"any_part_of (APO)"` - The quote can be filled either partially
              or fully, with the filled amount potentially being less than the
              Block RFQ amount.
            enum:
              - any_part_of
              - all_or_none
            type: string
          expires_at:
            description: >-
              The timestamp when the quote expires (milliseconds since the Unix
              epoch), equal to the earliest expiry of placed quotes
            example: 1745312540321
            type: integer
          last_update_timestamp:
            description: >-
              Timestamp of the last update of the quote (milliseconds since the
              UNIX epoch)
            example: 1536569522277
            type: integer
          makers:
            items:
              description: Maker of the quote
              type: string
            type: array
          price:
            description: Price of a quote
            type: number
        type: object
      type: array
    combo_id:
      description: Unique combo identifier
      example: BTC-FS-31DEC21-PERP
      type: string
    block_rfq_hedge_leg:
      properties:
        amount:
          description: >-
            It represents the requested hedge leg size. For perpetual and
            inverse futures the amount is in USD units. For options and linear
            futures it is the underlying base currency coin.
          type: integer
        direction:
          description: 'Direction: `buy`, or `sell`'
          enum:
            - buy
            - sell
          type: string
        instrument_name:
          description: Unique instrument identifier
          example: BTC-PERPETUAL
          type: string
        price:
          description: Price for a hedge leg
          type: number
      type: object
    block_rfq_legs:
      items:
        properties:
          direction:
            description: 'Direction: `buy`, or `sell`'
            enum:
              - buy
              - sell
            type: string
          instrument_name:
            description: Unique instrument identifier
            example: BTC-PERPETUAL
            type: string
          ratio:
            description: Ratio of amount between legs
            type: integer
        type: object
      type: array
    mark_price:
      description: The mark price for the instrument
      type: number
    trade_allocations:
      description: >-
        List of allocations for Block RFQ pre-allocation. Allows to split amount
        between different (sub)accounts or broker clients. Each allocation must
        specify either `user_id` (for direct allocation) or `client_info` object
        (for broker allocation), and amount. Visible only to the taker.
      items:
        properties:
          amount:
            description: Amount allocated to this user or client.
            type: number
          client_info:
            description: Client allocation info for brokers.
            properties:
              client_id:
                description: >-
                  ID of a client; available to broker. Represents a group of
                  users under a common name.
                type: integer
              client_link_id:
                description: ID assigned to a single user in a client; available to broker.
                type: integer
              name:
                description: >-
                  Name of the linked user within the client; available to
                  broker.
                type: string
            type: object
          user_id:
            description: >-
              User ID to allocate part of the RFQ amount. For brokers the User
              ID is obstructed.
            type: integer
        type: object
      type: array
    trade_trigger:
      description: Contains information about the trade trigger state
      properties:
        cancel_reason:
          description: Reason for cancellation, present only when state is cancelled
          type: string
        direction:
          description: Direction of the trade trigger
          enum:
            - buy
            - sell
          type: string
        price:
          description: Price of the trade trigger
          type: number
        state:
          $ref: '#/components/schemas/trade_trigger_state'
      required:
        - state
        - price
        - direction
      type: object
    price:
      description: Price in base currency
      type: number
    trade_trigger_state:
      description: 'Trade trigger state: `"untriggered"` or `"cancelled"`'
      enum:
        - triggered
        - untriggered
        - cancelled
      type: string
  responses:
    PrivateCreateBlockRfqResponse:
      content:
        application/json:
          examples:
            response:
              description: Response example
              value:
                id: 1
                jsonrpc: '2.0'
                result:
                  amount: 20000
                  asks: []
                  bids: []
                  block_rfq_id: 507
                  combo_id: BTC-15NOV24
                  creation_timestamp: 1731062187555
                  expiration_timestamp: 1731062487555
                  hedge:
                    amount: 10
                    direction: buy
                    instrument_name: BTC-PERPETUAL
                    price: 70000
                  label: example
                  legs:
                    - direction: sell
                      instrument_name: BTC-15NOV24
                      ratio: 1
                  makers:
                    - MAKER1
                  role: taker
                  state: created
          schema:
            $ref: '#/components/schemas/PrivateCreateBlockRfqResponse'
      description: Success response

````