over budget

Free-Commerce: sell online with ADA

$35,000.00 Requested
Solution

To build opensource, intermediary & commission-free payment integrations with ADA & native tokens which flows directly from buyer to seller.

Problem:

Enabling stores to sell goods and services for ADA requires intermediaries who have control over your money and charge fees and commissions.

Yes Votes:
₳ 87,251,518
No Votes:
₳ 25,591,027

Team

  • Video cover image
  • Video cover image

OVERVIEW We want to build integrations to enable cardano payments, using ADA or its native tokens, in any online webstore and major e-commerce platforms. For this round we will focus on the backend and developer tools which will can enable online stores to be setup and use a Free Commerce server, or integrate with a Free Commerce server provider. Our goal is to be able to release and maintain an official Shopify app, which will be immediately accessible to more than 500,000 online businesses around the world who generate 800 million dollars per minute in sales. This work has already started the source code is available on github: https://github.com/uniVocity/shopify VALUE PROPOSITION To enable the cardano blockchain to work as a free payment gateway for ADA and native tokens, and facilitate e-commerce by eliminating intermediaries between product/service providers and consumers. How it will work Here is a detailed breakdown of how it will work: first it will be free for everyone. Other than regular transaction fees on the blockchain itself, no one has to pay commissions nor fees. There's no account creation required anywhere and it works as a straight "wallet to wallet" solution:

The free commerce server doesn't have anyone's private key (from neither the shop who installs the app nor the customers). At no point the app server should have access to anyone's funds, even if temporarily. To enable payments with any cardano token, the shop will provide its public root key. Not the private key. That root key will be used to generate new receiving addresses on demand. Every receiving address will be unique. We generate shelley receiving addresses like what daedalus gives out. When a customer of a store makes a purchase, a new receiving address will be generated from the public root key and associated with the order. When someone sends a native asset or ADA to a payment address, the store owner will receive the funds directly in their wallet, to which we have no access (we don't know and don't want to know the private key) Once the total amount of the order is paid to the receiving address, the order is fulfilled and the shop can send the items purchased to the customer . With one receiving address per order we are able to determine that X amount was sent to that particular receiving address, instead of mixing funds with the whole balance of the wallet managed by the store. This also maintains privacy of the online store as one customer won't be able to see other payments the store received. In short, our solution works as a mere observer of transactions made from one or more (customer) addresses to another from the store owner (associated with an online purchase). Funds go straight to the shop owner wallet. What we already did Here is a video update on the developments already made to process online payments using cardano on Shopify:

External content blocked:

https://www.youtube.com/embed/UFeGmEiZKfA

To enable it you need to accept Non-Essential Cookies.

Challenges found During initial development of this we found a few limitations on existing wallets that can hinder larger businesses to process high volumes of sales using the blockchain. So part of the Shopify integration work also depends on an e-commerce friendly wallet for cardano which we are building. This is a desktop wallet to help online stores process payments and is not specific to Shopify. It's being built to make it easy for businesses to generate and upload public root keys (required to generate payment addresses on demand) to their online stores. The wallet will be able to pull online purchase information associated with every payment received, and will work around limitations of existing wallets that aren't suited for handling payments at scale - the BIP-44 protocol generates payment address in sequence, and expects at least one transaction every 20 payment addresses. If a website has 20 abandoned checkouts and receives a payment on the 21st checkout, the payment won't show up in your regular wallet (daedalus, yoroi, etc) - the money is not lost, but it's not accounted for until there is at least on transaction every 20 addresses generated. Our wallet aims to solve this issue and make sure high volumes of sales can be processed without any hiccups. The wallet work, along with more detailed information, is also open-source and available here: https://github.com/uniVocity/envlp-cardano-wallet Here is another video detailing why and how it will work:

External content blocked:

https://www.youtube.com/embed/cUyfRMnhrAo

To enable it you need to accept Non-Essential Cookies.

