Open In App

Ethereum Push Notification Services (EPNS)

Last Updated : 06 Apr, 2023
Like Article

Ethereum Push Notification Service (EPNS) is a notification protocol that enables users to receive notifications. Using this protocol, any smart contract, service can send notifications to users in a platform-agnostic way.

Features of EPNS

1. User-Centric and opt-in notifications: The protocol enables users to directly control what services they get notifications from. It imposes rules on the services, including spam protection for users, limiting their ability to feature wallets as subscribers, etc.

2. Incentivized Notifications for Users: The services that want to send notifications to their subscribers should need to stake DAI. The interest earned during this process is distributed in an exceedingly weighted proportion to any or all the subscribers who have opted in to receive notifications. EPNS incentivizes both senders and receivers with usage rewards.

3. Platform Agnostic: The protocol enables retrievable information (encrypted or plain) of every notification which successively enables universal notification delivery to any crypto wallets, mobile apps, web browsers, apps, or other platforms as long as they integrate the protocol.

4. Spam score and throttling: Each channel incorporates a spam score that ranges from 0-1. Value of 0 means the channel has a wonderful score and 1 means the channel is extremely unhealthy. The range adjusts supported positive actions like the next number of subscribers, with the passing of your time while negative actions are on top of usual unsubscribers, more than usual notifications, etc. This can be guided by the protocol and at a specific range, the protocol will start throttling the notifications or perhaps stop them until the score comes back to a healthier range.

5. Governance: The protocol governance is intended to incentivize continued adoption of the EPNS protocol. This is often achieved by ensuring incentives for all the users involved by rewarding through incentives.

What Does EPNS Do?

1. EPNS allows users to form notifications that are triggered if and only when a smart contract reaches certain conditions. It allows users to receive notifications for both on-chain and off-chain activity.

2. EPNS allows users to be in full control of what notifications they receive allowing them to subscribe to or even unsubscribe from the channels that they deem fit.

3. EPNS provides the means to communicate information that can be of different types, carry different utilities, and perform different tasks as per their use cases.


1. Because EPNS are building notification services for Web 3.0 starting with Ethereum. If a user has any communication layer which requires to be built, then this EPNS protocol will help the user to build that, or as a user one can subscribe to be notified of any service which is of user’s choice, it will not be imposed upon the user, it will be user’s choice if a user wants to receive it or not and that is what the true meaning of decentralization is.

2. EPNS makes it extremely simple and easy to open and maintain a genuine channel of communication between any dApps (channels) and their users (subscribers).

3. This protocol ensures that the users will also be receiving token incentives from the notifications.

4. This protocol also assigns a content type to payloads which essentially means that the services are free to communicate whatever information they want with the users, ie sending images, call-to-actions, videos, or even encrypted transactions.

5. EPNS combines the flawless user experience of Web 2.0 apps with the security and power of Web 3.0.

Main Parts of the EPNS Protocol

EPNS protocol consists of users, who are further divided into Subscribers and Channels.

  • Service: Any smart contract that wishes to send notifications.
  • Channel: A service which is sending notifications using EPNS.
  • Subscriber: A user who subscribes to channels on EPNS for getting notifications.
  • Users: Any user who is present in the protocol checklist.

EPNS Working

To understand how EPNS works, let’s first discuss how channels send notifications to the users.

How do Channels Send Notifications?

  • Channel is a service who is sending notifications using EPNS and the EPNS is designed in a way such that Channels send notifications in the form of JSON (JavaScript Object Notation) payloads.
  • This authorizes the flexible and streamlined transfer of the notification’s data from a decentralized storage environment.
  • To send these notifications, channels have to bear a fee, payable in ETH or DAI which are a form of cryptocurrencies.

How Does EPNS Communication Layer Work?

The communication layer can be categorized into two segments:

  1. Sending Notifications: This layer comprises smart contracts(and later p2p nodes) that act like a middleware through which all notifications/communication from service to their subscribers needs to flow.
  2. Receiving and dispersing Notifications: This layer listens to our middleware smart contracts and then dispatches them forward.

These two segments allow that communication to be standardized, authenticated, and can be listened to by any cryptocurrency wallet or any mobile application.

What Different EPNS Products?

The EPNS product suite consists of the following elements:

  • EPNS Protocol: It makes sure that all notifications are prepared and sent by the protocol standards.
  • PUSH Nodes: It listens to events in the EPNS protocol smart contracts and sends the notifications to the corresponding recipients.
  • Alpha dApp: Using dApp, users can receive notifications from browsers, while channels can send notifications to decentralized carriers.
  • Mobile App: It interacts with and delivers messages from different dApps to their intended users.
  • Showrunners: These are the type of channels through which the EPNS Foundation sends notifications for the benefit of the community.

Use Cases For EPNS

