On/offchain User/Wallet holder Notifications

Just quick question, does we have any user notification for every onchain activities yet? For example if i got new staking rewards, the dapp will email me about that or send me a push notification to my iphone

Thanks

P/s

I found web3alert but its sucks and still not completed yet

1 Like

Polkassembly offers notification updates for Governance & Polkasafe does so for Multisig transactions.

No complete solution yet, but we are looking into this! :slight_smile:

Thank you @Thebicsam for bringing this to the forefront;

I have build before a Proof of concept for such a tool that I am refactoring at the moment. I can explain some more below, share some results that I kept from the proof of concept, and maybe can get some feedback if such a tool is useful for the ecosystem.

The vision

The importance this project, to me,is three-fold, separated in 2 categories (User and dApp/Network related):
a) (User category) A way for the user to understand that his account is “active” and things are happening behind the scenes, when exchanging, staking, and/or being in a pool; User can be informed by rewards or transfers that occur during him/her being disconnected;
b) (User category) App can act as a call-to-action for the user of the subscribed account(s); When informed through the means, one can react by returning to his/her wallet and interact based on the notification received (retrieve rewards, stake more etc etc.);
c) (Network/dApp category) App can act as a “network alert” notification system - thus a Network can be alerted (through an account) for network malfunctions or alerts that needs immediate attention (a good example is to listen to force fix action on a chain etc.);

The fully flexed vision as have been thought so far is for a user to be able by using 1 of his accounts (subscribed account) to choose through a simple UI:
a) which accounts wants to monitor;
b) which chains wants to monitor for the aforementioned accounts;
c) which methods (event, transactions) wants to monitor for the aforementioned accounts per chain;
d) which reporters wants to use for receiving notifications;

Proof of concept stage

The PoC service/app had several bugs that needed to be resolved and there were missing features but I preferred since this PoC seem to work smoothly and nicely to share the idea and some data, for gathering feedback, understanding the needs more and allowing more to reach out and participate in the testing (adding their accounts) etc.

After spending few hours on building a UI around it, the outcome was a functional PoC that one can connect a wallet, and add (subscribe) or remote (unsubscribe) his accounts from the service, see the subscriptions, start/stop the subscriptions and edit them;

The UI was dead-simple; It only contained a landing page where a user can connect extensions and accounts:

Once user chose the account that wanted to be subscribed with, then moved to a “settings” page where could choose which accounts wants to monitor, which chains wants to monitor for the aforementioned accounts, which methods (event, transactions) wanted to monitor for the aforementioned accounts per chain, which reporters wanted to use for receiving notifications:

The service was running on a simple droplet in digitalOcean, and due to the limited resources (1 regular Intel vCPU, 2 GB Memory and 2 TB of transfer), the signups and edits were disabled; It was monitoring approximately 6-7 accounts of users that I asked and wanted to participate in this early stage, in the following networks, Polkadot, Kusama, Westend, Rococo, Karura, Khala. Based on very primitive and simple counting in that period it has sent more than 100 notifications to those accounts;

Below can be found the statistics of the service running in the droplet for the PoC period:

Notifications were sent to email, telegram and element/matrix providers with a thinking of extending maybe to other message services;

Email:

Element:

Telegram:

PoC case - Under consideration:

Costs of infrastructure:

As mentioned above the service is running under a simple droplet of DigitalOcean. The usage of PolkadotJS API for monitoring the chains has proven that it has extra memory needs and abnormal closures of the API - but when integrated a smoldot light-client it looked like these issues were resolved; It is still not production-ready concerning Smoldot integration for the well known clients (Polkadot, Kusama, Westend, Rococo) - but if done properly it will for sure reduce theses costs;

API usage:

As mentioned PolkadotJS Api is used which seems to face some issues with abnormal closures - maybe to the long-open web-socket. As per logs, it shuts down approx. every 18-24 hours; I need to dig deeper for resolving this, and I would like also to integrate the new Polkadot API since its light client first and for checking the performance; DigitalOcean resumes automatically the service when WS shuts down abnormally, and an implementation of an sqlite3 filebased db “keeps” the accounts and the settings; From that SQLITE the app resumes the notification service for all these accounts;

Security and abusing the service:

There is a lot of thought I have put on this, and yet it is not enough and do not have a declarative answer for each single security issue; Concerning security there are plenty of actions that can be taken in order to protect user’s data and make this service decentralized, since as of now it is not;
Concerning abusing the service: see below on the “fees” that this service could cost in order to address the “overusing” of the service from accounts;

An extra idea - in order to cover the infra expenses (and disallowing people “just using” the service - thus increasing the costs) - is to add a minor fee for the subscribed account. This fee can be as high as 0.01 DOT (0.05 EUR per account/per watching addresses/per day) and adjust based on DOT price in order to stay in a low level (e.g. if DOT moves from 5 EUR → 50 EUR on a bull market, the fee should decrease);

Pros & where it could go from here:

It can help users understand how to connect their accounts, and to see the “interactions” that these accounts have with the chain through notifications; By making the notifications more user friendly and introducing tips, and links for the users I can verify this app to be a constant “integration” between users and networks, even when users are not logged in to their favorite apps; E.g. a “stake rewards notification” can bring the user back to the dashboard in order to interact with it; a “new vote begun” for Governance can do the same etc etc;

It can help teams/networks to identify issues on the chain instantly and act upon specific notifications;

In the future, more providers can be integrated, in order to deliver notifications through more platforms/channels than just the ones mentioned here such as e.g. Signal, Whatsapp, normal SMS, FAX(?) etc etc

Conclusion

This PoC showed to me that this is a really helpful product that can benefin people and teams in the ecosystem, for low cost (just covering infra).
It would be great to hear feedback on the above and open a discussion around such a case

Thank you.

3 Likes

Thanks @wirednkod for the post, it is very detailed and absolutely it is a cool concept, it matched my idea as well. Do you plan to build this soon or need help to build it?

Nice day bro!

1 Like

Notify me looks cool and very thoughtfully designed – what bothered you about web3alert exactly?

1 Like