# 3.52.0-Mainnet API Changes

### API changes for runtime users

* `pallet-balances`&#x20;
  * Extrinsics
    * &#x20;`transfer > transferAllowDeath` / `transferKeepAlive`&#x20;
* `pallet-staking`
  * Extrinsics
    * If a validator has more than `maxExposurePageSize` nominators (512 in our case) then `payoutStakers` will need to be called multiple times to repay all of the nominators. The extrinsic only pays out the top one page (512) nominators at a time.
    * Alternatively, if you know which page your nominator stash belongs to, you can perform `payoutStakersByPage` and specify the page (0, 1, 2, etc) to pay out specific nominators that belong to that page. This can be used to avoid paying transaction fees while unintentionally paying out other accounts.
  * Storage Calls
    * `erasstakers > erasStakersPaged` Use the old API for eras up to the runtime upgrade, and the new api for eras after it
    * `erasStakersClipped > erasStakersOverview` Use the old API for eras up to the runtime upgrade, and the new api for eras after it
    * `claimedRewards` inside the `ledger` storage item has been deprecated and changed to `legacyClaimedRewards`. It will only reflect the rewards claimed before the runtime upgrade. Users should use the new `staking.claimedRewards` storage call to get the history of claimed paged rewards by era and validator
  * Storage Constants
    * `maxNominatorRewardedPerValidator > maxExposurePageSize`&#x20;
* `pallet-nomination-pools`
  * Added the ability to configure who can claim commission from nomination pools.

    * Previously, only the pool's root role was allowed to call `claim_commission`. This was limiting for use cases where pools wanted to allow third-party bots, external accounts, or anyone to claim commission on their behalf. This change allows pool operators to configure this behavior.
      * A new `claim_permission` field has been added to the `Commission` struct inside `BondedPool`.
      * If `claim_permission` is set to:
        * `Permissionless`: **anyone** can call `claim_commission`
        * `Account(some_account)`: only the specified account can call `claim_commission`
        * `None`: falls back to current behavior (only the pool's root can call it)

    This change introduces a migration to extend existing pools with the new optional field. All existing pools will default to `None`, preserving the current behavior unless explicitly updated.

    To enable permissionless claiming or delegate it to another account, the pool's root role must update the `claim_permission` field accordingly. This could be done by:

    * Extrinsics > `nominationPools` > `setCommissionClaimPermission`
      * provide `pool_id` and enable `CommissionClaimPermission`option, and set it either to `Permissionless` or specify an `Account` that will have the permission to withdraw commissions
    * No action is required unless the pools want to change this behavior.


---

# 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.creditcoin.org/releases/3.52.0-mainnet/3.52.0-mainnet-api-changes.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.
