Infinite Auction for Ukraine

We want to raise funds to support Ukraine in the ongoing war. We want to use a novel way for fundraising uniquely enabled by web3, NFTs, and CC0 art - an Infinite Auction.

Main concept

Create an NFT collection of Ukraine-themed nouns glasses and/or CrypToadz. Build a website, where you can don’t only mint the tokens, but also “capture” already minted tokens, by paying more than what the previous owner paid. After “capturing” a token all funds go to charity and the NFT is transferred in your wallet.

It is similar to an auction, but you own the NFT as long as you are the one that paid most and the “auction” never ends. 100% of the funds are transferred to the official Ukraine Ethereum donations wallet in a trustless manner directly in the smart contract.

Why is this interesting?

We believe this mechanism is quite novel and can create some interesting incentives. You can just buy the NFT at a low price and your funds will go to charity. However, if you want to remain the owner of the NFT you will need to make sure nobody captures it from you. This will incentivize people to donate more in order to keep hold of the NFT. This dynamic will gamify the process and help raise more funds than just creating a regular collection.

Current status

@haltakov and @ianbydesign started working on this to build a small prototype. The current state is:

  • Smart contract - I have a working version of the smart contract implementing an ERC-721 token with the capture function to allow capturing an already minted NFT. It is deployed on Rinkeby here . Some more polishing and testing needed.
  • Website - we have a prototype version of a React app website here. The copy needs some more polishing work and I need to connect it to the smart contract, link to the OpenSea collection, and host it on a domain.
  • Art - @ianbydesign started creating the art for the collection (see screenshot and website) and he can create more in a style similar to SpecScapes (project already funded by the NounsDAO) or some more CrypToadz alike.

Requested budget

We ask only for funding the gas fee for the deployment of the smart contract on Ethereum Mainnet. I don’t think will be more than 0.2 ETH (depending on gas prices and final contract code).

Roadmap

  • Milestone 1: MVP - done :white_check_mark:
  • Milestone 2: Fully working on Rinkeby - finish the website, art and deploy the contract on Rinkeby
  • Milestone 3: Launch - deploy on Ethereum Mainnet

We request the funding after completing Milestone 3, but we would like to have the commitment that the project will get funded to proceed to Milestone 2. All the work is doable within a week.

Value

The obvious value of the project is raising funds to help Ukraine. The benefit for the CrypToadz community is that it will show that NFT projects can also help real positive impact on people in the physical world.

Team

@haltakov is an experienced software developer and self-driving car engineer. He is an NFT collector and has already launched an NFT collection serving as a membership token of a DAO he is building. He is also a Toadz Builder and has launched AI Toadz.

@ianbydesign is a graphic designer and is also active in the NFT space and an NFT collector. One of his recent projects SpecScapes was funded by Nouns DAO.

2 Likes

Thanks for this proposal and initiative. Your proposal makes sense to me in terms of funding and milestones. I’ve also just posted it in our community grants channel in Discord to see if others have thoughts on it.

1 Like

I love the idea!
It might be against the concept of the grant itself, but I would be happy to fund the contract deployment personally, if that makes sense and speeds things up?

This is a very well thought out and drafted project! It’s nice to have toadz builders proposing to use the brand in such positive manner.

However, I would like to make an observation: it would be nice to have information as to what will be the destination of the funds. Who will have the control over that? Is it going to be frozen in the contract?

In my personal opinion, for example, it would be great to know that the funds will be used exclusively for humanitarian purposes and not to fund the military, as this is to be a community funded project the community better be politically neutral. Again, my opinion, of course.

2 Likes

FYI we had a nice question from @HellB in the Discord server on this grant idea if you want to respond @haltakov. Here’s what they wrote:

"I´d like to know a little bit about the mechanics of the smart contract. If i mint is the NFT allocated to me on the blockchain? I feel uncomfortable about interacting with a smart contract which appears to give approval to transfer assets out of my wallet at a future date. How does it work?

I suppose its like listing an NFT on a market place but it just feels strange. Would people be able to transfer it to another wallet? i know it goes against the spirit"

These are good questions. I’m copying my answer from the Discord here as well.

The smart contract is a pretty standard one based on the OpenZeppelin library, which is used by most of NFT projects and is very well tested. I made two important modifications:

  1. The money goes straight to the charity wallet . When you mint a new NFT the money doesn’t stay in the smart contract as usual, but is directly being sent to the charity wallet configured permanently in the contract. The contract owner has no control over the funds - everything is automatic. This happens here: https://rinkeby.etherscan.io/address/0xd6e8be3a4c0dcaa6430b3de9549591ee0f3ec21c#code#F1#L32

  2. The “capture” function . When you mint the NFT your wallet will be registered as the owner on the blockchain - there is no difference than a regular NFT collection. The thing is, that the smart contract always has full control over the owner information (it is a variable in the contract). The capture function will check if the amount of Eth sent is higher than what was paid before and if yes will set the token owner to the new wallet (and the money again goes straight to the charity wallet). It doesn’t matter if you transferred it to another wallet. This is here: https://rinkeby.etherscan.io/address/0xd6e8be3a4c0dcaa6430b3de9549591ee0f3ec21c#code#F1#L35

This is in the nature of the NFT smart contracts - the code of the contract can do anything with the tokens as long as this functionality is implemented. Most NFT collections of course don’t implement these functions and smart contract code cannot be modified. What I do here is some very specific logic, that allows somebody else to “capture” the NFT, only if they pay money to charity.

These mechanics were largely inspired by what Pak and manifold are doing. For example, check out the Hate collection

