@twinstake-gov.near [Posted on Developer DAO Board](https://near.social/#/devgovgigs.near/widget/Post?id=553) ## Solution: Staking contract with whitelist for institutional staking providers Hi, all. We propose a new version of the NEAR staking pool contract from the core-contracts repo that meets the staking needs of institutional clients and their staking providers, with a proposed implementation for discussion. Institutional staking providers such as Twinstake routinely conduct KYC and AML checks on all of our clients, who are institutional asset managers. These clients operate under quite different regulatory pressures to individual users. What the institutional side of the ecosystem needs is the ability to designate a staking pool as “institutional-only”, such that no assets from users who have not gone through KYC and AML are mixed with those of institutional clients. This mixing of assets is called “co-mingling” and for the moment it’s somewhat unavoidable - staking is permissionless and anyone can stake to any staking provider. Certainly there are institutional asset managers holding and staking NEAR already despite this. We are seeing demand for a permissioned alternative, however, and it’s our opinion that offering this style of contract would unlock increased staking potential for NEAR from some of the larger holders. The implementation here is straight forward. We provide a new version of the current staking pool contract, with the addition of a whitelist. The owner of the staking pool (the institutional staking provider) deploys this contract and adds addresses for on-boarded clients to the whitelist. Attempted delegations from accounts not on the whitelist are rejected. We provide tests to cover code changes. This pool contract could be deployed by a new version of the current staking pool factory contract with a one-line change, to use the above pool contract wasm in place of the current one when deploying. This new staking pool factory contract itself would need to be whitelisted by governance in order to be deployed. [https://github.com/twinstake/permissioned-delegation-near](https://github.com/twinstake/permissioned-delegation-near) We envisage that this new pool contract would only be used by some institutions and their staking providers. The majority of users would continue to use the existing contracts and indeed some institutions would be content to continue using the existing contract. Approaches with less code repetition are of course possible. Twinstake is interested in comments from both the Validators and Contract Standards working groups. We’re happy to draft an NEP that extends [NEP 27](https://github.com/near/NEPs/pull/27) for this if appropriate. We welcome your feedback on this proposal.