Comment on page

Push SDK

Push SDK provides an abstraction layer to integrate Push protocol features with your Frontend as well as Backend
Push SDK is a growing Monorepo of packages that provide solutions for a wide range of development tasks one might come across while building on top of Push protocol. It is a Javascript-based group of packages that helps developers to:
  • Send notifications
  • Subscribe (opt-in) / Unsubscribe (opt-out)
  • Build Push features into their dApps
  • Enable Access to Push Nodes APIs
  • Render Default Notifications UI, etc
It is written in Typescript and supports React, React Native, Plain JS, and Node JS-based platforms. (We are adding support for more!).
It is also built on top of standard Web3 packages like ethers, @web3-react

Push SDK Features

A brief glance at the most imperative features of Push SDK along with the associated package and target platform.
Monorepo package
Target platform
Sending Notification
Send notification to user(s) from a channel.
UI, Server
Opting to a Channel
Subscribe to a channel
UI, Server
Opting out of a Channel
Unsubscribe to a channel
UI, Server
Fetch Notifications
Get all the notifications for a user address
UI, Server
Fetch Spam
Get all the spam notifications for a user address
UI, Server
Notification component
UI React Component to display a notification item.
Fetch User Subscriptions
Get list of all the channels a user has subscribed.
UI, Server
Fetch Channel Details
Get channel details for a specific channel address
UI, Server
Search for channel(s)
Query for channel(s) using a keyword
UI, Server
Notification View
UI React Native Component to display a notification item
Embed Notifications
UI JS based sidebar modal to display notifications of a user in a dapp.
Note: It must be noted that the Push SDK uses the CAIP format as of now, in order to provide a chain-agnostic protocol for communication between dapps or wallets.
Push SDK uses CAIP10 format but defaults to Ethereum address format, CAIP 10 format is a way to identify multichain addresses which is extended from CAIP 2. Any blockchain address becomes namespace + “:” + chain_id + “:” + account_address. However, as we expand our boundaries to multiple chains in the future, we shall define our own specifications, if need be. More details about this are in the @pushprotocol/restapi

Build using Push SDK

Learn more about the Push SDK Packages