MarketMakerProtection

Set market maker protection config

Changed on

Replaces the account's market maker protection (MMP) config for a base asset with dated option or perpetual futures markets. An omitted limit becomes 0, disabling that check; at least one limit must be above 0. vega_limit counts only dated option fills, so it cannot be the only limit where there are none. 403 MMP_NOT_ENABLED unless MMP is enabled for the account. Read-only tokens are rejected.

post/account/mmp/{base_asset}

Request

  • Base URL
    https://api.prod.paradex.trade/v1
  • URL
    https://api.prod.paradex.trade/v1/account/mmp/{base_asset}
  • Auth
    API key in header Authorization

Path parameters

base_assetstring required

Base asset - example: BTC

Request body

delta_limitstring

Trips when the absolute net delta of fills in the window exceeds this, in base asset units. Up to 4 decimal places; 0 or omitted disables the check

frozen_time_msinteger required

How long a trip freezes MMP orders, in milliseconds, 0 to 3600000. 0 freezes until a manual reset

interval_msinteger required

Sliding window length in milliseconds, 100 to 3600000

protect_block_tradesboolean

Protects this base asset's block trade legs, RFQ executions included, where the account is the maker: the desk that responds with a quote or offer. Omitting it keeps the stored value (false if never set). Protected block trades share the window with order book fills. A change applies to block trades and offers created afterwards.

size_limitstring

Trips when the sum of fill sizes in the window exceeds this, in base asset units. Up to 4 decimal places; 0 or omitted disables the check

vega_limitstring

Trips when the absolute net vega of fills in the window exceeds this, in USD. Up to 4 decimal places; 0 or omitted disables the check

Example request

{
  "delta_limit": "20",
  "frozen_time_ms": 5000,
  "interval_ms": 1000,
  "protect_block_trades": true,
  "size_limit": "60",
  "vega_limit": "5000"
}

Response

OK

base_assetstring

Base asset the config applies to, across its dated options and perpetual futures

delta_limitstring

Delta limit in base asset units; 0 = check disabled

frozen_time_msinteger

How long a trip freezes MMP orders, in milliseconds. 0 freezes until a manual reset

frozen_untilinteger

Unix millis the freeze ends. 0 while frozen means until a manual reset; 0 when not frozen

interval_msinteger

Sliding window length in milliseconds. 0 when MMP was removed

is_frozenboolean

Whether MMP orders on the base asset are frozen

protect_block_tradesboolean

Whether block trade legs, RFQ executions included, are protected

size_limitstring

Size limit in base asset units; 0 = check disabled

updated_atinteger

Unix milliseconds the config was last written

vega_limitstring

Vega limit in USD; 0 = check disabled

window_deltastring

Net signed delta of fills in the current window, in base asset units

window_sizestring

Sum of fill sizes in the current window, in base asset units

window_vegastring

Net signed vega of fills in the current window, in USD

Example response

{
  "base_asset": "BTC",
  "delta_limit": "20",
  "frozen_time_ms": 5000,
  "frozen_until": 1717171722000,
  "interval_ms": 1000,
  "is_frozen": true,
  "protect_block_trades": true,
  "size_limit": "60",
  "updated_at": 1717171717000,
  "vega_limit": "5000",
  "window_delta": "-3.2",
  "window_size": "12.5",
  "window_vega": "840"
}

Changes

    • warning

      added the new ADDRESS_BOOK_NOT_PARADEX_ACCOUNT enum value to the //// response property for the response status

    • warning

      added the new ADDRESS_BOOK_NOT_PARADEX_ACCOUNT enum value to the //// response property for the response status

    • warning

      added the new ADDRESS_BOOK_NOT_PARADEX_ACCOUNT enum value to the //// response property for the response status

    • warning

      added the new ADDRESS_BOOK_REPEATED_IN_IMPORT enum value to the //// response property for the response status

    • warning

      added the new ADDRESS_BOOK_REPEATED_IN_IMPORT enum value to the //// response property for the response status

    • warning

      added the new ADDRESS_BOOK_REPEATED_IN_IMPORT enum value to the //// response property for the response status

    • warning

      added the new STARKNET_PARENT_ONBOARDING_DISABLED enum value to the //// response property for the response status

    • warning

      added the new STARKNET_PARENT_ONBOARDING_DISABLED enum value to the //// response property for the response status

    • warning

      added the new STARKNET_PARENT_ONBOARDING_DISABLED enum value to the //// response property for the response status

    • warning

      added the new SESSION_EXPIRED enum value to the //// response property for the response status

    • warning

      added the new SESSION_EXPIRED enum value to the //// response property for the response status

    • warning

      added the new SESSION_EXPIRED enum value to the //// response property for the response status

    • warning

      added the new SESSION_REVOKED enum value to the //// response property for the response status

    • warning

      added the new SESSION_REVOKED enum value to the //// response property for the response status

    • warning

      added the new SESSION_REVOKED enum value to the //// response property for the response status