<p>If staking rights are being managed by a single trusted entity, then smart contracts are not necessary for your schema. Rather, you can use &quot;franken-addresses&quot;, which are <strong>addresses built using multiple payment keys, but a single staking key.</strong></p>
<p>In short, you and your peers may generate your own payment key pairs using <code>cardano-cli</code>, <code>cardano-wallet</code>, or whatever derivation path(s) you prefer. Your &quot;staking manager&quot; then generates their staking key-pair using similar methods. Finally, addresses are built with <code>cardano-cli address build</code> for each participant using their payment.vkey and the manager's stake.vkey.</p>
<p>Now, every participant gets their own wallet that they can deposit/withdraw from themselves, while all the wallets' staking rights are controlled by a single keyholder.</p>
<hr />
<p>Note: if implemented, the cohort must agree on a scheme as to who will be paying fees. As it stands, each wallet will require it's own staking certificate, which costs 2 ADA, plus standard tx-fee costs for delegation/redelegation.</p>
<p>Pro tip: you can save on some tx-fees if you submit the staking certificates all in single transaction.</p>

CC BY-SA 4.0
2022-02-22T18:17:11.023Z
On a slightly tangential note, check out the [Conclave Paper](https://iohk.io/en/research/library/papers/conclavea-collective-stake-pool-protocol/) by IOHK - really cool idea for collective pool management.
zhekson
CC BY-SA 4.0
2022-02-22T13:36:58.363Z
2022-02-22T18:17:06.013Z
2022-02-22T18:17:06.013Z
zhekson
<p>Yes, a smart contract (script address) can delegate.</p>
<p>An example plutus script address from week 2 in the pioneers course is shown below:</p>
<pre><code>Address {addressCredential = ScriptCredential 67f33146617a5e61936081db3b2117cbf59bd2123748f58ac9678656, addressStakingCredential = Nothing}
</code></pre>
<p>Note the parameter <code>addressStakingCredential</code> which allows a script address to be staked against a pool.</p>

CC BY-SA 4.0
2022-02-20T20:12:29.630Z
2022-02-20T20:12:29.630Z
cyberruss
<p>Check out this article - it's pretty well written and explains the inner workings of how delegation works using Plutus!</p>
<p><a href="https://github.com/Plutonomicon/plutonomicon/blob/main/stake-scripts.md" rel="nofollow noreferrer">Liqwid Labs Stake Validators</a></p>

CC BY-SA 4.0
2022-02-21T11:40:48.590Z
2022-02-21T11:40:48.590Z
Will
<p><strong>Prelude:</strong> I have a micro-cardano-pool ,less than 10K include 3 deligators (my friends). Despite the sike of the pool, I would like my pool be an active element in the mainnet network. Therefore I decided to participate in the  interesting small-pools cooperative where all participants delegates their stake to a certain pool (from the programm) for several epochs. The number of epochs that allocated to the current active pool is a function of the stake contributed by that pool to the program in the recent past.</p>
<p><strong>Current state :</strong> My friends and me delegate our stakes eccording to the program schedule (each one his stake).</p>
<p><strong>Proposal :</strong> My proposal is to create a smart contract where few delegators  will move their stake to this contract and only one (contract manager) could delegate the whole stake of the smart contract to a certain pool. Every participant (include contract manager) can pull  only his part from the contract .</p>
<p><strong>Question :</strong> Is it possible to delegate a smart contract’s stake ?
What are the alternatives to the above smart contract?</p>

CC BY-SA 4.0
2022-02-21T02:54:34.053Z
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.
Community
<smart-contract><stake-pool><staking><contracts>
Re-Delegation Smart Contract
# Re-Delegation Smart Contract

(Asked by: username_0 on 2022-02-19)

**Prelude:** I have a micro-cardano-pool ,less than 10K include 3 deligators (my friends). Despite the sike of the pool, I would like my pool be an active element in the mainnet network. Therefore I decided to participate in the interesting small-pools cooperative where all participants delegates their stake to a certain pool (from the programm) for several epochs. The number of epochs that allocated to the current active pool is a function of the stake contributed by that pool to the program in the recent past.

**Current state :** My friends and me delegate our stakes eccording to the program schedule (each one his stake).

**Proposal :** My proposal is to create a smart contract where few delegators will move their stake to this contract and only one (contract manager) could delegate the whole stake of the smart contract to a certain pool. Every participant (include contract manager) can pull only his part from the contract .

**Question :** Is it possible to delegate a smart contract’s stake ?
What are the alternatives to the above smart contract?

**Tags:** smart-contract, stake-pool, staking, contracts
> **Comments:**
> **username_1**: Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.  

---

## 3 answers

### Answer by username_2 on 2022-02-22. Score: 1

If staking rights are being managed by a single trusted entity, then smart contracts are not necessary for your schema. Rather, you can use "franken-addresses", which are **addresses built using multiple payment keys, but a single staking key.**

In short, you and your peers may generate your own payment key pairs using `cardano-cli`, `cardano-wallet`, or whatever derivation path(s) you prefer. Your "staking manager" then generates their staking key-pair using similar methods. Finally, addresses are built with `cardano-cli address build` for each participant using their payment.vkey and the manager's stake.vkey.

Now, every participant gets their own wallet that they can deposit/withdraw from themselves, while all the wallets' staking rights are controlled by a single keyholder.

---

Note: if implemented, the cohort must agree on a scheme as to who will be paying fees. As it stands, each wallet will require it's own staking certificate, which costs 2 ADA, plus standard tx-fee costs for delegation/redelegation.

Pro tip: you can save on some tx-fees if you submit the staking certificates all in single transaction.

> **Comments:**
> **username_2**: On a slightly tangential note, check out the [Conclave Paper](https://iohk.io/en/research/library/papers/conclavea-collective-stake-pool-protocol/) by IOHK - really cool idea for collective pool management.  

---

### Answer by username_3 on 2022-02-20. Score: 0

Yes, a smart contract (script address) can delegate.
An example plutus script address from week 2 in the pioneers course is shown below:
Address {addressCredential = ScriptCredential 67f33146617a5e61936081db3b2117cbf59bd2123748f58ac9678656, addressStakingCredential = Nothing}

Note the parameter addressStakingCredential which allows a script address to be staked against a pool.


---

### Answer by username_4 on 2022-02-21. Score: 0

Check out this article - it's pretty well written and explains the inner workings of how delegation works using Plutus!

[Liqwid Labs Stake Validators](https://github.com/Plutonomicon/plutonomicon/blob/main/stake-scripts.md)


---

