October 29, 2019 Knowledge Center

Exploring the Monetha Platform: Action layer

Here we introduce our approach to decentralized payments system with built-in reputation scoring.

Overview

The Action layer of Monetha’s Platform is a decentralized orders processing layer based on enforceable smart contracts between the buyer and the seller (or service provider) with no involvement of a third party. It can be used alongside Monetha’s Verifiable Data layer or separately from it.

Merchants (for our purposes the term includes the providers of both digital or physical goods/services) are ​able​ ​to​ ​accept​ ​Ethereum​ ​based​ ​cryptocurrencies​.

Action layer provides the following key elements and possibilities:

– Keep the payment process ​simple​ ​and​ cost ​efficient;
– Make​ ​order processing transparent for Customers;
– Make​ it easier for Merchants to ​accept ​crypto payments​;
– Bring​ ​the​​ ​Ethereum-based​ ​​token​ ​economy​​ ​to​ ​the​ ​​mainstream.

Action layer design

The design of the Action layer resembles the escrow mechanism you would normally encounter in vending machines. There the customer’s money is held in an “escrow area” until the transaction between the customer and the merchant, which results in an item exchange, is successfully completed. If a problem occurs and the merchant can no longer process the transaction, the customer can withdraw his/her funds. If no problem occurs, the funds are released to the merchant.

Our development is driven by the following principles:

– Open-source project;
– Misuse is easily detectable;
– User and developer friendly;
– Improvements are driven by the community via proposals and other means.

Actors

Customer

A person or entity that purchases goods or services. Depending on the use case this can be an application representing an entity or person. Customers:

– Can interact with Merchants either directly through the Ethereum network or via other communication interfaces (service provider 3rd party applications);
– Do not have any particular requirements and in the majority of cases can be a simple Ethereum address;
– Receive a payback for each purchase. It is equal to 0.2% from the purchase amount in Monetha vouchers and can be used for applying discount for other purchases using Monetha’s Action layer;
– Initiate the purchase flow.

Merchant

A person or entity that provides goods or services and would like to receive payment in an Ethereum based crypto-currency. Merchants:

– Own a set of contracts representing their entity on the blockchain;
– Maintain their operations history on the blockchain;
– Trigger escrow to release funds in case of successful operations;
– Have control over refunding or canceling an order.

Monetha

Monetha’s role is to provide paybacks to Customers using the payment gateway and allow to build-up transferable reputation profile when used together with Verifiable Data layer. Monetha:

– Provides a payback to all Customers making purchases from Merchants using Monetha’s deployed and maintained MonethaGateway contract;
– Allows the application of customer discounts without the Merchant losing funds;
– Makes order processing flow transparent.

Implementation

The implementation is designed in a decentralized manner to maintain a high level of trust between the parties.

Merchant’s Contracts

MerchantWallet:
– Accepts payments for orders;
– Acts as a Merchant’s profile and fund storage after payment is received;

Source: MerchantWallet.

MerchantDealHistory:
– Stores the hash of deal conditions between the Merchant and the Customer;
– Shows a history of all transactions made by a particular Merchant;
– Enables to see the evolution of reputation points for both parties.
– The Merchant’s deal history is used as a FactProvider in verifiable-data-layer;

Source: MerchantDealsHistory.

PaymentProcessor:
– Implementation of an escrow mechanism where Customers stake their money and wait for the goods/service to be exchanged;
– The Customer can cancel the order;
– The Merchant can refund the order after it has been processed;
– The Customer can withdraw the refund after it was refunded by Merchant

Source: PaymentProcessor.

Monetha’s Contracts

MonethaGateway:
– Ensures that Monetha receives a 1.5% fee to be able to cover paybacks and discounts;
– Ensures that the Customer’s applied discount gets transferred back to him or her;
– Ensures that the Customer receives a payback of 0.2%;

Source: MonethaGateway.

MonethaVoucher:
– Allows MonethaGateway and other trusted parties to exchange vouchers into ether to return the discount amount to customers;
– Registers and tracks the amount of vouchers that are emitted as paybacks to Customers;

Source: MonethaVoucher.

MonethaClaimHandler:
– Allows Customer and Merchant to register their dispute on chain;
– Multiple claims can be created for a deal;
– Customer’s and Merchant’s MTH tokens needs to be staked for successful resolution

Source: MonethaClaimHandler.

Implementation examples

– Monetha’s payment gateway https://www.monetha.io/e-commerce
– ICO pass analyzer website
– Github repository for web application https://github.com/monetha/ico-analyzer-web-app
– Github repository for analysis function run as AWS lambda https://github.com/monetha/ico-analyzer

Repositories

– Payment smart contracts: https://github.com/monetha/payment-contracts
– Loyalty smart contracts: https://github.com/monetha/loyalty-contracts
– Payment GO SDK: https://github.com/monetha/payment-go-sdk

Token Usage and Loyalty program

Monetha MTH tokens are used throughout the Action layer and more applications are planned while using Verifiable Data layer. Current MTH token applications can be seen in the following modules.

Loyalty program
– Paybacks
– Tokenholder program
Dispute resolution

There are multiple directions how MTH tokens are being utilized in Monetha’s ecosystem. Two of the main directions are Paybacks and Tokenholder program in combination referenced as Monetha’s Loyalty program. Another MTH token application is for Dispute resolution. More token applications are to come while using our Verifiable Data layer.

Paybacks

Paybacks are being granted to all customer’s who have made an Ether payment through Monetha’s payment gateway. A customer receives a payback in Monetha Vouchers (aka MTHV). Each MTHV is backed by a MTH token. Payback voucher amount is locked at the capacity of MTH tokens staked in the MonethaVoucher contract by Monetha. A customer can then use those vouchers for discount up to 70% when purchasing through Monetha payment gateway. Monetha vouchers are valid for six months. If not used within that period, they will move back to their respective pools. Monetha vouchers are non transferable.

Tokenholder program

All people that have bought or received MTH tokens (aka tokenholders) are eligible to participate in a monthly tokenholders program. It is the program where Monetha stakes 1/3 of monthly revenue that was acquired via Monetha payment gateway and allows MTH tokenholder to ​claim​ ​for​ ​vouchers proportionately​ ​to​ ​the​ ​amount​ ​of​ ​MTH​ ​tokens​ ​that​ ​they​ ​hold.

Dispute resolution

Whenever two parties have completed an exchange of goods or services they are eligible of registering a dispute on chain in case if one of the parties is unpleased with the deal’s outcome. In order to register a dispute a Claim must be created. To create a Claim and participate in it’s resolution both of the parties must have MTH tokens present in their accounts. MTH tokens will be staked in a smart contract during claim resolution process.

Forking the Action Layer

Our implementation can be forked or similar ones can be built.

The solutions are in favor of our implementation:

– Provide a valuable and useful solution;
– Offer paybacks and discounts maintained and guaranteed by Monetha.

If you’d like to explore collaboration opportunities with us or simply ask a question, we’d love to hear from you. Feel free to shoot us an email at [email protected]

Share

Leave a Reply

Your email address will not be published. Required fields are marked *

There's more for you to read