Thank you :slight_smile: These are good questions you are asking. I answered how the money transfer works here: Infinite Auction for Ukraine - #6 by haltakov.

This is the beauty of smart contracts - the money transfer happens fully automatically and nobody, even the contract creator, can touch the funds. You don’t need to trust me :slight_smile: I’ll try to have some reputable organization review the code as well and post about it for people that can’t read the code themselves (it is very simple btw.).

I also fully agree that the money should go to humanitarian organizations helping people that need them and not to buy arms. I initially had the official Ukrainian Ethereum wallet in mind, but I’m not sure how the money is used there. I’ll research some more options and look at what other people have done, like the projects from Jack Butcher or jalil.eth. I’ll post the different options here and we may vote on them.

Gm, here is a small update on the project

We requested funding for this project both in the Nouns community (here) and the CrypToadz community (here). We received a lot of positive feedback and some interesting ideas from both communities. With two people already offering to fund the projects, we will now build it! :smiley:

We were thinking of a way to involve both communities in the art for the project and @ianbydesign has a brilliant idea! There will be 20 Ukraine-themed images of CrypToads wearing the iconic Nouns glasses. By spending more money for charity than the previous toad owner, the toad NFT will hop into your wallet (it will be transferred and you will be the new owner). However, the toad will drop the Noun glasses as POAP in the wallet of the previous owner so they have a memento of their donation :slight_smile:

In the next few days, we will build the project and launch it on a testnet and see this in action. We will also research to which organization we should send the donations to so that we are sure they will be used for humanitarian help.

Thanks again for the support - we’ll keep you posted! LFG!

P.S. Keep an eye on the #toadbuilder channel in the CrypToadz Discord for some sneak peeks:wink:

Great, thanks for the response.

I can suggest TGB (The Giving Block), they take eth donations and are fully focused on humanitarian aid. It’s also possible to choose individually any organizations that they have accredited.

https://thegivingblock.com/campaigns/ukraine-emergency-response-fund/

| haltakov
March 11 |

  • | - |

Thank you :slight_smile:These are good questions you are asking. I answered how the money transfer works here: Infinite Auction for Ukraine - #6 by haltakov.

This is the beauty of smart contracts - the money transfer happens fully automatically and nobody, even the contract creator, can touch the funds. You don’t need to trust me :slight_smile:I’ll try to have some reputable organization review the code as well and post about it for people that can’t read the code themselves (it is very simple btw.).

I also fully agree that the money should go to humanitarian organizations helping people that need them and not to buy arms. I initially had the official Ukrainian Ethereum wallet in mind, but I’m not sure how the money is used there. I’ll research some more options and look at what other people have done, like the projects from Jack Butcher or jalil.eth. I’ll post the different options here and we may vote on them.

1 Like

@haltakov FYI your proposal is eligible for a vote after 7 days here and a clear set of milestones.

To set it up for a vote on snapshot please see this article about how to set one up and post here when you’ve launched your snapshot vote: How to get your grants funded

Excited to see the vote go live soon, FYI it will then take 7 days to conclude.

Thanks for the support @dinfo!

I now created the Snapshot vote for the project: https://snapshot.org/#/cryptoadz.eth/proposal/0xecc4f524a7c3a70cd8e627a4e163dd625b0439055e392e6e05d3893111c5a099.

Several people proposed to fund the project directly, but I prefer to have this funded by the CrypToadz community to give the project more visibility. Everybody that offered help can still donate the money for Ukraine through the project by buying one of the NFTs.

We are now working on finishing the project. I implemented the idea with the toad dropping the noun glasses as a POAP NFT when somebody bids more for it and this works nicely. The integration with the website is now almost done as well, but it needs a bit more polish. I’ll clean it up a bit and open-source everything and post the link here so anybody can review it.

In the meantime, @ianbydesign is creating some awesome art! Here is a sneak peek of two of the toadz and the POAP glasses :slight_smile:

t1 p1

t2 p2

1 Like

Super cool idea, I just voted to support!

1 Like

Congrats on having your proposal approved! Can you send me a wallet address we can send the eth to as a reply below? Thanks!

Hey, thanks a lot! :slight_smile: We are now working hard on finishing the project and launching it. It is almost ready and I’ll provide an update tomorrow. We are looking into launching early next week.

My wallet address is haltakov.eth, but please let me first deploy the contract and I’ll provide the transaction as proof. We are only looking for funding of the contract deployment fee and we’ll know how much it is exactly only when we deploy. The 0.2 ETH is the estimated upper bound and it will likely be less.

Ok we will standby. Thanks!

Hey everybody and thanks again for committing to fund our project!

We’ve been busy building it and we are pretty much ready. We just need a bit more testing and polishing, but we have a launch date!

We will launch it officially on Wednesday, Match 30th at 16:00 UTC!

We would like to have some final feedback from the community on one topic - prohibiting sales on secondary markets. We have the novel functionality in the smart contract that everybody can get the toad NFT by matching or increasing the last donation - the NFT holder cannot block this. Therefore, selling on OpenSea doesn’t really make sense, because everybody can snatch your toad by donating. Furthermore, we want all the money from the project to go to charity and not to speculators.

For these reasons, we have blocked the listing functionality on secondary exchanges (the setApprovalForAll function). One can still transfer the NFT to another wallet, but not list it. What do you think?

And finally, here a sneak peek of the website :slight_smile:

WE ARE LIVE :rocket:

You can mint a toad and donate here. We really appreciate your support with funding the project and your ideas along the way! :pray: