Making redelegation free

Thanks, @nick.eth, for proposing a fix and taking the idea to Temp Check.

I very much support the initiative to find drastically lower-cost alternatives for ENS token holders to delegate, or redelegate, their governance power for their ENS tokens.

Because of finding I had excessive value in a mere browser extension wallet like MetaMask, I sent my ENS tokens from that MetaMask wallet address to a hardware wallet. After learning via the ENS Discord that this reset the delegation to zero, I looked into redelegating via the current official means
Found it would require >US$60 in transaction fees.

Conclusion: ENS high-quality governance delegation will degrade with time unless we implement a low-cost or free alternative to re-delegate.


This is bordering on off-topic but I think I should also just say for reference that it’s critical we allow activities such as delegation on Layer 2 systems as soon as possible (which is basically now). That’s the only long-term solution to fees; paying out of pocket for them is a perhaps worthwhile patch but who knows where fees are headed on L1 in the long term.


In general, I do not believe that the DAO should ever subsidize gas fees, for any reason. My fear is that it is a slippery slope from here, to where proposals are made for the DAO to cover some or all of the gas fees when a name is registered. With so much interest in ENS and so many holders of the $ENS token, even a targeted subsidy program would be hugely costly.

Putting my reservations aside, I would be interested in fleshing this out. Some of the things that immediately come to mind:

  • Is there a way to make this more targeted or based on need? What would that application process look like?
  • How much is the DAO prepared to spend on this? There would obviously have to be a cap on fees each year.
  • How often can a single wallet utilize the subsidy?
  • Can bad actors exploit this by spreading tokens across different wallets and draining accessible funds? What are other sybil issues that are likely to arise?
  • Does this initiative encourage delegate changes for no reason? Do gas fees create needed friction here?

I don’t find the slippery slope argument that compelling; making it easier to delegate and vote is a clear good for participation in the DAO. It could potentially be costly - I would suggest a good first step would be to authorise, say, 10 ETH to a bot, with fairly strict limits on who can use it and how, and see how it goes.

I’d rather avoid any kind of application process, both because it’s less open and because of the overhead of it.

This is a good question - but I think we could start with something fairly small and see how we go.

I think monthly at most would be fine; maybe even less frequently than that. People have also suggested ‘delegation windows’, which has potential but also makes it harder for people to use.

They could, but it would be costly for them too. A transfer costs 57k gas if neither sender nor recipient account have delegated. A delegate transaction is 98k gas. So a determined griefer could at a one-time cost of 57k gas per account cost us 98k gas per account per month (or however often redelegation is allowed). I can think of a few ways to combat this, but it’d be a very slow griefing attack with no obvious gain, so I’m not sure we need to buy ourselves problems by worrying about it upfront.

Longer term, a good solution would be to bridge the tokens to an L2, conduct voting there, and send a single L2->L1 message to execute the final result if a proposal passes.


I think the primary issue is delegates basically had to set themselves up before claiming to delegate to themselves.

This really wasn’t clear. Also given the nature of the airdrop UI people basically were asked to delegate on claim which probably isn’t optimal.

Some restrictions, conditions on being able to utilize a system to re-delegate I think would be important. I also have seen that the competition between earning return (via LP) vs. governance is a strong liquidity dividing restriction.

Coming from Maker where we absolutely must work executives on chain I come to realize that polling or other governance agendas can be achieved by using various forms of snapshots provided there is sufficient warning of when these will happen and what will be included in the snapshot.

I do think there are some sybil issues in here that someone could creatively drain this contract but with some reasonably careful design and limitations this should be mitigatable.

Example: A person can only re-delegate for free if they have held their ENS for at least 30 days in their wallet.

Issue becomes not just what to offer (terms/conditions) but then coding it all up. Right now I probably can’t even vote my own ENS because I delegated it to someone else and unable without a mainnet tx to delegate it back to myself. I suspect others are in similar situation.


It doesn’t help that gas fees are really unpredictable right now and it’s likely not all of us are sitting on massive piles of ETH just waiting to be burned up in gas fees.
I do understand that these delegation transactions have a more complex workload and thus do need to use more gas… but as someone with a very limited amount of liquidity there’s no way to get around it at all.
I also dont think a “hardship application” process is the solution either. People always lie and try to game systems like that, leaving those of us who actually need it empty-handed.
In my experience of being poor (litterally and figuratively) the only thing that helps is free universal access to a necessity for either a short period of time or doled out at wide regular intervals.
Considering the size of this community and it’s potential for growth maybe monthly is too frequent?
Is it possible 3 month, 6 month, or even yearly “one time free pass” for assigning delegation is better?


