HandShake - A gasless, secure and more reliable way of token and NFT Transfers, Ensured by mutual consent

Project Name: HandShake - more secure and reliable way of token transfers, Ensured by Mutual Consent

Project Track: Builder

Team Name: HandShakers

Team Member(s): 2 @nicolas @MirandaKing

Devpost Project Link: HandShake | Devpost

Project Goal: The main goal of the HandShake Protocol is to make token transfers especially safe and secure, no matter how big the transaction. Before any tokens are moved, both the sender and the recipient have a chance to double-check and agree on all the details. This step is like a mutual thumbs-up — it ensures that everyone’s on the same page, and it prevents mistakes like sending tokens to the wrong place or to an inactive account.

With HandShake, you can relax knowing that every transaction is double-confirmed. It’s perfect for when there’s a lot at stake and you need that extra layer of security. Just a simple and secure way to handle big token transfers without any hassle.

Our Goal For Season 7:
In this Season,we are posting our project again in the builder track. Our primary goal is to elevate the HandShake Protocol by enhancing user engagement and expanding its utility. We aim to successfully implement our sponsored transaction model, creating a win-win scenario for users and marketers alike. By introducing this feature, we hope to attract a wider audience and make token transfers not only secure but also rewarding. Additionally, we plan to finalize our NFT transfer capabilities, empowering users to trade digital assets effortlessly. Our vision is to cultivate a vibrant ecosystem where every transaction adds value, ensuring that HandShake becomes the go-to platform for secure and engaging token exchanges.

Updates:
In this new version, we are upgrading the project to focus more on sponsored transactions. Our sponsored transaction model allows both parties to benefit: users will need to watch a promotional video provided by our platform in collaboration with third-party marketers to facilitate the transaction. Additionally, we are enhancing the protocol to support the transfer of NFTs, further expanding its utility.

Prev Season and Post-Hackathon Progress:

We were glad to win the first prize in the DeFi category, thanks to the judges and community members. However, we recognize that many people still do not fully understand the value of our project, and we aim to onboard more users. We are currently improving the project UI, as we believe there is a significant user base that are going to use this product . In this season, we are introducing exciting features that will attract more users to our product, particularly focusing on sponsored transactions—who doesn’t love free transactions? With this aim, we want to make transferring tokens more secure and accessible to everyone. We are also implementing an NFT transfer feature with the help of HandShake.

Project Value: Why HandShake Protocol Stands Out:

  1. Peace of Mind with Double Confirmation: The HandShake Protocol isn’t just about sending tokens—it’s about sending them the right way. Before any tokens change hands, both the sender and the recipient check and agree to the details. This double confirmation process means you can always be sure that your tokens are going exactly where they should, reducing errors and enhancing security.
  2. Flexibility in Gas Payments: One of the biggest hassles with traditional token transfers is the gas fee—especially if you don’t have enough in your wallet at the right time. HandShake changes the game by allowing the gas fee to be paid by the sender, the recipient, or even a third party. This flexibility means that transactions can go through smoothly, no matter who is footing the bill.
  3. Ideal for Both Big and Small Transfers: Whether you’re dealing with a huge number of tokens or just a few, HandShake makes the process straightforward and secure. It’s designed to handle transactions of any size with the same level of care and precision, ensuring that everyone, from individual users to large organizations, can benefit.
  4. Boosting Transaction Security: In the world of digital tokens, security can’t be taken for granted. HandShake boosts your transaction security by requiring active participation and verification from both parties involved. This not only prevents funds from landing in the wrong hands but also confirms that the recipient’s account is active and ready to receive, which is crucial for maintaining trust and reliability in digital transactions.
  5. Enhancing Trust in DeFi: By ensuring that all transactions are mutually verified and agreed upon before they are executed, HandShake builds a stronger foundation of trust in decentralized finance (DeFi). This trust is essential for the growth and widespread adoption of DeFi platforms and services.

The HandShake Protocol adds immense value by addressing key pain points in the token transfer process, making it safer, more flexible, and more reliable for users everywhere. This approach not only enhances user experience but also fosters a more trustworthy and secure ecosystem for digital transactions.

Project Info -

HandShake Protocol leverages the EIP-712 standard, which allows users to see clearly structured data when signing transactions. This clarity ensures that all parties understand exactly what they are agreeing to, enhancing trust and security in decentralized transactions.

Project Website:

Testnet: Testnet link :this site has the latest features.
Mainnet: Mainnet link

Project Test Instructions:

Step 1: Visit the Site and Connect Your Wallet

  1. Open your preferred web browser.
  2. Enter the URL of the project site to navigate to the homepage.
  3. Locate and click on the “Connect Wallet” button. This is typically found in the top right corner of the webpage.
  4. Select your wallet provider (e.g., MetaMask) from the list.
  5. Follow the prompts to authorize the website to access your wallet. Ensure that the connection is secure.

Step 2: Access the Dashboard

  1. Once your wallet is connected, click on the “Dashboard” link, located in the top right corner.
  2. On the Dashboard, you will see an overview of all transactions associated with your connected wallet.

Step 3: Initiate a Transaction

  1. Locate and click on the “Initiate Transaction” button on the right side of the dashboard.
  2. A form will appear asking for transaction details. Fill in the necessary fields such as amount, recipient address, and any relevant notes.
  3. Review the details and confirm the transaction. This action will trigger MetaMask to display the transaction for approval, showcasing the EIP-712 formatted message.
  4. Approve the transaction in your wallet to proceed.

Step 4: Review and Sign the Transaction

  1. Navigate to the the receiver side if you are sending to you own different address or ask the person to sign the transaction which you have initiated the transaction.

Step 5: Verify the Signed Transaction

  1. Connect back to your address from which you had initiated the transaction where you can see all transactions waiting for final approval.
  2. Locate the transaction you have been working on. It should now show as being signed by both parties.
  3. Click on the “Execute” button to finalize the transaction.

Step 6: Confirm Transaction Success

  1. After clicking “execute”, your transaction should be processed. A confirmation message or transaction receipt will be displayed.
  2. Verify the transaction details in your wallet and on the blockchain to ensure everything matches and that the transaction is successfully recorded.

Project Details:
Handshake_pitchdesk.pdf (369.0 KB)

HandShake Protocol: How It Works and Innovates

Initiation by Signature:

HandShake Protocol begins with the sender initiating the transaction. Instead of immediately triggering a transfer and incurring gas fees, the sender signs a digital proposal using their private key. This signature effectively states their intent to send a certain amount of tokens to a specified recipient.

Recipient’s Consent:

Upon receiving the notification of the proposed transfer, the recipient reviews the details carefully. If they agree to the terms, they too provide their signature as a form of acceptance. This dual-signature approach ensures both parties are fully informed and consenting before any tokens are moved.

Using EIP-712 for Enhanced Security and Clarity:

A standout feature of HandShake Protocol is its integration of EIP-712, a standard for typed structured data hashing and signing within Ethereum. EIP-712 allows the data involved in these transactions to be structured clearly and securely, which is particularly beneficial in a protocol like HandShake. When users are prompted to sign a transaction, EIP-712 ensures that what they see is not just a confusing hash but a readable, structured summary of the transaction details. This clarity helps prevent mistakes, enhances user understanding, and builds confidence in the safety of the transaction process.

Completion and Gas Fee Flexibility:

Once both signatures are collected, the sender can proceed to finalize the transaction. This step involves the actual transfer of tokens, which now can be done knowing both parties have agreed to the terms. HandShake Protocol also offers flexibility regarding who pays the gas fee—be it the sender, the recipient, or another party. This feature is particularly useful in scenarios where the original sender may not have sufficient funds for the gas fee at the moment of the transaction.

On-Chain Verification:

All signatures and consents are verified directly on the blockchain, providing a secure and tamper-proof system. This verification ensures that all parties are legitimately agreeing to the transaction, which is crucial for maintaining integrity and trust in the transfer process.

Why EIP-712 Matters Here:

Leveraging EIP-712 significantly enhances the user experience by making what you are signing clear and understandable. For a process that relies heavily on mutual consent and understanding, such as in HandShake Protocol, having a transparent and straightforward method of displaying transaction details is invaluable. This use of EIP-712 not only aids in user comprehension but also plays a critical role in security by reducing the risk of fraudulent or mistaken transactions.

By leveraging advanced features like EIP-712, HandShake Protocol not only modernizes token transfers but also addresses key issues of security, consent, and flexibility, making digital transactions more reliable and user-friendly.

New Feature - Sponsored Transactions:

