AppCoins Protocol: Mobile Advertising

TLDR: The AppCoins protocol proposes a simplified mobile advertising model where the players are the developers (advertisers), users and app stores. The protocol ensures that the users give 2 minutes of attention to apps being advertised by the implementation of a proof-of-attention. Users are also included in the revenue share, as opposed to what happens today.

Today, the mobile advertising landscape is cluttered with so many parties and so many interactions between them that the value of the ads for the end user is currently little to none.

With multiple parties comes an increased risk of errors and fraud. Besides that, there’s very little to no transparency in the processes between user data acquisition, user data enriching, user segmentation, users-campaigns matching and serving of ads.

Processes in modern Mobile Advertising models. The flows with the ‘$’ sign represent resource-draining flows.

In each of these processes, all parties involved receive a very small cut of the cake. This is explained by a draining of resources, which means that a developer ends up paying a very high amount for a campaign, while the app store that actually shows the ad receives a substantially small amount of it. To add insult to injury, the users aren’t even involved in the process. In the end, user attention is one of the most valuable resources that isn’t being correctly rewarded in the current mobile advertising models.

The AppCoins protocol, by the use of its token APPC, proposes to create a more transparent and simple model, which yields more value for the developers and the users.

With AppCoins, there won’t be a need for the presence of so many middlemen, as the developer can directly approach an app store to set up a campaign. All other parties don’t substantially or effectively change the user experience of receiving ads for the better.

The fact that there are no middlemen nor the corresponding flows between them, also means that there are no resource-draining processes. Moreover, the protocol proposes a way to reward users for the attention they give to apps involved in campaigns.

Instead of the campaign funds being drained by all the processes between the developer and the app store, they instead are mainly directed for the user (85%) and the app store (10%).

Rewarding users creates incentives for app discovery via advertising and provides a way to include in the mobile app economy a part of the users that would otherwise not be able to participate.

In emergent markets, there’s still a significant amount of people with no access to credit cards and other forms of payments used to buy apps and in-app items. Rewarding attention creates an entry point for the aforementioned users to enter the app economy, creating value for them and more value for the existing economy.

The OEMs (5%) are also included in the revenue share of our model, as opposed to what happens today. This serves as an incentive for the OEMs to preload in their devices app stores backed by the AppCoins protocol, as they will have a share of the revenue created by the network.

The model is composed by three moments:

  1. Creation of campaigns by developers directly in app stores
  2. Impressions are shown to users matching campaigns, i.e. users see the campaigns they can convert and earn APPCs by giving attention to the corresponding apps
  3. Users get attributions by converting the campaigns they match

Campaign creation

Developers create campaigns to help promote their apps. For this, they choose which segment of users they want to target. The segments can have filters like geolocation and other apps installed. Developers also set the amount of APPCs they are willing to spend in the campaigns, as well as how much is given to each attribution, i.e. how many APPCs are paid by the developer for each time a user does the required action to convert the campaign. The protocol specifies that a conversion of a campaign occurs when a user gives attention to the corresponding app for at least 2 minutes. The developers can also set a duration for the campaigns or just let them run until the campaigns funds are exhausted.

An example of a campaign can be one that promotes app X and targets users from Europe who also have apps Y and Z installed in the past 3 months. The available campaign funds are 10.000 APPCs and each attribution costs 50 APPCs, which means the developer would expect 200 attributions.

The campaign creation process eliminates almost all the middlemen between developers and users, except for the app stores. These are needed because they are the parties that can effectively match users with the campaigns. With less middlemen, what happens in each flow and what’s done by each party becomes much more transparent and clear.


When app stores connect campaigns with users matching their filters, they show users the campaigns they can be part of and monetise by giving them at least 2 minutes of attention.


When users give 2 minutes of attention to apps from campaigns they match, they are attributed to them and are entitled to the corresponding amount of APPCs defined in the campaigns. At the same time when the users get their APPCs, the other parties also get their corresponding amounts. As already mentioned, it’s 10% for the app stores and 5% for the OEMs.

APPCs transfers in the 2-level captivation scheme.

Transactions in the AppCoins protocol are projected to be in significant amount, which means that they can’t all be done on-chain. We propose a mix of on-chain and off-chain transactions, using Raiden network for the latter.

In addition, for the advertising use case, there’s also the need to ensure that campaigns don’t run out of money before users are paid. For this, we propose a 2-level captivation scheme, where captivation wallets are used to lock funds and avoid the developer and the campaign to run out of funds.

