diff --git a/docs/api-reference/core/get-trades-for-a-user-or-markets.md b/docs/api-reference/core/get-trades-for-a-user-or-markets.md
index 2db81c4..b22ff2a 100644
--- a/docs/api-reference/core/get-trades-for-a-user-or-markets.md
+++ b/docs/api-reference/core/get-trades-for-a-user-or-markets.md
@@ -98,6 +98,23 @@ paths:
enum:
- BUY
- SELL
+ - in: query
+ name: start
+ schema:
+ type: integer
+ minimum: 0
+ description: >-
+ Lower-bound timestamp (epoch seconds) for the trade window. Omit or
+ pass `0` for the default window (most recent ~3 years); pass a
+ positive epoch (e.g. `1`) to retrieve full history.
+ - in: query
+ name: end
+ schema:
+ type: integer
+ minimum: 0
+ description: >-
+ Upper-bound timestamp (epoch seconds) for the trade window. Omit for
+ the default (current time); rows newer than `end` are excluded.
responses:
'200':
description: Success
diff --git a/docs/api-reference/core/get-user-activity.md b/docs/api-reference/core/get-user-activity.md
index 2a9958b..4001432 100644
--- a/docs/api-reference/core/get-user-activity.md
+++ b/docs/api-reference/core/get-user-activity.md
@@ -108,6 +108,9 @@ paths:
schema:
type: integer
minimum: 0
+ description: >-
+ Upper-bound timestamp (epoch seconds) for the activity window. Omit
+ for the default (current time); rows newer than `end` are excluded.
- in: query
name: sortBy
schema:
diff --git a/docs/changelog/changelog.md b/docs/changelog/changelog.md
index bc579dd..1fce57e 100644
--- a/docs/changelog/changelog.md
+++ b/docs/changelog/changelog.md
@@ -6,6 +6,12 @@
> Welcome to the Polymarket Changelog. Here you will find any important changes to Polymarket, including but not limited to CLOB, API, UI and Mobile Applications.
+
+ * **Sports fee coefficient**: The sports taker fee rate increases from `0.03` to `0.05` at midnight UTC.
+ * **Sports maker rebate**: The sports maker rebate decreases from 25% to 15% of collected taker fees.
+ * **Updated documentation**: [Fees](/trading/fees) and [Maker Rebates Program](/market-makers/maker-rebates).
+
+
* **Finer tick size for World Cup markets**: All World Cup *to advance*, *moneyline*, *spreads*, and *totals* markets are now decimalized to a **0.0025 (0.25¢)** tick size. This lets you execute at smaller ticks and tighter spreads for the most competitive prices. Applies only to those World Cup markets — see [Tick Sizes](/trading/orders/overview#tick-sizes).
diff --git a/docs/dev-tooling/python.md b/docs/dev-tooling/python.md
index a7e1312..36ed52a 100644
--- a/docs/dev-tooling/python.md
+++ b/docs/dev-tooling/python.md
@@ -1102,6 +1102,25 @@ Secure clients expose the API credentials created for the authenticated session.
## Changelog
+### `0.1.0b17`
+
+* Added SDK pagination for Combo lifecycle activity and server-cursor pagination for Combo positions.
+* Added typed overloads for market, event, and tag lookups, mutually-exclusive lookup arguments, and `redeem_positions`.
+* Added trade time filters.
+* Hardened Combo pagination filters and branded Combo activity IDs.
+* Breaking beta change: Combo activity and position fields now use `wallet`, `amount`, and `payout`; Combo activity rows no longer expose `module_kind`.
+
+```diff theme={null}
+-activity.user_address
+-activity.amount_usdc
+-redeem_activity.payout_usdc
+-position.user_address
++activity.wallet
++activity.amount
++redeem_activity.payout
++position.wallet
+```
+
### `0.1.0b16`
* Fixed Deposit Wallet trading setup approvals to use the current Protocol V2 auto-redeem operator.
diff --git a/docs/dev-tooling/typescript.md b/docs/dev-tooling/typescript.md
index 0f44f2d..e8934f8 100644
--- a/docs/dev-tooling/typescript.md
+++ b/docs/dev-tooling/typescript.md
@@ -1103,6 +1103,24 @@ Secure clients expose the API credentials created for the authenticated session.
## Changelog
+### `0.1.0-beta.14`
+
+* Added SDK pagination for Combo lifecycle activity and server-cursor pagination for Combo positions.
+* Added Combo position sync request fields and exposed `outcome` and `redeemable` on Combo positions.
+* Branded Combo activity row IDs.
+* Breaking beta change: Combo activity and position fields now use `wallet`, `amount`, and `payout`; Combo activity rows no longer expose `moduleKind`.
+
+```diff theme={null}
+-activity.userAddress
+-activity.amountUsdc
+-redeemActivity.payoutUsdc
+-position.userAddress
++activity.wallet
++activity.amount
++redeemActivity.payout
++position.wallet
+```
+
### `0.1.0-beta.13`
* Added `listMarketClarifications` for reading market clarification text with SDK-owned pagination and market, event, state, question, and transaction filters.
diff --git a/docs/developers/CLOB/orders/check-scoring.md b/docs/developers/CLOB/orders/check-scoring.md
index e464ba0..2001338 100644
--- a/docs/developers/CLOB/orders/check-scoring.md
+++ b/docs/developers/CLOB/orders/check-scoring.md
@@ -33,9 +33,10 @@ The underlying order primitive is structured, hashed, and signed using the [EIP-
* **GTC** and **GTD** are limit order types — they rest on the book at your specified price.
- **GTD expiration**: There is a security threshold of one minute. If you need
- the order to expire in 90 seconds, the correct expiration value is `now + 1
- minute + 30 seconds`.
+ **GTD expiration**: Orders expire one minute before their stated expiration
+ as a security threshold, and the expiration must be at least three minutes
+ in the future. For a 5-minute effective lifetime, the correct expiration
+ value is `now + 1 minute + 5 minutes`.
### Post-Only Orders
diff --git a/docs/developers/CLOB/orders/create-order-batch.md b/docs/developers/CLOB/orders/create-order-batch.md
index 6041c77..7b25901 100644
--- a/docs/developers/CLOB/orders/create-order-batch.md
+++ b/docs/developers/CLOB/orders/create-order-batch.md
@@ -208,7 +208,7 @@ GTD orders auto-expire at a specified time. Useful for quoting around known even
.size(dec!(10))
.side(Side::Buy)
.order_type(OrderType::GTD)
- .expiration(Utc::now() + TimeDelta::hours(1))
+ .expiration(Utc::now() + TimeDelta::minutes(1) + TimeDelta::hours(1))
.build()
.await?;
let signed = client.sign(&signer, order).await?;
@@ -217,9 +217,11 @@ GTD orders auto-expire at a specified time. Useful for quoting around known even
- There is a security threshold of one minute on GTD expiration. To set an
- effective lifetime of N seconds, use `now + 60 + N`. For example, for a
- 30-second effective lifetime, set the expiration to `now + 60 + 30`.
+ GTD orders expire one minute before their stated expiration as a security
+ threshold. To set an effective lifetime of N seconds, use `now + 60 + N`.
+ In addition, the expiration must be at least three minutes in the future —
+ orders expiring sooner are rejected — so the minimum effective lifetime is
+ about two minutes.
***
diff --git a/docs/developers/CLOB/orders/create-order.md b/docs/developers/CLOB/orders/create-order.md
index 6041c77..7b25901 100644
--- a/docs/developers/CLOB/orders/create-order.md
+++ b/docs/developers/CLOB/orders/create-order.md
@@ -208,7 +208,7 @@ GTD orders auto-expire at a specified time. Useful for quoting around known even
.size(dec!(10))
.side(Side::Buy)
.order_type(OrderType::GTD)
- .expiration(Utc::now() + TimeDelta::hours(1))
+ .expiration(Utc::now() + TimeDelta::minutes(1) + TimeDelta::hours(1))
.build()
.await?;
let signed = client.sign(&signer, order).await?;
@@ -217,9 +217,11 @@ GTD orders auto-expire at a specified time. Useful for quoting around known even
- There is a security threshold of one minute on GTD expiration. To set an
- effective lifetime of N seconds, use `now + 60 + N`. For example, for a
- 30-second effective lifetime, set the expiration to `now + 60 + 30`.
+ GTD orders expire one minute before their stated expiration as a security
+ threshold. To set an effective lifetime of N seconds, use `now + 60 + N`.
+ In addition, the expiration must be at least three minutes in the future —
+ orders expiring sooner are rejected — so the minimum effective lifetime is
+ about two minutes.
***
diff --git a/docs/developers/CLOB/orders/get-active-order.md b/docs/developers/CLOB/orders/get-active-order.md
index e464ba0..2001338 100644
--- a/docs/developers/CLOB/orders/get-active-order.md
+++ b/docs/developers/CLOB/orders/get-active-order.md
@@ -33,9 +33,10 @@ The underlying order primitive is structured, hashed, and signed using the [EIP-
* **GTC** and **GTD** are limit order types — they rest on the book at your specified price.
- **GTD expiration**: There is a security threshold of one minute. If you need
- the order to expire in 90 seconds, the correct expiration value is `now + 1
- minute + 30 seconds`.
+ **GTD expiration**: Orders expire one minute before their stated expiration
+ as a security threshold, and the expiration must be at least three minutes
+ in the future. For a 5-minute effective lifetime, the correct expiration
+ value is `now + 1 minute + 5 minutes`.
### Post-Only Orders
diff --git a/docs/developers/CLOB/orders/get-order.md b/docs/developers/CLOB/orders/get-order.md
index e464ba0..2001338 100644
--- a/docs/developers/CLOB/orders/get-order.md
+++ b/docs/developers/CLOB/orders/get-order.md
@@ -33,9 +33,10 @@ The underlying order primitive is structured, hashed, and signed using the [EIP-
* **GTC** and **GTD** are limit order types — they rest on the book at your specified price.
- **GTD expiration**: There is a security threshold of one minute. If you need
- the order to expire in 90 seconds, the correct expiration value is `now + 1
- minute + 30 seconds`.
+ **GTD expiration**: Orders expire one minute before their stated expiration
+ as a security threshold, and the expiration must be at least three minutes
+ in the future. For a 5-minute effective lifetime, the correct expiration
+ value is `now + 1 minute + 5 minutes`.
### Post-Only Orders
diff --git a/docs/developers/CLOB/orders/onchain-order-info.md b/docs/developers/CLOB/orders/onchain-order-info.md
index e464ba0..2001338 100644
--- a/docs/developers/CLOB/orders/onchain-order-info.md
+++ b/docs/developers/CLOB/orders/onchain-order-info.md
@@ -33,9 +33,10 @@ The underlying order primitive is structured, hashed, and signed using the [EIP-
* **GTC** and **GTD** are limit order types — they rest on the book at your specified price.
- **GTD expiration**: There is a security threshold of one minute. If you need
- the order to expire in 90 seconds, the correct expiration value is `now + 1
- minute + 30 seconds`.
+ **GTD expiration**: Orders expire one minute before their stated expiration
+ as a security threshold, and the expiration must be at least three minutes
+ in the future. For a 5-minute effective lifetime, the correct expiration
+ value is `now + 1 minute + 5 minutes`.
### Post-Only Orders
diff --git a/docs/developers/CLOB/orders/orders.md b/docs/developers/CLOB/orders/orders.md
index e464ba0..2001338 100644
--- a/docs/developers/CLOB/orders/orders.md
+++ b/docs/developers/CLOB/orders/orders.md
@@ -33,9 +33,10 @@ The underlying order primitive is structured, hashed, and signed using the [EIP-
* **GTC** and **GTD** are limit order types — they rest on the book at your specified price.
- **GTD expiration**: There is a security threshold of one minute. If you need
- the order to expire in 90 seconds, the correct expiration value is `now + 1
- minute + 30 seconds`.
+ **GTD expiration**: Orders expire one minute before their stated expiration
+ as a security threshold, and the expiration must be at least three minutes
+ in the future. For a 5-minute effective lifetime, the correct expiration
+ value is `now + 1 minute + 5 minutes`.
### Post-Only Orders
diff --git a/docs/developers/CLOB/status.md b/docs/developers/CLOB/status.md
index 8af0fbb..6ead301 100644
--- a/docs/developers/CLOB/status.md
+++ b/docs/developers/CLOB/status.md
@@ -1,4 +1,4 @@
-