# Safety

## Spam Mitigation

The following strategies that can be updated by governance exist to prevent spam on the orderbook and prevent the blockchain state from getting too large:

### Block Rate Limit

Block rate limit defines the block rate limits for CLOB specific operations.

<table data-header-hidden><thead><tr><th width="449"></th><th width="129"></th><th width="145"></th><th width="180"></th></tr></thead><tbody><tr><td>Title</td><td>Limit</td><td>Num_blocks</td><td>Definition</td></tr><tr><td><a href="https://github.com/dydxopsdao/networks/blob/fd7ee6e63e7e4b3ffab4fe600ac7cdb77c28d88d/dydx-mainnet-1/genesis.json#L966-L971">max_short_term_orders_per_n_blocks</a></td><td>200</td><td>1</td><td>How many short term order attempts (successful and failed) are allowed for an account per N blocks.</td></tr><tr><td><a href="https://github.com/dydxopsdao/networks/blob/fd7ee6e63e7e4b3ffab4fe600ac7cdb77c28d88d/dydx-mainnet-1/genesis.json#L972-L981">max_stateful_orders_per_n_blocks</a></td><td><p>2</p><p>20</p></td><td><p>1</p><p>100</p></td><td>How many stateful order attempts (successful and failed) are allowed for an account per N blocks.</td></tr><tr><td><a href="https://github.com/dydxopsdao/networks/blob/fd7ee6e63e7e4b3ffab4fe600ac7cdb77c28d88d/dydx-mainnet-1/genesis.json#L982-L987">max_short_term_order_cancellations_per_n_blocks</a></td><td>200</td><td>1</td><td>How many short term order cancellation attempts (successful and failed) are allowed for an account per N blocks.</td></tr></tbody></table>

## Equity Tier Limit

Equity tier limit defines the set of equity tiers to limit how many open orders a subaccount is allowed to have.

<table data-header-hidden><thead><tr><th width="313"></th><th></th><th width="167"></th><th width="239"></th></tr></thead><tbody><tr><td>Title</td><td>limit</td><td>usd_tnc_required</td><td>Definition</td></tr><tr><td><a href="https://github.com/dydxopsdao/networks/blob/fd7ee6e63e7e4b3ffab4fe600ac7cdb77c28d88d/dydx-mainnet-1/genesis.json#L990-L1015">short_term_order_equity_tiers</a></td><td>0</td><td>0</td><td><p>how many open short term orders are allowed per equity tier.</p><p><br></p></td></tr><tr><td></td><td>10</td><td>20000000</td><td></td></tr><tr><td></td><td>20</td><td>100000000</td><td></td></tr><tr><td></td><td>50</td><td>1000000000</td><td></td></tr><tr><td></td><td>200</td><td>10000000000</td><td></td></tr><tr><td></td><td>1000</td><td>100000000000</td><td></td></tr><tr><td><a href="https://github.com/dydxopsdao/networks/blob/fd7ee6e63e7e4b3ffab4fe600ac7cdb77c28d88d/dydx-mainnet-1/genesis.json#L1016-L1041">stateful_order_equity_tiers</a></td><td>0</td><td>0</td><td>how many open stateful orders are allowed per equity tier.</td></tr><tr><td></td><td>10</td><td>20000000</td><td></td></tr><tr><td></td><td>20</td><td>100000000</td><td></td></tr><tr><td></td><td>40</td><td>1000000000</td><td></td></tr><tr><td></td><td>100</td><td>10000000000</td><td></td></tr><tr><td></td><td>200</td><td>50000000000</td><td></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dydx.community/dydx/modules/governance/governance-adjustable-parameters/safety.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
