> ## Documentation Index
> Fetch the complete documentation index at: https://perps-api.vooi.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Add new broker key and fee settings for a specific exchange

> Adds a settings record effective from now; the latest record is the current one, and statistics apply the record that was active when each order was created.



## OpenAPI

````yaml https://vooi-api-app.fly.dev/swagger/json post /broker/exchanges
openapi: 3.1.0
info:
  title: VOOI API
  description: Unified perps API
  version: '1.0'
  contact: {}
servers:
  - url: https://perps-api.vooi.io
security: []
tags: []
paths:
  /broker/exchanges:
    post:
      tags:
        - Broker
      summary: Add new broker key and fee settings for a specific exchange
      description: >-
        Adds a settings record effective from now; the latest record is the
        current one, and statistics apply the record that was active when each
        order was created.
      operationId: BrokerController_createExchange
      parameters:
        - name: X-Broker-Key
          in: header
          description: Broker API key
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetBrokerExchangeBodyDTO'
      responses:
        '201':
          description: ''
components:
  schemas:
    SetBrokerExchangeBodyDTO:
      oneOf:
        - type: object
          properties:
            limitFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: >-
                Builder fee in basis points charged on orders the venue executes
                as limit orders
            marketFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: >-
                Builder fee in basis points charged on orders the venue executes
                as market orders, including trigger orders on Hyperliquid and
                Aster
            maxFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: Builder fee in basis points used as default during user approval
            identifier:
              type: string
              description: Builder Ethereum address
              example: '0x1234567890abcdef1234567890abcdef12345678'
            exchange:
              type: string
              enum:
                - aster
          required:
            - limitFeeBps
            - marketFeeBps
            - maxFeeBps
            - identifier
            - exchange
        - type: object
          properties:
            limitFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: >-
                Builder fee in basis points charged on orders the venue executes
                as limit orders
            marketFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: >-
                Builder fee in basis points charged on orders the venue executes
                as market orders, including trigger orders on Hyperliquid and
                Aster
            maxFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: Builder fee in basis points used as default during user approval
            identifier:
              type: string
              description: Builder Ethereum address
              example: '0x1234567890abcdef1234567890abcdef12345678'
            exchange:
              type: string
              enum:
                - hyperliquid
          required:
            - limitFeeBps
            - marketFeeBps
            - maxFeeBps
            - identifier
            - exchange
        - type: object
          properties:
            limitFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: >-
                Builder fee in basis points charged on orders the venue executes
                as limit orders
            marketFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: >-
                Builder fee in basis points charged on orders the venue executes
                as market orders, including trigger orders on Hyperliquid and
                Aster
            maxFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: Builder fee in basis points used as default during user approval
            exchange:
              type: string
              enum:
                - lighter
            identifier:
              type: string
              pattern: ^\d+$
              description: Integrator account index
              example: '42'
          required:
            - limitFeeBps
            - marketFeeBps
            - maxFeeBps
            - exchange
            - identifier
        - type: object
          properties:
            limitFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: >-
                Builder fee in basis points charged on orders the venue executes
                as limit orders
            marketFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: >-
                Builder fee in basis points charged on orders the venue executes
                as market orders, including trigger orders on Hyperliquid and
                Aster
            maxFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: Builder fee in basis points used as default during user approval
            exchange:
              type: string
              enum:
                - robinhood
            identifier:
              type: string
              pattern: ^\d+$
              description: Integrator account index
              example: '42'
          required:
            - limitFeeBps
            - marketFeeBps
            - maxFeeBps
            - exchange
            - identifier
        - type: object
          properties:
            limitFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: >-
                Builder fee in basis points charged on orders the venue executes
                as limit orders
            marketFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: >-
                Builder fee in basis points charged on orders the venue executes
                as market orders, including trigger orders on Hyperliquid and
                Aster
            maxFeeBps:
              type: string
              pattern: ^\d+(\.\d+)?$
              example: '1.5'
              description: Builder fee in basis points used as default during user approval
            exchange:
              type: string
              enum:
                - extended
            identifier:
              type: string
              pattern: ^[1-9]\d*$
              description: Builder clientId from the Extended UI API page
              example: '123'
          required:
            - limitFeeBps
            - marketFeeBps
            - maxFeeBps
            - exchange
            - identifier
        - type: object
          properties:
            exchange:
              type: string
              enum:
                - binance
            identifier:
              type: string
              minLength: 1
              maxLength: 24
              pattern: ^[A-Za-z0-9./:_-]+$
              description: >-
                Broker tag prepended to auto-generated client order ids to
                attribute trades
              example: x-YAsVKTZm
          required:
            - exchange
            - identifier
        - type: object
          properties:
            exchange:
              type: string
              enum:
                - mexc
            identifier:
              type: string
              minLength: 1
              pattern: ^[A-Za-z0-9./:_-]+$
              description: >-
                Broker_ID issued by MEXC, sent as the source header to attribute
                orders
              example: VOOI
          required:
            - exchange
            - identifier
      title: SetBrokerExchangeBody
      type: object

````

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