In this updated version, HandShake Protocol introduces a sponsored transaction model, where users can engage with promotional content from third-party marketers. To facilitate a transaction, users will need to watch a video provided by our platform. This feature creates a win-win situation for both parties involved, enhancing user engagement while supporting marketing initiatives.
By leveraging advanced features like EIP-712 and the new sponsored transaction model, HandShake Protocol not only modernizes token transfers but also addresses key issues of security, consent, and flexibility, making digital transactions more reliable and user-friendly.

Smart Contract links:

Contracts
https://github.com/MirandaKing/handshake/blob/b72eb3b7bdb1272cc029f81255d4c4783fd0da55/contracts/handshakeV2.sol#L10

Testnet Contract Link with NFT Transfer Feature And Gas-less transfer
https://testnet.bttcscan.com/address/0xF38B64E2FA2eD1Bc9A80Cd3c4F5AF4ABEC909c17

Mainnet Contract Link with NFT Transfer Feature And Gas-less transfer
https://bttcscan.com/address/0x7fB0E393a6dBA3B9945ACFdD1145d96d493c7310#code

Project Milestones

Milestone 1: Feature Development Initiation
Date: August 10 - August 20, 2024
Tasks:

  • Set up the development environment. :white_check_mark:
  • Outline new sponsored transaction features. :white_check_mark:
  • Identify tokens that can be used for Featured Transactions. :white_check_mark:
  • Add functionality for users to choose between sponsored or normal transactions. :white_check_mark:

Milestone 2: Redefining Homepage
Date: August 21 - August 30, 2024
Tasks:

  • Design a new homepage layout to improve user experience. :white_check_mark:
  • Highlight new features for better visibility. :white_check_mark:
  • Create wireframes and prototypes for the new design. :white_check_mark:
  • Ensure mobile responsiveness of the homepage. :white_check_mark:

Milestone 3: Implementation of New Features
Date: August 31 - September 10, 2024
Tasks:

  • Develop the sponsored transaction model, including promotional video requirements and NFT transfer capabilities. :white_check_mark:
  • Create new API’s for NFT Transfers :white_check_mark:
  • Create new API’s for sponsored Transactions :white_check_mark:

Milestone 4: Smart Contract Development
Date: September 11 - September 20, 2024
Tasks:

  • Create smart contracts for the new NFT feature. :white_check_mark:
  • Write test cases for smart contracts to verify functionality. :white_check_mark:
  • Optimize smart contracts for efficiency and gas usage. :white_check_mark:
  • Prepare deployment scripts for the smart contracts. :white_check_mark:

Milestone 5: Testing New Features
Date: September 21 - September 30, 2024
Tasks:

  • Deploy the contract to the Testnet. :white_check_mark:
  • Integrate the NFT transfer with the Front-end With EIP-712 Signature and the API created for NFT transfer :white_check_mark:
  • Identify and fix any issues or bugs. Ongoing

Final Milestone (Mainnet Deployment)
Date: October 9 - October 31, 2024
Tasks:

  • Deploy on the mainnet. :white_check_mark:
  • Integrate Deployed Contract with Mainnet Site
  • Conduct a final review of all features before launch.
  • Ensure all new features are fully functional and user-friendly.
26 Likes

Welcome to hackaTron S7. It’s good to have you in this season of the hackathon which shows that you didn’t abandon the HandShake that we gave to you in the previous season :grin: Your post submission is so detailed and it covered some of my questions like what you have achieved since your last participation in the hackathon, what you’re bringing new to your project, etc. But there are areas I would still need to ask questions on.

Firstly, you mentioned that you intend to make token transfers to be rewarding and I would like to know how this will be achieved. How are users going to earn from token transers and what will they earn?

Secondly, you are implementing a sponsored transaction model that allow users watch promotional videos to make transactions which I assumed to be gasless. That will be a great feature in your project but in order to serve its purpose, how do you ensure that the users doesn’t get burn-out with these promotional videos?

Finally, for someone who won’t like to watch the promotional videos and want their transactions on-the-go, will the user be able to opt for an on-the-go token transfers thereby giving users control to choose which option they want for their token transactions?

4 Likes

Oh wow, without further ado you need no introduction, I’m just amazed that you returned with same entry as the previous season, what changed this time actually?

2 Likes

Sure! Here are two questions about the HandShake Protocol:

  1. How does the double confirmation process in the HandShake Protocol enhance security and trust between the sender and recipient?

  2. What are the potential risks of not implementing a confirmation mechanism like the one in the HandShake Protocol when transferring tokens?

