Investment of deposited assets

We will operate the assets deposited in Tornado.
This is the same as what is already planned for projects like Frax and Balancer.

We will have a certain percentage of reserves for withdrawals and invest the rest.
The options for ETH are as follows

1)Aave/Compound :0.2% APY
2)Alpha homora v1 :10-15% APY
3)Uniswap ETH/USDC,USDT,DAI :50% APY
4)Yearn:2.5% APY
5)Harvest:10% APY

1)This is the most conservative operation.
2)This is the platform Andre used for KP3R. V1 has already been in operation for a long time and has the best risk-return ratio.(not v2)
3)Pair ETH with StableCoin deposited in TornadoCash to make LP. Good profit, but there is IL risk.

Operations, such as adjusting reserves, are done by the keeper.

Profits are paid to Torn holders who locked for Governance.
A good model would be XSUSHI.
When locked, XTORN will be issued to users.
For XTORN holders, buy back Torn from the market and distribute it.

If we lock about $200M ETH into Alpha, the reward will be $20-30M, and 50% APY will be Buyback on the current market cap of $60M.

Please give me feedback on this proposal.

1 Like

While this is a real opportunity to tackle, there are some big design issues that need to be figured out first, including:

  1. How to price the risk of contract failure of any defi protocol? Even yearn just lost $11 million within the last few weeks to a contract exploit. If this were to happen to funds exposed by a managed tornado pool, who would left unable to withdraw their initial deposits?

  2. Who gets rewarded for the risk? It’s the users’ money that is at risk, but you’re proposing profits are given to governance? Users need to be rewarded for their risk somehow

A couple direct solutions would be:

  1. Create a dedicated managed pool for ETH so that users know ahead of time that their deposits will be invested (carry risk) and could potentially be lost forever

  2. Vote to increase the mined AP rewards for users who deposit in the managed pool

However, these solutions introduce additional issues, namely:

  • Asking the question: who is then responsible for creating and managing the managed pool’s investment strategy? If we decide TORN holders, then all of the sudden TORN responsibilities become focused on optimizing for APY instead of anonymity & security. Not a bad thing. But this would be a major pivot

  • A portion of liquidity from current ETH pools would be withdrawn to be deposited into the managed pools. This has the potential to significantly reduce the anonymity set of all the tornado ETH pools

A far more conservative option that would resolve most of the issues above would be to open a cDAI pool that mines COMP. Users get to earn interest on their cDAI deposit. Meanwhile, governance gets to earn COMP (then potentially convert it to TORN, distribute to governance participants)


Anonimity set shall remain paramount as that is first and foremost the reason TC exists. Unfortunately dislocating funds onto a broader range of pools comes at the price of diminished anonimity. Having said this, it is only a matter of time until another existing DeFi protocol has a go at this (and some of you will remember AC talking about this possibility a few months back), therefore I would be favorable to consider a reasonably careful approach to allow users to have their deposited assets invested.

Would leave this as an alternative reserved for those users who are less risk adverse, whilst keeping the default way of using the protocol as it is, i.e. without funds being invested. There is a risk invovled with relying on other parties’ smart contracts, and a standard user who does not want to expose themselves to this shall have all the rights to decline this possibility.

Definitely should be users first, and governance on a lesser degree, to be rewarded for taking the risk of using a managed tornado pool.

I am all for creating cDAI tornado pools with admins redeeming COMP on users’ behalf redistributing to governance as well.
My only concern with going further i.e. full-on Yearn mode consists in the two points highlighted by ethdev; reduction in anonimity set and usage of governance’s time/energy onto reviewing and discussing strategies.


I fail to see how dynamically placing funds in another protocol would hurt the anonymity set. I think the prior proposal needs to be refined:

If we place all liquidity of a pool into another protocol at deposit time (dynamically done so) and dynamically withdraw per-denomination units for each withdrawal, it wouldn’t matter. Users would incur a larger gas cost, though.