Requiring a certain ‘hold time’ is an interesting idea. It’d require a subgraph or something of the sort to efficiently measure, though.

I’m getting the sense that there’s mixed opinions on this, largely around the scope and cost of such a measure. How would people feel about me putting forward a draft proposal for a very limited scope trial? Something like the following:

  • Max 10 ETH funding, total.
  • Funds voting transactions for delegates with >100 tokens (one per delegate per vote).
  • Funds redelegation transactions for anyone with >100 tokens (one per account per 3 months).

If approved on a snapshot vote, the funds can be put up by True Names, and later reimbursed by the DAO out of a workstream operating budget, once we have one.


I think a draft proposal is a great idea! And with limitations like that it seems like the actual cost could be kept quite low.
Also if it becomes apparent that the system is being misused or ends up eating up too much funds that could be used elsewhere then we could always change it? Right?
That’s what amendments are for :hugs:
In my opinion I think this is some that will benefit the ENS community and help equalize access. And with more available delegates the community can grow and develop equally while not feeling like there are “paywalls” or feeling like a lack of liquidity excludes them from participating!

1 Like

I support any mechanism to make redelegation free for users. In my experience, any cost to change delegation leads to a very high rate of leaving it as is, which goes against the spirit of ENS governance.


I think the constraint ideas here are critical.

We need to bound the total ask and have clear logic about how to handle edge cases like a significant fraction of token holders doing this at once (Twitter can make things happen…)

I would be inclined to support this if:

  • it was well bounded as laid out by @nick.eth in later reply
  • there is a broader social agreement to push for L2 solutions.

Basically, the DAO fronts the bounded upfront cost until the tech catches up to make delegation cheaper.


I like the idea of making things like redelegation easier/cheaper, but as others have said I’d be concerned about an unforeseen attack vector. Gas prices are unpredictable and there are 137k accounts. That’s a lot of potential redelegation going on.


A small-scale experiment would be fine, but I don’t know that this idea will have the desired positive impact on participation.

I also feel that it will be very difficult to measure the benefits. For instance, the fact that a delegate vote is changed doesn’t necessarily mean it is “good”. Conversely, if this subsidy allowed a person to change from a delegate who was not participating to one that was, it would be objectively good. Whether the amount of “good” is worth more than the cost to the DAO, is very difficult to measure.

Would be interested in a small scale experiment all the same.


We can certainly measure the activity of delegates as part of this.

Perhaps we could set this up as an actual experiment. Enable it for only half of addresses at random, and after a while, measure the percentage of tokens delegated to active delegates from each set of addresses.


I’m definitely on board with this, especially if it’s first run as a small scale experiment.

However, @cory.eth makes a good point about edge cases, especially with regards to many holders voting at the same time, bumping up gas significantly, or people voting during regular high gas periods.

Is there a risk that the fund would be drained if even a few people would vote when the gas is like 3ETH at some points, or is that a preventable scenario?

1 Like

I love the idea of running this like an actual experiment! Excited to see the draft proposal.

1 Like

How about doing a poll to understand how many users want to change their delegation (either to themselves or to someone else) but are not able to do so because of the transaction cost?


+1 for running a small scale experiment

1 Like

Maybe there could be some form of gas price limit? I remember unstoppable domains used to offer claiming (minting) credits which would only mint if gas was under 60GWEI (cant remember the exact number). Or a limit on redelegation tx per block so not so many tx get fed to the network at once?

I think as long as its clear how things work, people should not mind having to wait for gas to be under a certain price or to join a queue of redelegation transactions waiting to be sent to the mempool in order to get a free redelegation.


Also +1 for running a bounded small-scale experiment.

One other comment. More generally, I don’t see why the redelegation process would need to be nearly so often as monthly. Annually would be fine by me, with the first one obviously coming/starting some short time after ENS Governance determines/votes to do such a thing. But after that, annually, or semi-annually, cooked into the code would be more than sufficient.

If a reason emerges to do it “out of band”, sooner than the code-bounded period, then that could be initiated by ENS Governance in the oddball / unforeseen case.


I fully support this proposal. I would even go more extreme and say that once a year is enough. Most elections you only get to vote once every four years, and I think it would be nice to have a yearly event in which we encourage people to reconsider their delegates. Of course they can use the “once a year” anytime they want, and can redelegate paying their own gas as much as they want–but imagine we had a “get out and vote” campaign every year, during the airdrop anniversary?

I consider delegation part of voting and voting to be a public good, so is within the scope of the DAO to subsidize.