The protocol is utilized by dapps to send notifications. This consists of decentralized exchanges (DEXs), decentralized finance (Defi), and non-fungible token (NFT) marketplaces and projects.

  • DEXes: DEX can send a notification when the worth of a token falls or rises. Subscribers can also set up notifications for when their trades are executed and completed, instead of having to test back to determine if trades were completed or not.
  • Defi: A Defi app can send notifications to users when they’re near to being liquidated. A Defi app can also set up notifications about impermanent loss just in case they need to chop their losses short during a volatile market.
  • Consumer Apps: Apps just like the Ethereum Name Service (ENS) and Crypto can remind users when their subscriptions are about to expire.
  • NFTs and Gaming: NFT marketplaces, on the other hand, can send notifications about specific items going live, or a specific rise or drop in the price of an NFT.

Why use EPNS?

  • Because it allows users to be in full control of what notifications they receive allowing them to subscribe to or even unsubscribe from the channels that they deem fit. It’s a proper decentralized notification protocol at its heart.
  • It provides incentives for users to subscribe to channels to achieve weighted interest from the stake of the channel.
  • Services get to satisfy their business goal to be able to reach their customers. Services can now reach their users, rather than a user visiting the service.


Any user on the EPNS protocol who activates themselves on it to send notifications is named a Channel. One may think about this to be similar to a Youtube Channel, where any user if they want to can create a channel and start posting content on their channel.

Types of Channels:

  • Open Channel- It is the default channel, this channel is created by the service and is intended to be open for any user to come and subscribe without any restrictions.
  • Closed Channel- A service can choose to create a closed channel, this channel cannot be directly subscribed by the user. Instead, the channel requires to add the user indirectly by paying a minor fee to the user.
  • Mutual Channel- It is a mixture of both open and closed channels. A service can choose to create a mutual channel, which requires user direct action to subscribe to it, but the subscription is only confirmed once the channel approves it as well.

How to Activate a Channel?

To activate a channel, follow the steps below:

  • A service must activate itself on the protocol as a one-time step before it’ll send notifications to its subscribers. When this service is activated on the protocol, they’re brought up as a Channel.
  • Whenever any user subscribes to a particular channel, they earn tokens for that. Now a question you might ask is where do these tokens come from?
  • When a channel is activated or created, the channel is required to stake fees in DAI. This is used to build a staking pool which in turn interacts with the AAVE Protocol to earn interest.
  • This interest is then distributed back to all the subscribers of the channel of that service in a weighted manner. So if a channel stakes more DAI, then it drives more users to subscribe to their channel to achieve higher interests.

What Can a Channel Owner Do?

A channel may send various types of notifications to its subscribers. There are various types of notifications provided by the protocol. This includes:

  • Direct Payload Notification: These are special payloads meant for sending directly to the protocol.
  • Broadcast Notification: It simply goes to all subscribers of a channel.
  • Secret Notification: Secret notifications are designed to be delivered to one subscriber of the channel, and are encrypted.
  • Targeted Notification: It goes to a single subscriber of a channel; the notification payload is not encrypted here.

How to Activate or Deactivate a Channel?

  • To activate a Channel, first, there is a need to stake 50 DAI or higher, which adds to the staking pool used for distributing token incentives.
  • One can also deactivate the channel by unstacking, but this involves a penalty of 20 DAI — half of it remains in the Stake Pool and the rest goes to the Fee Pool.
  • This mechanism minimizes the risks of bad actors (users, dapps, service providers) getting on board.


Limitations of EPNS

Since EPNS runs on Ethereum Blockchain Network, it also shares the restrictions of the Ethereum Blockchain Network.

  1. Scaling Issues- Unlike Bitcoin, which serves a single purpose, Ethereum is a ledger, a platform for smart contracts, and so on, which may cause flaws, breakdowns, and hacks.
  2. EPNS Investing can be dangerous- Every project can have a token just like Bitcoin or Ethereum. Similarly, the name of the EPNS token is PUSH which is available on exchanges. Investing in PUSH, like any other cryptocurrency, may be hazardous. Cryptocurrencies are extremely volatile, which makes them a very riskier asset. The price of PUSH has fluctuated a lot in the past, which might be a major disadvantage for certain investors, especially novices. Furthermore, ESPN’s fees fluctuate a lot, which is also troublesome.

Current Incentive Mechanisms Available

  • When a channel stakes on EPNS, it goes to a combined stake pool, earning interest from AAVE, which is then distributed to all subscriber wallet addresses.
  • Having an incentivized theory of games with a transparent incentive structure to encourage more people to use the protocol and buy relevant channels, despite having gas fees, seemed counterintuitive at the start.
  • But EPNS circled the scenario by devising a remarkable incentive mechanism by bringing inDefii to deliver notifications and get paid too.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads