[Phase-1] UIP-3: Establishing a permanent fund for the Humanitarian Vaults ($UBI)

UIP: 3
title: Establishing a permanent fund for the Humanitarian Vaults ($UBI)
author: bebopster
status: Phase 1
created: 2021-11-21

Simple summary

This proposal establishes a permanent fund to support $UBI by creating a smart contract to receive donations for the Humanitarian Vaults.

Abstract

We now have Humanitarian Vaults that allow anyone to support $UBI by staking assets (ETH or DAI) and using the interest to burn down the $UBI supply on Uniswap. This proposal would build on that functionality by establishing a permanent ETH fund that would be secured by a smart contract and save on gas fees/maintenance by pooling funds.

Motivation

Depositing ETH in the Humanitarian Vaults requires 3 contract interactions. First the ETH must be converted to WETH, then an approval, and finally the actual deposit. Depending on gas prices, this could easily add up to more than $50 and take careful timing for optimal gas prices. The vault also will require periodic maintenance (withdraw/redeposit) that will mean further periodic gas. For sizable deposits this might be acceptable, but for smaller contributions it is a net loss for gas alone.

A shared fund will allow direct ETH transactions for donations, the most affordable to gas. This will allow small donations or potentially even contributions as part of other smart contracts (e.g. percent of NFT sale donated). Pooling the ETH into one account allows for pooling gas prices for the vault interactions as well as making the process much more efficient and accessible to anyone who wants to support $UBI.

A permanent fund will also provide stability. For example there was a 300 ETH deposit (75% of the vault) which was amazing, but it was withdrawn a few weeks later. A permanent fund will give lasting confidence in the stability of $UBI.

There are also potential tax benefits to donating ETH vs swapping ETH for another token depending on local tax law interpretations.

Specification

Smart contract to manage the funds, governor should be the same as the UBI contract.

Rationale

This approach is intended to establish a secure permanent fund with minimum impact on limited DAO resources.

Implementation

Smart contract implementation on github.

Notes

Will wait for HIP-31 to pass or other voting clarification before advancing this proposal.

Updates

  1. Changed specification from multisig wallet to smart contract.
  2. Added link to first pass at smart contract.
2 Likes

Sounds like an interesting Idea.
The only problem I see is that it’s not permanent, since it requires a multisig wallet, which signers could withdraw.

A better approach would be to make a new Smart Contract where ETH can’t be withdrawn. This would be secured by the code itself and auditable.
All eth going to that Contract, will lock ETH forever, but it will be forever deposited on the VAULT.

Kinda like BURNING ETH to give UBI an eternal Life.

This is starting to sound like the UBI Burner, but for the vaults :slight_smile:

2 Likes

I would like this to be done with a smart contract too, but there are some significant challenges. If the contract is upgradeable or allows any sort of maintenance, whoever controls the contract could still abscond with the funds, but if no changes to the contract are allowed the funds could get trapped there if there are incompatible changes in the vaults over the coming years and decades. Then add in the related cost of developing/auditing a contract.

Ultimately a fund will need human intervention and the board seems like a natural choice to start with since they are already trusted with the DAO funds. If the fund is big enough it might make sense to develop a PoH based voting mechanism for managing the funds.

I do think it is similar to the UBI Burner. The burner is good if you want to make the most immediate impact with your funds and if you see ETH as being stable long term. Placing the ETH in a vault would make more sense if you are long ETH (if ETH 2x in the next year, pays itself every 10 years, 4x :thinking: pays itself every 5 years etc…). I could definitely see different folks having pretty different views for what the future holds, so I think choices will be good here.

2 Likes

I agree. Simple, step by step

1 Like

I was reflecting on this on a flight today and I think you are right and an upgradeable contract is a better way to get this started. I updated the proposal accordingly and will take a swing at an implementation. As long as it is governed by the same entity that governs the UBI smart contract the security will be the same as what the token already has since that contract is upgradeable too.

2 Likes

Just added a first pass at a smart contract implementation for this. Hoping to do some more testing over the weekend.

3 Likes

Awesome. Cant wait to see.
I dont see a need for a UIP for this (at least not yet).
Sounds more like a project that can be done without voting and you can just report it to the community once its done.

(Even ask for help if you need a hand)

2 Likes

Agreed, a UIP seems like overkill now that it is a smart contract.

Tested a fair amount and even deployed a version to mainnet over the weekend. Unless there are any objections, I’m inclined to just transfer ownership to 0x327a29fcE0a6490E4236240Be176dAA282EcCfdF, the same contract that governs the UBI smart contract. Hopefully the contract could live for some years before requiring any upgrades and the ownership transfer would ensure the fund is just as secure as the UBI token itself.

Might be better to send ownership to the Board Multisig so you don’t need any governor interaction until fully tested.

Could you share the address on mainnet?

It is at 0x3B8b1C455D3557919cec66597aa70061CFCD04C2.

1 Like