Here we are, another major release for the AppCoins Project! We’re calling it the Ritchie release and let me tell you, it packs some great features.
This post will give an overview of what we want to achieve with the AppCoins Protocol, and how we’re doing it. We’ll do a summary of what we’ve already done with previous releases and lastly explain what the Ritchie release is all about.
This release also poses itself as a major milestone for the crypto space, as it includes the rollout of the AppCoins Protocol inside Aptoide app store. Aptoide has 35 million monthly active users, which means the AppCoins Protocol is the first crypto project able to reach this scale of usage.
What We Have Accomplished So Far
We’ve already had three releases where we built the AppCoins Protocol from the ground up.
During this time, we’ve also defined two different workflows within the project:
1.The reference implementation of the protocol and its components, done by the App Store Foundation (ASF), where there’s no third-party dependency and everything runs entirely with data stored in the Blockchain.
2. The extended protocol delivered by Blockchain Distribution Services, which is built on top of the reference implementation and aims to provide developers and users more convenient ways of interacting with the AppCoins Protocol, but still maintaining the assumption that everything should be verifiable if one goes directly to the Blockchain.
The ASF reference implementation of the protocol is composed by:
- A Blockchain layer, with smart contracts containing the logic needed to store the data in the Blockchain, which can be used later for validation by developers, or by anyone interested.
- A product layer composed of artifacts that interact with the Blockchain layer and abstract that logic to developers and users. They can still go directly to the Blockchain to validate the data stored there, but we understand that this isn’t a simple process. Hence, we provide these components to ease the creation of an ecosystem that has as its fuel the AppCoins token.
- The aforementioned artifacts are an Android SDK, a Unity plugin, and a wallet. The Android SDK and the Unity plugin enable developers to easily integrate the AppCoins Protocol Billing System and User Acquisition System in their apps, which can be directly distributed by any app store that integrates the protocol. The wallet serves for two main purposes: store, receive, and send ERC20 tokens, and interact directly with the SDK and Unity plugin to store and retrieve data from the Blockchain to be used by them inside the apps.
The BDS extended protocol brings the convenience of integration for the developers and of use to end-users. Therefore, the Android components are redesigned without the constraint of not relying on any API. We provide a Billing System that provides server-side management of items and purchases, which is the pattern developers already know from the most used billing system, which is provided by Google Play. We designed the Billing System to have the same interfaces to developers that Google Play’s billing system as, which means that migrating from theirs to ours is as simple as changing a few variables. In addition, we had to change our wallet to be able to communicate with our API, since it’s the wallet that relays data from our API to the apps and back.
In previous releases, we’ve delivered several versions of the wallet, the ASF SDK and the ASF Unity plugin with the Billing and User Acquisition Systems in different stages of development. These releases had the purpose of enabling early adopters to test the protocol’s flows, and give us feedback of what worked and what could be done better, especially in terms of friction preventing mass user adoption.
We knew Ethereum and overall Blockchain technology had several scalability issues — transaction latency, transaction fees, difficulty in acquiring ETH and APPC to use the protocol — that translate to adoption friction for users. We understood we had to find solutions to these problems that would, not only solve them but also integrate patterns users already know to make the protocol seamless to use by them.
Ritchie Release: Chattering Adoption Friction
This release is all about giving the right tools for developers to start using and benefiting from the AppCoins Protocol and giving users the ability to interact seamlessly with the apps that integrate it.
We’ve focused this release on:
- In-App Purchases (IAP) and the BDS Billing System that supports them
- Enabling payments using credit cards with Blockchain validation through the AppCoins Wallet
- Rolling out the AppCoins Protocol to Aptoide’s entire user base
The BDS Billing System
IAP within the AppCoins Protocol was already possible with the App Store Foundation (ASF) SDK, which relied solely on Blockchain tech. This restriction meant that item and purchase management had to be done exclusively in the ASF SDK and by developers. This goes against what developers are used to in the Android space, which is Google Play billing system. As we’ve already stated, we believe we need to deliver tools and flows that implement the patterns with which developers and users already know.
Therefore, we decided to build on top of the ASF billing system and develop the BDS Billing System. It already comprises the server-side management of items and purchases but still stores all relevant data in the Blockchain. This extended billing system implements the same interfaces developers already know when they integrate and use Google Play billing system. Hence, migrating from it to ours is as simple as changing a few variables. In addition, instead of relying on the Google Play app, it relies on our AppCoins Wallet to communicate with our API.
After the initial tests, we believe that developers integrating our billing system will find it very simple to use. In addition, all the transactions can be verified with our API and directly in the Blockchain, which maintains the trustless property of the ASF reference implementation.
Credit Card Payments with Off-chain Payments Notarisation
At the same time, the payment process showed to be the biggest problem of the AppCoins Protocol, since the AppCoins Wallet only allowed on-chain payments for in-app purchases using APPC and ETH for the Blockchain fees. This is the part of the protocol where the Blockchain scalability issues have the biggest impact, which meant we had to find a solution that would both fit user needs and maintain the possibility of validation by directly checking the Blockchain.
From the user’s perspective, the flow of using APPC for in-app purchases has several pre-steps:
- Users have to buy ETH (or BTC) with fiat currency in exchanges like Coinbase or Kraken. This can take several days in some cases.
- Then they need to send the ETH to an exchange like Binance that a trades ETH for APPC.
- Lastly, users need to send APPC and ETH to their Ethereum wallet address. This wallet address should be the one their using in the AppCoins Wallet.
From our perspective, users trying out the protocol aren’t willing to spend this kind of effort to acquire cryptocurrencies. If we consider users that installed an app without knowing it had the AppCoins Protocol integrated, the scenario is even more upsetting. When they want to buy an in-app item, they will suddenly find out that they need cryptocurrencies to do a simple action they’re used to do quickly. Users aren’t acquainted with this pattern.
Therefore, we’ve built support in the AppCoins Wallet to purchase in-app items using credit cards. Users can just use their credit cards and pay for in-app items as they are used to. This automatically solves the biggest adoption friction we’ve encountered so far and opens the AppCoins Protocol to a large portion of users. However, by itself, this solution breaks the assumption that developers should be able to validate the interactions between users and their apps without the need to trust any third party because these transactions are done off-chain, i.e. outside the Blockchain.
In order to solve this issue, we started consolidating these off-chain transactions in the Blockchain and have them verifiable by developers. Periodically, for each developer’s wallet, we gather all the transactions and compute a Merkle Tree. Merkle Trees are a nice and affordable way of representing large portions of data and providing a proof that someone holds that data. Once a Merkle Tree is computed for a given developer’s wallet, its root hash is sent to the Blockchain coupled with the developer’s wallet. If the developer wants to validate the transactions they have in his wallet, the developer can either ask our API for all the transactions and compute the Merkle Tree himself. In addition, he can store the transactions himself and use them to compute the Merkle Tree. Then, he can validate that the root hash sent by our system to the Blockchain is correctly computed.
We are able to maintain the verifiability assumption with off-chain transactions. This is a big step because we can then extend the solution to other methods of off-chain transactions. More importantly, supporting credit card payments shatters the biggest adoption friction for the AppCoins Protocol. It can now be opened to a wider portion of users because it finally has the capacity to scale to millions of users.
Aptoide Rolling Out The AppCoins Protocol
With this in mind, Aptoide app store is rolling out the protocol to all its user base. Both flows, IAP and User Acquisition, will be now available for every active user and new user who installs Aptoide! Aptoide currently has 35 million monthly active users and more than 200 million yearly active users. Its users come from all around the world, from United States all the way to China.
The rollout means that Aptoide is distributing apps that integrate the BDS Billing System worldwide, as well as putting an effort to highlight them to its users. This means that the AppCoins Wallet, the BDS Billing System and the APPC token finally have the ability to withstand the level of use and transactions this kind of user base can generate.
Aptoide’s move means that a crypto project can be launched to everyone, and it helps making crypto projects becoming mainstream. It helps paving the way for others as well as allowing for a more inclusive app economy, where all of its players will be able to take part in it.
If a disrupting technology works the same way for the end-user as existing solutions do, the adoption rate can be greatly increased.
If you want to try this integration, just install Aptoide and you can start testing the flows with your AppCoins!