4 Likes

Hello @manfred_jr . Thank you. For this season we are focusing more on sponsered transaction which allows a user to tranfer their token without paying any fees. We want to attract more users. We are trying to implement a model by which users can choose to pay or do a sponsered transaction. If they opt for sponsered transaction then they will need to watch an ad or a promotional video which a third-party will integrate with handshake so our protocol will execute the transaction on behalf of the user. We are also upgrading our smart contract to allow NFT transfer with Handshake model. Hope I have answered your question :slight_smile: .

2 Likes

Hey @Youngyuppie . Thanks. I would like to answer all your questions in one go. By rewarding i mean that the user will get to transfer the token for free. Maybe. I didn’t write it correctly :sweat_smile:. Secondly we would not force the user to watch the video they can choose between it. If they want it for free then they can watch the video and if not then they can pay for gas fees. For the last question i guess the second answer would have addressed it. Thank you​:grin:

Hello @Shangra1 . Looks like you are following our project from this season only. Glad to have you :slight_smile: . So with the help of double confirmation both sender and receiver will know that they are interacting with each other and the amount that is being transferred is correct as per they would have agreed upon. Which will increase their Trust and secondly if system like this are not used then their is risk of sending tokens to someone else by mistake or sending a different amount which was discussed. Image a ecosystem with so much capital having a risk of typo error. Hope you get it :slight_smile:

1 Like

Good job dear
I read your hol paragharf good …

1 Like

Welcome back again to Grand hackathon S7, glad you are still here, as a winner of last seasons hackathon winner, i couldn’t find milestones achieved so far or maybe I missed it

1 Like

welcome back team, i like the idea of sponsored transactions. my question is how many videos or ads must one watch per transaction? also i like free things so is it possible to add swaps to it lol so that i can watch videos and swap tokens for free lol

2 Likes

Oh yeah, you did answer my question as I see this is particularly focused on sponsored transactions and NFT transfers.
But I got a major concern; what measures are you taking to ensure that watching ads or promotional videos doesn’t become too time-consuming or frustrating for users? Would there be any incentives for users opting for sponsored transactions beyond fee waivers?

1 Like

Can you elaborate on the sponsored transaction model and how it benefits both users and marketers?

What types of promotional content will users need to engage with to facilitate transactions?

How will the integration of NFT transfer capabilities impact user experience on the platform?

1 Like

@Nweke-nature1.com .Thank you will be updating it soon. We have Updated our smart contract code as per the new milestone and deployed to Testnet. once testing is done we will deploy them on Mainnet. also we have worked on our UI and made changes to make it more user friendly and manageable.

Hello @Prince-Onscolo . For now we have kept only one. Yes It would be possible in the near future for sure. :crossed_fingers:. We have plans to integrate it with Defi protocols like Sun swap.

@manfred_jr .For user’s I guess Ads are always frustrating unless it has some reward attached to it or getting a service for Free. we have kept that mentality in our minds and thought of this feature. we believe fee waivers will do the magic. As of now no other incentives will be provided other then fee waivers.

1 Like

@Anderson . The marketers who want to promote their content or their product will collaborate with us and give us the videos that’s need to be shown. they will also provide us the fees to promote their product which will be used for the sponsored transaction.
For NFT transfer. the user will need to load their NFT for now and provide their token ID. our platform will display that NFT and then It can be transferred with the Handshake model. Will updating it soon and providing the live site link so it would be more easy to relate to what I am saying.

Can you explain how the sponsored transaction model will work? What type of promotional content will users need to watch?

How will NFT transfers work in the HandShake Protocol? Are there any specific rules for these transactions?

2 Likes

How blockchain involve in authentication?

2 Likes

Welcome to the Hackathon of season 7, I have read your whole project and I like it, please tell me will there be a option where you can block the ads because we all know how some ads can be annoying, thank you

1 Like

Hello @JOHNY . It would be around different web3 protocols who wants to market their product. For NFT transfer, we will have the same model which is their for Tokens. The user will come to the Platform choose between send ERC20 or NFT. he will add their token ID and contract address and then do a EIP712 sign that he want’s to transfer that NFT to someone. the the other person will acknowledge it by doing an EIP712 sign from their end and then the sender can execute the transaction. Our New UI is almost ready. really exited to share it with you all. Will update you once it is ready.

4 Likes