8

Imagine I am a solo baker with 1 roll (10k XTZ), as a rough estimate given the current number of active rolls I should earn around 6.5 XTZ (0.065%) per cycle, let's assume for a moment that is static and not variable, i.e I will receive exactly 0.065% every cycle.

Now as the rewards start being paid out they will not be enough to earn me another roll, therefore my baking rights will still correspond to 1 roll and so my rewards will remain at 6.5 XTZ per cycle. Since my rewards are too small it looks like I do not benefit from compounding unless I delegate that 6.5 to another baker.

However the act of delegating requires a transaction to move the 6.5 XTZ from my baking tz1 account to a KT1 account which incurs a transaction fee. It seems like the minimum transaction fee is 0.001272mtz so let's assume that is what we must pay.

If we assume a 10% fee for any rewards from delegation (along with a static 6.5% return as per my own baker), my 6.5 XTZ reward will earn (6.5 - .001272) * .00065 * (1 - 0.10) = 0.00380175588 xtz. let's assume the baker absorbs the transaction fee.

So it looks like it makes sense to transfer the excess XTZ after every cycle since .00380 > .001272. Even if the baker passes on the transaction fee it should be worthwhile to do.

Now we know that baking is not as linear as that, some cycles I will bake more or less, so let's assume a bad scenario where I only endorse a single block for 2 XTZ reward. Now in this scenario if I transfer the excess straight away my expected reward is (2 - .001272) * .00065 * (1 - 0.10) = 0.001169 which is less than the transaction fee so as I understand it you are better off waiting until the next cycles rewards before moving the money to you KT1 account.

Are my calculations correct? Is it as simple as checking whether your expected rewards are greater than the transaction fee to ensure you are receiving the optimal return or is there anything I have missed?

  • your second statement is incorrect: you benefit from compounding as a solo-baker without needing to delegate to someone else – Ezy Mar 2 at 15:21
  • @Ezy Not if your rewards don't make up another roll. For example if all I have is 10k xtz. It would take more than a year for me to accumulate enough rewards to get another roll at which point I would start compounding – xtzbaker Mar 2 at 15:24
  • 1
    i edited your question to clarify your second statement – Ezy Mar 2 at 15:25
  • another premice that seems unlikely is that a baker would accept a 6.5XTZ delegation: if you cannot earn an extra premium from solo-baking, the same goes for the hypothetical baker, so assuming that you will manage to earn your compounding income from another baker just means that that other baker will have to give you rewards without an additional roll of his own (in other words that other baker would be paying you out of his own poket). NB: I posted this as my answer actually. – Ezy Mar 2 at 15:31
  • If I already have an acceptable amount delegated to the baker most of them will accept the 6.5 top up without any problems each cycle – xtzbaker Mar 2 at 15:34
5

It makes totally sense, to delegate the "excess XTZ". Just full rolls bake for you. Every undelegated XTZ (considering the fee) above a full roll are wasted rewards.

The calculation is looking good to me.

You just need to have an eye on the "Next Roll Goal" (7 cycles before). So you can delegate back to yourself.

0

A premise that seems unlikely is that a baker would accept a 6.5XTZ delegation.

If you cannot earn an extra premium from these 6.5XTZ by solo-baking, the same goes for the hypothetical baker.

So assuming that you will manage to earn your compounding income from another baker just means that that other baker will have to give you rewards without an additional roll of his own (in other words that other baker would be paying you out of his own pocket).

Therefore although your math is correct the premise is conditional on find a generous baker to pay you out from his own pocket which is unrealistic in my opinion.

  • yes, definitely have to make sure the payout structure of the baker will give you the rewards you expect. Most bakers(especially smaller) hate small delegations as a lot pay out every cycle and your delegation rarely will help them get to a full roll. – Frank Mar 2 at 15:57
  • There are a number of bakers currently operating that accept this kind of behaviour. Granted it is not a given, and varies by baker but it is definitely not unlikely. – xtzbaker May 31 at 15:19
0

In general the optimum behaviour is to transfer the excess tezos after every cycle as long as the expected rewards from delegating exceed the transaction fee, and leave the excess tezos in your account when the expected returns from delegating do not exceed the transaction fee.

However there is one case where this is not the optimal behaviour, it is very much an edge case, and the difference is not really material, but describing it for completeness as the question was about the optimal solution.

If you have excess XTZ that if delegated would not result in enough to cover the transfer fee and you are not expecting to receive any rewards in the current cycle then the optimum choice is to transfer the funds straightaway. Hopefully the example below illustrates why.


  • Excess Tezos in Cycle 0: 2 XTZ
  • Expected rewards for delegating in Cycle 0: (2 - .001272) * .00065 * (1 - 0.10) = 0.001169
  • Expected rewards in Cycle 0 from own baking: 0 XTZ
  • Expected rewards from delegation for Cycle 1: (2 - .001272) * .00065 * (1 - 0.10) = 0.001169 // The compounding is negligible at these levels so not including it for simplicity
  • Expected rewards in Cycle 1 from own baking: 10 XTZ // Let's assume it's a material amount
  • Expected rewards from delegation for Cycle 2 if delegated in cycle 0 and cycle 2: ((10 - .001272) + (2 - .001272)) * .00065 * (1 - 0.10) = 0.007018 // The compounding is negligible at these levels so not including it for simplicity
  • Expected rewards from delegation for Cycle 2 if delegated in cycle 2: (12 - .001272) * .00065 * (1 - 0.10) = 0.007019

  • Total expected value of excess XTZ for delegating in Cycle 0 + 2: (10 - .001272) + (2 - 0.001272) + 0.001169 + 0.001169 + 0.007018 = 12.006812
  • Total expected value of excess XTZ for waiting until cycle 2 to delegate excess: (12 - 0.001272) + 0.007019 = 12.005747

Delegating straight away results in an additional .001065 XTZ.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.