Some things that would need to be done (it’s a lot):

  • Create new pools that allow for a governor to set an investment strategy that defines how funds are deposited / withdrawn. A standard interface should be implemented for this.
  • Migrate ETH to use WETH instead, allowing standardized flow/movement of ETH around investment strategies.
  • On the “business” side, this would require migrating to these new contracts (a v2, if you will), as well as proper disclosure of risk to the user.
  • I don’t see a way to pass the investment yield to the user directly, even though they are taking the risk. Why? Because the value/exchange rate of the pool will go up over time. At withdrawal time, you’d be able to trace back deposits based upon how much each user is able to withdraw. For example, the user deposits 1 ETH. After 1 year, the anon user withdraws 1.1 ETH. If you know historical yield is ~10% APY, then you’d know that specific deposit sat in the protocol for about one year.
  • The solution - to still reward users, the best thing to do would be running AP mining for each of these pools, and the TORN rewards could come from a percentage of yield generated by the pool, rather than the genesis event of TORN being initially distributed to the community. This is likely one of the most sustainable ways to do it, imo.

TLDR: this strategy would require taking excess proceeds in each pool and using those proceeds, specifically, to reward TORN stakers. These excess proceeds accrue over time and they are easy to track, because the deposits /withdrawals are standardized in the protocol. For example, 100 x 1 ETH deposits into the protocol over one year and 10 withdrawals means that there are 90 ETH left (owed) to users looking to withdraw. If interest accrues such that there is 99 ETH in the pool, that 9 ETH would be profit for the pool.

I have plenty of investment strategies in mind that could be used, but I’ll save that for a future post. Plenty of thoughts already shared here and I don’t want to get ahead of myself :grinning:

1 Like

If you split a single pool into 2 “safe” and “risky” pools, each one will have a lower anon set.

Not necessarily. Maybe the user deposited 1 ETH a year ago, or 0.9 ETH 2 years ago, or 1.05 ETH 6 months ago. Pool amount can just steadily grow and will automatically reward older users more without breaking anonymity.

In general I think investing users funds somewhere else exposes users to a lot of unnecessary risks. And requires a lot of developers time. I think we should instead spend that time on improving the core protocol value - privacy.

1 Like

Another option for ETH

  1. Bancor: 26% APY

This investment would result from providing liquidity for Bancor. Bancor v2.1 provides single sided impermanent loss insurnace / prevention.

Also reposting from ethdev in another thread,

Tornado works because users put X in and get X out

Defi is different because users put X in and get Y out (usually Y > X because of accumulated yield)

Even if all X deposits were pooled together at the same rate (like 1 ETH), the difference between each users’ X & Y would almost certainly be enough to reveal a user’s identity (at what block they deposited X based on how much interest Y they earned). So it’s probably infeasible to embed tornado in defi

However, defi could be embedded in tornado. But not the way it’s deployed now. And it would be messy. It would have to be an altogether different protocol with significantly higher risk of operation

There’s currently 100k+ ETH in Tornado. If an protocol popped up to compete with, then could store all deposited ETH into a single vault. Then governance token holders could vote on depositing vaulted ETH into various defi applications, like, to earn yield

Users would still need to deposit X and withdraw X to stay safe, but maybe yields could be allocated by the governance token holders to pay for the cost of gas for users’ mixings

Biggest downside is that defi is not fool-proof and funds do get lost. Sometimes Y < X

So in order to preserve anonymity, the investment rewards from participation in some defi protocol should be distributed amongst TORN governance token holders. User depositing ETH in tornado pools would gain from this by earning AP which can be redeemed in the future for TORN. Maybe the redemption of AP for TORN could be extended beyond the one year period ?

I didn’t see this thread and made a similar suggestion in this thread: DAO re-investing anonymity pool - #4 by optionsmate - Close it please.

My suggestion there differs in that we shouldn’t reward token holders directly (by sending them returns), but instead buy back TORN as a DAO. Since this will deflate the circulating amount, it would also reward token holders. Also, it would sort of justify the (AP->)TORN reward for staking.

Since the DAO treasury is going to unlock funds soon, can we not hire a mathematician and a programmer to work on this exclusively? Maybe somebody with deep knowledge of the MakerDAO incentives would be a good fit.