MMP

mmp Channel

Monitor Market Maker Protection (MMP) triggered events. MMP temporarily freezes an account's trading when risk thresholds are exceeded.

Subscribe

ParameterRequiredDescription
smart_account_addressNoSmart account address (42 characters with 0x prefix)
pairNoTrading pair: "BTC_USDC", "ETH_USDC", or "ARB_USDC"

Specific account:

{
  "channel": "mmp",
  "query": {
    "smart_account_address": "0x1234567890abcdef1234567890abcdef12345678"
  }
}

Specific trading pair:

{
  "channel": "mmp",
  "query": {
    "pair": "ETH_USDC"
  }
}

All MMP events:

{
  "channel": "mmp",
  "query": {}
}

Event: mmp_triggered

{
  "kind": "event",
  "type": "mmp_triggered",
  "timestamp_ms": 1677721600000,
  "data": {
    "smart_account_address": "0xabCDEF1234567890ABcDEF1234567890aBCDeF12",
    "pair_symbol": "ETH_USDC",
    "frozen_until": 1677721660000,
    "frozen_duration_seconds": 60
  },
  "subscription": {
    "channel": "mmp",
    "query": {
      "smart_account_address": "0xabCDEF1234567890ABcDEF1234567890aBCDeF12"
    }
  }
}
FieldTypeDescription
smart_account_addressstringAddress of the smart account that triggered MMP
pair_symbolstringTrading pair where MMP was triggered
frozen_untilnumber(optional) Unix timestamp in ms when the freeze expires
frozen_duration_secondsnumber(optional) Duration of the freeze in seconds

During the freeze period, new orders with mmp: true are rejected. Orders with mmp: false can still be placed. See POST /mmp_config for the full MMP lifecycle documentation.

Related channels

ChannelWhy
Orderbook MakerWhen MMP triggers, all mmp: true orders are auto-cancelled. You'll see cancel_order events on the maker channel.
Orderbook EventsThe cancel_order schema includes the mmp flag — filter for mmp: true cancellations to distinguish MMP cancels from manual ones.
Account StateMargin freed by MMP cancellations. Watch im decrease after a trigger.