Skip to content

Conversation

@joshuahannan
Copy link
Member

@joshuahannan joshuahannan commented Dec 4, 2025

Closes #354

Adds a FLIP that proposes automatically restaking all stakers rewards every epoch

@joshuahannan joshuahannan changed the title Add flip for automatic restaking Add FLIP for automatic restaking Dec 4, 2025
@joshuahannan joshuahannan changed the title Add FLIP for automatic restaking FLIP 353: Automatic Restaking Dec 4, 2025
@joshuahannan
Copy link
Member Author

Thanks for the feedback, @AlexHentschel! I addressed your comments and made some other changes to improve clarity

@JeffreyDoyle
Copy link
Member

I'm unsure if auto-restaking by default is desired by all users, as there are potential tax implications when being awarded tokens. Have we considered an opt-in approach?

@chasefleming
Copy link
Member

Yeah, I agree with @JeffreyDoyle. This should probably be a flag. Not everyone checks weekly, and they’ll have to unstake and wait weeks if they miss the window. Even if it’s not a taxable event, some users wait to move funds so they can make fewer transactions.

@joshuahannan
Copy link
Member Author

joshuahannan commented Dec 8, 2025

I'm definitely open to changing it if there is enough pushback, but I would argue that even if you want to make fewer transactions and only withdraw once a month or once every few months or something like that, this system is still better because instead of just sitting in your rewards bucket not accruing any additional rewards, your tokens were restaked and gave you some additional rewards while you were waiting.

Also, about taxes, I am not a tax expert, so this is not legal advice, but as far as I know, your rewards are not taxable until you withdraw them from the staking protocol, so I believe automatic restaking would likely not be a taxable event, especially since it is something that the protocol would do automatically with no input from the user. But we'll need to talk to some tax experts

@briandoyle81
Copy link

I'm 1000% for this and agree with a flag, but making it opt out. I think that the users who would benefit from choosing to defer rewards to defer taxes etc. will find the option they need.

@vishalchangrani
Copy link
Contributor

Issue to track this FLIP: #354

@bluesign
Copy link
Collaborator

IANAL, not tax advice

I think this depends on jurisdiction, some regard "withdraw of reward" as taxable event, others regard "calculation of reward" as taxable event.

But I think also the biggest problem here, it changes your cost basis when restake, in second case. ( Not sure about the first case ) If I had 1000 flow with 1$ each, and staked , when I got 10 flow reward ( let's say flow was $0.5) and restake, income tax on $5 and my cost basis will be ~0.9950. So went I unstake & sell 100 flow at $1.5 I should calculate ((1.5-0.9950)*100) for taxes.

Opt in seems safer.

@AlexHentschel
Copy link
Member

AlexHentschel commented Dec 11, 2025

Disclaimer: none of the following is tax advice.

I chatted with our tax person a while back. She was hesitant to provide a conclusive statement because crypto regulations are still developing and she felt she didn't know all the details yet that factor into the equation. Anyway, she referred me to some documents and explained how the CRA typically approaches the question whether something like staking / unstaking is a taxable event in Canada. TLDR:

The canadian tax system uses the notion of "Identical Properties", which very broadly says that any two assets are considered different kinds, if they for example [quote]:

do not have the same interests, rights and privileges

This is clearly the case for liquid vs staked tokens (one produces rewards the other doesn't; one needs to be unstaked and only then is transferable, the other is immediately transferable). Therefore, in agreement with my tax advisor, I have been treating any conversion between liquid and staked tokens as a taxable event.

From a Canadian tax perspective, the change seems subtle but important:

The detailed means don't matter, fact is that when they are received, reward tokens are transferable and don't produce revenue. Hence, I think they are "identical properties" as liquid tokens (in Canada).

your rewards are not taxable until you withdraw them from the staking protocol

To the best of my understanding, the canadian tax system considers the point in time when you receive the rewards and could withdraw them as a taxable event, not when they are actually withdrawn.

So receiving the rewards is a taxable event anyway. What changes with this flip is whether I have an additional taxable events every week converting reward tokens to staked tokens.

Status Quo: No taxable events from converting rewarded to staked tokens, unless I explicitly re-stake (taxable event) some of the reward tokens manually. Also, if selling some of the rewarded tokens to cover taxes due on the rewards (to the best of my understanding count as income in canada), one can just use the reward tokens that have accumulated and sell some of those from time to time.

With the Flip: Unless I withdraw reward tokens manually every week, there will be automatically an additional taxable event every week that I need to include in my accounting. This is major additional effort. If I wanted to sell a portion of the reward tokens from time to time to cover taxes due on the rewards, I need to unstake some of the auto-restaked rewards, which is another taxable event.

My perspective as a user:

⚠️ Automatic restaking would significantly increase my bookkeeping overhead. This is not a favourable proposal for my case.

Recommendation

Can we implement this with an opt-in or opt-out? I understand that the benefit of the current proposal is that it would be uniform for all accounts, i.e. it could be implemented in the staking smart contract. In contrast, what I am asking for is an account-individual solution.

However, as it stands right now, for me personally (only speaking as a user, not as a developer of the flow platform), I would rather have no change to the status quo than the proposed "one-size fits all" approach. Of course, the ideal would be a solution where users could pick.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FLIP 353: Automatic Restaking

8 participants