Ethereum has the potential to disrupt the payment industry and we want to build the foundations of an open, inclusive & decentralized payment network.
Keycard team had several discussions about this in the past weeks, especially about how Keycard can bring added value when integrated into a payment network, and we would like to open up this discussion and get your feedbacks/ideas/challenges.
As we’ll see, integrating Keycard in a open & trustless network doesn’t go without its challenges, and we will share very soon some technical proposals to try to solve them.
What are current problems of payment networks?
They are not inclusive
Whether you want to accept or make payments, you need to create a bank account, and it is up to the banks appreciation:
- 1/3rd of the global population is still unbanked and has no access to financial services (payment, credit etc.), mostly in the developing world.
- in well developed countries, it still is difficult to open bank accounts for individuals or businesses
- specific categories of businesses are refused access to payment networks
Banks and payment providers (if you want to have a point of sales, or if you want to accept visa payment online for instance) are selecting their customers. We just lived this with Status Keycard since we were kicked out by three debit card payment provider (shopify pay, stripe, skrill) just because the profile of Status corporation did not fit with their usual customers. Moreover these networks apply transactions cost that directly depend on the risk they arbitrarily perceive in one’s business.
They are slow
Sepa & Swift take 1-5 days for remittance to be effective. Visa payment take 1-3 days to hit the merchant account
They are expensive for merchants
When a merchant wants to accept debit cards, its average cost is 1.5%-3% of the amount invoiced
On top of this he can have:
- monthly cost for his bank account
- monthly cost for the payment service
- fixed fee per transaction
- rental cost for the terminal
They are tedious to set-up for merchants and users
If you are a new or ephemeral business, it can be quite tedious and long to open a bank account and get a payment terminal and the whole process takers 1 week minimum:
- open the bank account by providing all documents
- initial deposit to be made
- order, get and configure the payment terminal
Payment networks and the value of Keycard
Blockchain-based payments network need to address several issues: they need to be scalable, fast (as a merchant would you let a customer leave your shop if transaction is not confirmed or secured ?), secure, and they must incentivize by design the members of the network.
Once you’ve built a payment network that solves all those aspects, the payment network needs to offer the right interfaces to its users, and it is crucial for the success of the network to allow a good user experience to onboard the network, and then to emit or receive a payment.
We call here ‘merchant’ the receiving party, it can either be a real world shop, an online service, a dapp, or just an individual that wants to get paid for whatever service or good.
Merchants can then use different means to interface with users.
Some payment networks offer web3.js connectivity for dapps developers (e.g https://docs.leapdao.org/recipes/use-web3/), some offer end user-ready pop-ups that can be called by a web app (spankpay sdk https://spankchain.gitbook.io/spankpay/), or a merchant side app can generate a payment request QR code with amount, address, identifier of the chain to use.
Let’s focus on the experience for a merchant to sell or request payment in the physical world with the example of a chain of shops that want to offer the possibility to its customers to pay in crypto without keycard.
Onboarding a payment network without keycard (in the physical world): - the user needs to download a given compatible wallet on a app store. This wallet is indicated by the store owner since it must be compatible with the payment network. - he must then create an account on the app - he must then purchase some tokens to the store owner. The store owner can sell in exchange of cash some QR code based vouchers that can be redeemed from the user wallet.
From there, the users stores his tokens on his phone, and can pay with a QR code (user opens his wallet and scans a QR code provided by the merchant) or by tapping his phone (needs NFC enabled - a deep link opens the wallet to the right transaction to sign).
Keycard is an enabler to onboard new users in a payment network in the physical world
Keycard is re-insuring to users and encourage to onboard the network
Smartcards are the most traditional payment method, and are deeply rooted in customers shopping or customer loyalty habits. Their purpose is understood in a second, and they represent something that is easy to use and secure.
Keycard is tangible, cost effective, and facilitates marketing
The physical world is eager of physical stuff, and Keycard technology being tangible it facilitates its branding, communication, peer to peer recommendation, and marketing efforts.
Creating a payment network has to face the chicken and egg problem, where merchants need customers, and customers need merchant. Keycard can be distributed within a given network group target for free to bootstrap a payment network.
This is how the VISA network started back in 1958 with the Fresno experiment where 60’000 cards were dropped in the city of Fresno.
Keycard removes the need to download a compatible wallet to onboard
A merchant uses a given payment network (think one given ethereum side chain for instance) to receive his payments, so the user must use a wallet which is compatible with
- the payment network
- the point of sales used by the merchant (NFC if it uses NFC, QR code encoding e.g)
This need is creating friction for onboarding since a user might not be prone to go through these steps and need to be onboarded fast and easy to accept to onboard a new payment network.
Onboarding a payment network with Keycard in the physical world: - while checking out, merchant proposes to sell tokens to the user, e.g 30 xDai in exchange of 30$ of cash. These tokens are handed out to the user in the form of a smartcard. There is no user operation, other than paying 30$ in cash or Visa (can be on top of his basket of goods), to get ownership of this tokens. - the keycard is ready to be used at the shop. For instance when the user comes back he can grad some goods to purchase and just tap his keycard to pay. He doesn’t need to download a wallet to start using the payment network - the shop can propose some pod where the balance is shown when the user taps his keycards - tapping the keycard on the user’s phone shows its balance immediately, and also provides a clear link to download a compatible wallet - once the user has onboarded, he can download a wallet (e.g Status) and use also Status directly to make his payment and not only Keycard
Issues related to Keycard
Keycard comes with added value to onboard new users on the payment network, but this comes at the cost of issues to solve.
Keycard in its current form has no user interface (buttons, screen), it signs any hash of transaction that is presented when tapping.
Thus a malicious merchant dapp could:
- sign any transaction, or numbers of transactions while it is tapped without any possibility for the user to check it on the card or on the point of sales,
- save the card PIN is asked (note: therefore we believe the whole payment experience should never need PIN entry)
We are to build, in a trustless and decentralized manner, solutions to mitigate this risk of fraud, and provide enough guarantees to the end user towards protection of his funds. We will share some of the architectures we have brainstormed about in a post to come.
Some example where an open payment network can be deployed in the physical world
- Community money
Example of Bristol pound https://bristolpound.org/ In such communities, keycards loaded with the local otoken can replace EMV Visa cards in affiliates shops.
- Closed events (concert, conferences, any event)
Cards are distributed at the entrance, and all vendors accept payments with the card. The cards can come with an amount of token, and users can buy more at dedicated stand, or through teller network. Which means that users can also sell their tokens for cash at the end of the event for instance.
- For brands: loyalty payment cards
e.g Brewdog brewery. You can buy shares in the company or some kind of membership and they then provide you points to purchase beer cheaper in any brewdog bar. https://efp.brewdog.com/equityforpunks
They already ship a card to anyone who buys shares, this could become a keycard that would be accepted in any brewdog brewery affiliates to purchase beer.
- States and companies issuing stable coins (amazon libra, binance venus etc.)
They can be willing to faciliate using the use of these stable coins for real world purchase. Keycard makes sense in this scenario. Let’s imagine Walmart emits a stable coin or decide to accept Libra, they could deploy point of sales accepting Keycard payments.
What do you think?
Before we dig deep into how to solve trust issues (coming from keycard limited interface), we better be convinced of what value we’re creating bringing keycard into the payment network. So please share your thoughts !