When a campaign is created, the funds the developer wants to allocate to the campaign are sent to a 1st-level captivation wallet to ensure there’s no default risk during the campaign, i.e. there’s no possibility that the developer runs out of APPCs while the campaign is active. The transaction occurs on-chain.

When users are shown the available campaigns, the protocol has a way to avoid the risk of users converting campaigns but not receiving the APPCs they’re entitled to.

When impressions are shown, the corresponding amount of APPCs are sent to 2nd-level captivation wallets for a small period of time. This serves to ensure that if the users to whom the impressions where shown convert them, they will have the APPCs available for them. Otherwise, the scenario of having an impression shown to X users when there’s APPCs available for only Y users (with Y < X) could occur and trust in the protocol would decrease, as users wouldn’t get what they were promised.

If at the end of the small time period a given user doesn’t convert the impression, the corresponding APPCs are liberated and refunded to the 1st-level captivation wallet. These transactions to 2nd-level captivation wallets happen off-chain, to avoid transaction fees and latency, as the amount of impressions and corresponding captivation transfers are projected to be significant.

Regarding attributions, like transfers occurring during impressions, the payment of APPCs to users, app stores and OEMs also occur off-chain, since the amount of transfers is projected to be significantly high.

For example, for a single campaign targeting 1.000 attributions, it will generate 3.000 transactions between 2nd-level captivation wallets and users/app stores/OEMs.

The protocol proposes solutions not only to the middlemen and resource-draining problems but also to problems related with fake users participating in campaigns, users faking attributions and double attribution to the same user.

These problems exist today and constitute fraudulent behaviour, which contributes to the lack of trust. Effectively, all these problems represent a resource-draining flows that aren’t caused by middlemen in the models.

In the case of fake users (bots) participating in campaigns, it’s common to have farms of machines with programs trying to pass themselves by real users to collect attributions. This is a more prominent problem when the action required for an attribution is easily faked, such as installing an app. The protocol proposes that users are identified by their public information(wallet addresses, transactions) as well as their network fingerprint. It should be noted that this type of identification doesn’t compromise the real identity of the users, no more than analysis the wallet transactions does. It’s only a way to identify patterns and correlate them with known undesired ones.

The problem of users faking attributions is tightly linked with the fake users problem, since this is what fake users are created for. In addition to the identification of users, the protocol implements a proof-of-attention (PoA) that proves a certain user gave attention to an app installed through a given app store. This proof is publicly available and easily verifiable, meaning that the developers can check if users did in fact get the correct attributions, should they suspect of dishonest behaviour by the app store or the users.

The PoA will rely in information collected at the device level, as well as in the anonymous identification process of users already described. The latter part is especially important because devices are insecure by design and can be tampered with, which means that the protocol can’t rely only on data provided by the device.

The data collected at the device level comes from the OS itself, since it provides information about:

  • Which apps are running in the foreground
  • If the device is unlocked or not
  • If the screen is on or not

Every application has to be signed by the developer before being installed on an Android device. App stores have access to the apps signatures and can validate by confirming whether they match with the signature on their servers. If the signature does not match, the app may have been tampered.

Mobile advertising is a complex space with a significant amount of parties involved. We believe that the added value for the user isn’t proportional to the number of parties and that for the developers advertising their apps, it would be better if the ecosystem was leaner, more transparent and efficient. The AppCoins protocol aims to increase the value proposition for the developers by simplifying the advertising process and taking out the resource-draining flows. Also, it proposes incentives for users to be part of the app economy, thus increasing its own value and generated revenue.

Double Attributions

The PoA and the anonymous identification of users contribute to avoid the scenario where the same user is attributed more than once to the same campaigns, since each attributed is stored in the blockchain and can be publicly verified by anyone. This will prevent campaigns from being resource-drained, thus allowing them to reach more users.

Final Remarks

Mobile advertising is a complex space with a significant amount of parties involved. We believe that the added value for the user isn’t proportional to the number of parties and that for the developers advertising their apps, it would be better if the ecosystem was leaner, more transparent and efficient. The AppCoins protocol aims to increase the value proposition for the developers by simplifying the advertising process and taking out the resource-draining flows. Also, it proposes incentives for users to be part of the app economy, thus increasing its own value and generated revenue.

For more detailed information about the AppCoins protocol, please refer to our white paper.

Originally published at on November 8, 2017.

The first ICO serving 200 million users to create a trusted economy without intermediaries. Supported by Aptoide App Store. Learn more:

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store