EXPECTATIONS You can check our progress on the github repositories linked below. I'll also submit video updates every time any relevant development is complete. A store owner should be able to run their own free-commerce server independently of us or anyone else. MILESTONES (Month 1) - deliver the wallet that will enable online stores to export public root keys to generate payment addresses for them, and once payments are received, it will display them correctly (as explained earlier regular wallets such as daedalus are unable to display payments where there are "gaps" of more than 20 payment addresses with no transactions) (Month 2) - A basic free-commerce server with endpoints that enable the integration with a basic sales workflow for online stores who want to test it. It will be updated frequently to incorporate adjustments and more features. (Month 3) - Better integration of the ENVLP wallet with the online store (reports, online store management, etc) (Month 4) - Free-commerce server release for any online store. We'll run a public server for any online store with no cost added. (Month 5 onward) - maintenance, monitoring and adjustments as required. IP/Copyright The entire source code of this project will be available on github under the GPL v2.0 license. FUTURE PLANS Everything we are doing here is planned to allow for easy introduction of new capabilities. The work here will later enable online payments in other platforms such as Shopify and Woocommerce - to which we will submit proposals in the future. RISK I'm counting on earning additional funding from fees collected by the SHOP stake pool, especially to keep the project going after the first year. I've tried to minimize risk by already coding an initial prototype version the proves the integration will work with Shopify. Store owners who intend to use this integration must be aware of their local legislation regarding the usage of crypto for the exchange of goods. Consumers of stores who sell goods for ADA must be aware of the risks associated with transacting with crypto currencies - there is little to no recourse in case of fraud. Transactions can't be reversed and funds can't be seized. This can be minimized if consumers purchase from reputable stores. Software development with bleeding edge technology can come with surprises that usually take a long time to overcome. I already spent a whole week to identify and solve the issue of payments not showing on daedalus - related to the 20 payment address gap mentioned above - which prompted me to begin working on the ENVLP wallet to overcome this limitation. That added at least one extra month of development time, not counting the work already done so far. I hope it will be smooth sailing from here but we can never know. METRICS Code activity can be measured from the commits on these two github projects: https://github.com/uniVocity/envlp-cardano-wallet (ready for production as a wallet backend) https://github.com/uniVocity/envlp (user interface being built on top of envlp-cardano-wallet) https://github.com/uniVocity/shopify (the integration for shopify online stores) The projects can be compiled and deployed by anyone interested in seeing how the software is working at any point during development. We will provide step by step documentation on how to build, run and test everything independently. Once the free-commerce app is available to online stores, we can obtain reports and feedback from businesses that are using the integration. ACTIVITY BREAKDOWN AND EXPECTED COST: *Assuming hourly rate of 65 USD/hour *Optimistic estimates

  • Development activities: (A) Sales database setup (7 to 10 days): allow registering order, product and customer information from multiple stores which can run on multiple platforms. We want to reuse the same back-end to process sales for multiple oline store platforms: shopify, magento, woocommerce, etc. (B) Back-end processing (30 to 45 days): e-mail sending, QR code generation, tracking of pending orders and corresponding payment addresses, conversion of dollar amount to ADA & native tokens (from multiple sources), handling expiration of orders that are not paid within a given timeframe, process discounts, handling partial payments and overpayments (C) Back-end integration with cardano-db-sync (2-3 days): create database triggers and other functions to broadcast updates in real time from the blockchain to (B) and capture payments to addresses associated with open orders created by each store. (D) ENVLP wallet development (30 to 45 days): upload public root keys to online store from within the wallet. Pull order/customer/product information fom the online store associated with each transaction in the owner wallet. Implement support for staking, sending and receiving money like a regular wallet (i.e. interact with the cardano-wallet service) (E) Build/deployment (3 to 4 days): produce scripts that produce self-contained packages ready for deployment to the servers who will run this integration (also making it easier for others to deploy and run this in their own servers) (F) Documentation (4 to 7 days): document the source code and write tutorials with the steps required for others to extend, build and deploy this solution independently. This is documentation for other developers to refer to when trying to understand the software. For examples of documentation we've already written for other software, refer to these examples: source code documentation: http://docs.univocity.com/parser/html/2.2.0/com/univocity/api/entity/html/builders/ElementFilterStart.html step by step tutorial: https://github.com/uniVocity/univocity-trader Estimates account for testing and development releases.

 

Thank you for your support!

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    d. 3 se. 24
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    d. 4 se. 3
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    d. 3 se. 48
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    d. 2 se. 16
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    d. 3 se. 14
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    d. 3 se. 19
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    d. 4 se. 59
    Darlington Kofa
0:00
/
~0:00