> For the complete documentation index, see [llms.txt](https://docs.strike.fun/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.strike.fun/protocol/fees-and-incentives.md).

# Fees & Incentives

## Trading Fees

Strike uses a **uniform fee model** with a **50/50 buyer–seller split**:

| Parameter         | Rate             | Description                                           |
| ----------------- | ---------------- | ----------------------------------------------------- |
| **Total fee**     | 20 bps (0.20%)   | Split equally between buyer and seller                |
| **Buy-side fee**  | `floor(fee / 2)` | Deducted from buyer's filled collateral at settlement |
| **Sell-side fee** | `ceil(fee / 2)`  | Deducted from seller's USDT payout at settlement      |

* No maker/taker distinction — both sides pay half the fee
* The extra wei from integer rounding goes to the protocol (sell side pays `ceil`)
* Fees are deducted during atomic batch settlement (inline with clearing)
* All fees go to the `protocolFeeCollector` address

## Protocol Revenue

All trading fees flow to the protocol fee collector address. This funds development and operations.

## Resolution and Keeper Costs

Markets can be resolved permissionlessly by anyone with valid Pyth data. Hosted keepers normally perform resolution. Current core CLOB contracts do not pay a resolver bounty.

## Anti-Spam / DoS Prevention

| Mechanism                     | Purpose                                                                              |
| ----------------------------- | ------------------------------------------------------------------------------------ |
| **Minimum lot size**          | Prevents dust orders (MIN\_LOTS = 1, i.e. $0.01)                                     |
| **Full collateral locking**   | Economic cost to placing orders (USDT locked until fill or cancel)                   |
| **ERC-20 approval required**  | Users must approve Vault before placing orders                                       |
| **Per-user active order cap** | MAX\_USER\_ORDERS = 20 per market — prevents a single address from flooding the book |

The per-user order cap is tracked via an `activeOrderCount` mapping and enforced on `placeOrder`, `placeOrders`, and `replaceOrders`. Orders freed by cancellation or settlement decrement the counter.

## Cost Estimates (BSC at 0.05 gwei)

| Action                         | Est. Gas             | Est. Cost         |
| ------------------------------ | -------------------- | ----------------- |
| Approve Vault (once)           | \~46k                | \~$0.001          |
| Place order                    | \~250k               | \~$0.008          |
| Cancel order                   | \~100k               | \~$0.003          |
| Clear batch / settlement chunk | varies by batch size | network-dependent |
| Resolve market                 | \~300k               | \~$0.009          |

*Estimates are illustrative. Settlement is handled through `clearBatch`; large batches can require multiple settlement chunks.*
