Inspiration
Constant calculation about the transaction fees when buying something in crypto that you need immediately inspired us to develop a no-customer fee system that will provide transferring money efficiently from your wallet to PolyCard - your digital crypto debit card. The goal was to use ideas similar to the existing card system in the real world and to liberate customers from paying the transaction fee rather than have that precalculated and included in the service price (fixed amount determined by the seller).
What it does
Polycard allows you to transfer Matic tokens from your wallet within seconds to your PolyCard account. Also, it allows you to simply scan the price of the desired product by its QR and receive all the information needed to do the transaction: Contract info from the seller, service/product ID, and price. By this, we are sure that there is no way to double spending and request more money than we agreed on, and it is also time bounced. Once the transaction is signed by PIN, the seller sends a QR code and takes the money from the account.
How we built it
We deployed two types of contracts, one for the buyer, called Account, and one for the seller, called Store.
When the buyer creates an Account, they submit the address of a keypair, which will be used for approving transactions (also known as a Card). The user interface automatically generates this key for the user and displays a QR code they can scan on their mobile device to store it. Along with the address of the card address, the buyer can also send an amount of MATIC tokens to have funds in their account.
On the seller’s side, they create a Store contract with an encoded name of their store. The encoded name is a base-64 encoding that enables them to save the name of their store on the contract. The wallet that created the Store contract is considered the Store Owner. This wallet will receive all of the proceeds from the transactions.
Challenges we ran into
- How to time bounce it.
- How not to request more than allowed spending and less than allowed spending.
- How to prevent double-spending.
Accomplishments that we're proud of
It works, and it is a seamless transition for the users that already use payment applications, such as Apple Pay or similar.
What's next for
The next feature we are eager to develop is an option to locking the funds until waiting for fr better traffic conditions (transaction costs)
Log in or sign up for Devpost to join the conversation.