I’ve noticed that the epoch rewards data in Lace does not match the epoch number in Daedalus and Yoroi. At this point in time all three say it is epoch 517. However Daedalus and Yoroi are only reporting rewards as far as epoch 515 which I believe is correct. Lace is showing rewards up to 517 which is confusing as there are still 4 days left in the epoch. In looking at the amount of rewards it appears that what Lace is reporting for epoch 517 is what is reported in Daedalus and Yoroi for epoch 515. I’m curious as to what is happening here?
Yoroi and Daedalus give the number of the epoch for which these are the rewards.
Lace obviously gives the number of the epoch where the rewards were distributed at the beginning (so, the current epoch for the latest rewards).
There would be a third possibility: The epoch whose balance snapshot was used for block production and reward calculation. Would also be an interesting information (since the rewards have little to do with your balance during epoch 515 or at the start of epoch 517, but with your balance at the boundary from epoch 513 to 514).
But, yeah, Lace is the odd one out here. All other wallet apps seem to have agreed to give the number of the block production epoch, not of the snapshot or the reward distribution epoch.
Interesting. I’ve been tracking my rewards since before there was Yoroi or Lace using Daedalus. I wanted to track the performance of my pools over time. I’d export data and put it into a spreadsheet. I’d like to get away from Daedalus and still get the data I want to track.
Thanks.
Lace doesn’t seem to have an export at all at the moment. If you do it manually, just subtract 2 to arrive at the epoch number you have been using up to now.
Eternl does have a (pretty rudimentary) CSV export of transactions (upper right of the transaction history) that also contains the rewards.
Or you can probably also just get it from one of the blockchain explorers or – if you are into programming – from Koios, Blockfrost, or any other API.
Right now the current epoch is 517. When that finishes in 3 days I will see my rewards total increase. What epoch are those rewards from? I have it in my records as 516 and not 517. Is that correct? Yoroi seems to agree as it shows rewards through epoch 515. Next is 516. Lace is odd man out on this.
As I mentioned I’ve been doing this in a spreadsheet so I could be off. I want to straighten it out and stop using Daedalus.
The rewards you receive (and can spend) after the start of epoch N
are the rewards earned in epoch N - 2
.
This is what makes Cardano staking 100% liquid.
The rewards at the boundary between 517 and 518 (Lace shows 518) are for the block production in epoch 516. As said above:
The cycle is always: Balance and delegation are recorded in a snapshot at an epoch boundary (say, beginning of N=515). This snapshot is used for block production from the first to the second epoch boundary afterwards (in epoch N+1=516). Rewards are paid at the third epoch boundary after the snapshot (from N+2=517 to N+3=518).
That’s why it always takes at least 15 days from a change in delegation or a much higher or lower balance in the account until that has an effect on the rewards. Can be up to 20 days if the change is done very early in the epoch.
The one epoch delays between snapshot and beginning of production and between end of production and rewards distribution are among other things needed for the nodes to compute the snapshot and the rewards.
What does that have to do with the design choice of making staking liquid?
Seem quite independent aspects to me.
Having a two epoch delay between when the staking snapshot is taken prevents the need for a lockup and thus makes staked ADA always liquid.
Every PoS chain that does not have a delay like Cardano has a lock up period to make sure the staked balance is constant for the whole duration of staking.
That clears it up. It looks like I’ve got the epoch numbering right over the years. I’ve been exporting the rewards data from Daedalus after an epoch concludes. The exported file does not include the epoch number in its name. I suggested it do that. It also does not give the number of ADA rewards gained. It gives the total ADA rewards to date and the unspent rewards. So for years I’ve been putting this data into a spreadsheet, subtracting the totals of one epoch over another, and determining the rewards earned. Might seem like a lot of work but really isn’t plus it kept me engaged with ADA activity.
I want to get away from using Daedalus and it looks like Yoroi will do what I need.