NFT gift button [Grant Proposal]


We propose to fund the development & integration of the NFT gift button, i.e. anyone could decide to transfer an NFT as a gift even to a person who does not have/not want to share his or her ETH address.

Mechanic description:

We call it suspended transfer which means a gift sender will be able to generate a secure sharable link and send it to the gift recipient via any messenger or email. After that recipient could activate the transfer at any time.

The mechanic provides onboarding to NFT for new audiences who are not familiar with rarible, NFT & defi. Also, rarible could increase current users engagement.

We have already developed a working prototype during September Definition Hackathon and took a 3d prize in the Rarible track. And for the last month we designed a decentralized (i.e. with trustless) version with a smart contract.

The Implementation:

0. Backend (Rarible) creates the special contract and posts the one to the EVM.

  1. The gift sender creates a random password.

  2. The gift sender gives to our smart-contract transfer permission & small collateral to cover gas fees on the receiver side (the sender secures the actions with the random password).

  3. The gift sender notifies the backend (Rarible) about possible transfer & request for random verification code.

  4. Frontend on the sender side generates a link with information about sender, NFT from the verification code and meta provided.

  5. Receiver could use this link and the password to perform the transfer on his frontend side. The backend uses the link to match the receiver, and password verification is used inside our smart contract.

Funding Milestones and Payments

Milestone 1: 1nov → 1dec Development of the mechanic production version(backend + simple frontend). It includes contract development & verification.

Users will be able to:

create a special link to their NFT with possibility to perform suspended transfer via that link.

receive NFT via our special links even if the receiver does not have ETH address yet.

$3,000 upfront, $2,000 upon completion of the Milestone 1;

Milestone 2: 1 dec → 1 feb Promotions, Partnerships + UI/UX.

$3,000 upfront, $2,000 upon completion of the Milestone 2;

For now we have agreements about mechanic usage: 1) with small non-profit organisations as an NFT-provider of memorable badges for organisation donors. 2) with a few persons who actually want to make NFT gifts to people who don’t have any experience with it.

Dates may be subject to change, but the team will do its utmost to meet the deadlines.

Payments will be made to the following Ethereum address: 0x086B89Fcf9a964055Ba926471f3C2E7AA29D62a5

Use of Funds

The funds will be used to cover the payments to the team members and the expenses for tools, services and marketing that the team would need during the implementation. We will provide a detailed report on the use of funds upon request.

Team Members

We have built a team that worked on gift mechanic during the Definition Hackathons in Rarible track and keep working on the:

Business Development / Project Management / Design: Olga Miller Telegram: @o_kad

Blockchain Development: Sergei Miller Telegram: @sergmiller: GitHub: sergmiller

Fullstack Development: Ivan Cheprasov Telegram: @AcademyScience GitHub: AlcibiadesCleinias


Our team will attend weekly Rarible community calls and provide updates on our milestones as we make progress.

We will provide updates on our Twitter account ( and on

The source code will be stored in repositories under the NaFThalene GitHub organization

Why should Rarible DAO fund this?

Using the NFT gift mechanic will allow:

  • to solve all the problems listed above
  • to onboard on NFT non-crypto users and increase Rarible audience
  • to grow current users engagement.

Hi Serg,

Can you please provide use cases for this functionality. We’re having trouble understanding how and why someone would use this feature.

The DAO dev team is working on a similar feature without the need for a password. But we’re curious to hear the use cases for this.

1 Like

Hi Sarmad,

We have two entities - password and verification code. Verification code is stored in backend and used to prove receiver identity to backend. Password is shared ONLY between sender and receiver and it protects receiver from malicious backend. Password doesn’t allow backend to send NFT which locked in contract to any arbitrary address. So backend does not require trust.

In addition, it gives us the opportunity to develop the same functionality in a separated application, which obviously may require a higher level of security and trust.

1 Like

Ya, I think I’m more so asking what are real world scenarios you would use this in.

The only one that comes to mind is onboarding a friend that doesn’t have a wallet yet and you’re trying to get them into Web3

Yes, You are quite right. We consider use case which you mentioned as a main scenario. We made a kind of market research and found a lot of people and organizations who doesn’t know anything about NFT and would like to buy and send it as gift as a part of PR or charity donation campaign. Moreover as a mentioned in the proposal we have some pre-agreements about the mechanic usage by few small non-profit charity organizations. I could try to elaborate this point if it will be needed.


HI Serg,

Your proposal is up for voting on snapshot:

1 Like

Hi @sergmiller,

You’re proposal has been passed the Snapshot vote.

We would love to see you on community calls to provide updates as you make progress on your build.

Please reach out to @Noah or me once you’ve achieved your milestone so we can review and provide you your payment.