data-book="docs" @futureverse/sylo-notifications-sdk | The Root Network
Skip to content

3.108 @futureverse/sylo-notifications-sdk ​
At a glance
What it isThis SDK provides utility functions for broadcasting and subscribing to Futureverse Notifications sent over the Seekers Node Network.
Where it sitsPart III — Reference · Chapter 3.108
CoversTechnical notes · Upstream README
Package@futureverse/sylo-notifications-sdk

Broadcast / subscribe to Futureverse notifications over Sylo nodes.

Published by Futureverse

This package comes from Futureverse, the maker of FuturePass, its sign-in and custodial-wallet product. Its signing, account and token services did not answer, nor did the gen3labs re-hosts (checked 2026-10-10): signer.pass.online and signer.futureverse.app answer HTTP 402; login.futureverse.com, auth.futureverse.app and pass-api.futureverse.app do not resolve; futurepass.gen3labs.tech and fpsigner.gen3labs.tech refuse connections. FuturePass’s login pages answered on the same check. You don’t need a FuturePass to build on The Root Network. New apps sign users in with their own wallet — any EIP-6963 wallet app, MetaMask preferred — and talk to the chain through @therootnetwork/api and @therootnetwork/evm. If you have a FuturePass, you can move what’s in it to your wallet at https://futurepass.trn.codeology.co.nz/wallet/futurepass. The Migration playbook maps each package to its replacement.

Offline destinations

Some places this page points to did not answer when last checked:

  • github.com/futureversecom — organisation deleted (HTTP 404) (checked 2026-10-10)

The node source survives as the mirror https://github.com/marco-fv/trn-seed-public; the organisation’s other repositories have no public copy.

Version
0.0.0-pre-SM-337.5
Published
2024-06-05
License
ISC
Status
fv-published
npm
https://www.npmjs.com/package/@futureverse/sylo-notifications-sdk
Types
./lib/src/index.d.ts
Maintainers
admin-futureverse, garethdainesnpm, jcsanpedro
Depends on
chai · uuid · fp-ts · io-ts · ethers · ts-proto · monocle-ts · newtype-ts · @types/chai · @types/uuid · io-ts-types · @sylo/logger · @types/mocha · @polkadot/api · io-ts-numbers · protoc-gen-js · ts-protoc-gen · @futureverse/experience-sdk · @futureverse/sylo-protocol-sdk
Recent versions
0.0.0-pre-SM-331.3 · 0.0.0-pre-SM-331.4 · 0.0.0-pre-SM-335.1 · 0.0.0-pre-SM-335.2 · 0.0.0-pre-SM-337.2 · 0.0.0-pre-SM-337.3 · 0.0.0-pre-SM-337.4 · 0.0.0-pre-SM-337.5

3.108.1 Technical notes ​

3.108.1.1 Why use it ​

Push-style notifications without a centralised relay.

3.108.1.2 When to skip it ​

Standard webhooks/firehose suffices.

3.108.1.3 Pairs with ​

3.108.2 Upstream README ​

3.108.2.1 Sylo Notifications SDK ​

This SDK provides utility functions for broadcasting and subscribing to Futureverse Notifications sent over the Seekers Node Network. It is responsible for creating the notification object, and for serialization and deserialization. This package is a simple wrapper over the sylo-protocol-sdk. It is recommened to first become familiar with the documentation available for the protocol sdk.

Install ​

NPM

npm install @futureverse/sylo-notifications-sdk

Yarn

yarn add @futureverse/sylo-notifications-sdk

Usage ​

To use the methods available from this sdk, a protocol-sdk client must first be created.

Notification Object ​
FieldDescription
iduuid to uniquely identify this notification
titletitle descriptor
bodynotification contents
created_atunix timestamp of when it was sent
cta_labeloptional field indicating a call to action label
cta_urloptional field indicating a call to action url
tagsoptional field of an array of strings
icon_urloptional field indicating a url for an icon image
Delivering ​

A single notification can be delivered to a single ethereum address via the relay service.

ParameterDescription
clientThe protocol sdk client from which the notification message will be sent from
recipientThe ethereum address of the user this notification is intended for
titletitle of the notification
bodynotification contents
cta_labeloptional field indicating a call to action label
cta_urloptional field indicating a call to action url
tagsoptional field of an array of strings
icon_urloptional field indicating a url for an icon image
typescript
import { deliverNotification } from "@futureverse/sylo-notifications-sdk";

deliverNotification(client, to, "title", "body", ["tag1", "tag2"]);
typescript
export type DeliverError = Error | EncodingError | ProtocolError | ScanError;

export async function deliverNotification(
  client: protocolSdk.client.Client,
  to: EthereumAddress,
  title: string,
  body: string,
  tags: string[],
  ctaLabel?: string,
  ctaUrl?: string,
  iconUrl?: string
): Promise<E.Either<DeliverError, void>>;

deliverNotification returns a Either<DeliverError, void>> result type.

Broadcasting ​

A single notification can be broadcast to multiple ethereum users via the pubsub service.

ParameterDescription
clientThe protocol sdk client from which the notification message will be sent from
topictopic of the notification
titletitle of the notification
bodynotification contents
cta_labeloptional field indicating a call to action label
cta_urloptional field indicating a call to action url
tagsoptional field of an array of strings
icon_urloptional field indicating a url for an icon image
typescript
import { broadcastNotification } from "@futureverse/sylo-notifications-sdk";

broadcastNotification(client, "topic", "title", "body", ["tag1", "tag2"]);
typescript
export type BroadcastError =
  | Error
  | EncodingError
  | ProtocolError
  | ScanError
  | PublishError;

export async function broadcastNotification(
  client: protocolSdk.client.Client,
  topic: string,
  title: string,
  body: string,
  tags: string[],
  ctaLabel?: string,
  ctaUrl?: string,
  iconUrl?: string
): Promise<E.Either<BroadcastError, void>>;

broadcastNotification returns a Ether<BroadcastError, void>> result type.

Subscribing ​

This SDK is also used to subscribe to FV notifications. An application can subscribe to both delivered and broadcasted notifications.

subscribeDirectNotifications ​
ParameterDescription
clientThe protocol sdk client from which the notification message will be sent from
signalAn AbortSignal used to cancel the subscription
typescript
const notificationsSub = await subscribeDirectNotifications(
  client,
  abortController.signal
);

const next = await notificationsSub.next();
if (next.done) {
  assert.fail("Expected next value");
}

const receivedNotification = next.value;

console.log(receivedNotification.title);
console.log(receivedNotification.body);
typescript
export async function subscribeNotifications(
  client: protocolSdk.client.Client,
  signal: AbortSignal,
  logger = L.consoleLogger
): Promise<E.Either<SubscribeError, AsyncGenerator<FVNotification>>>;
subscribeNotifications ​
ParameterDescription
clientThe protocol sdk client from which the notification message will be sent from
signalAn AbortSignal used to cancel the subscription
fromThe sender of the notification
topicThe topic of the notifications to subscribe to
typescript
const notificationsSub = await subscribeNotifications(
  client,
  { sender, topic },
  abortController.signal
);

const next = await notificationsSub.next();
if (next.done) {
  assert.fail("Expected next value");
}

const receivedNotification = next.value;

console.log(receivedNotification.title);
console.log(receivedNotification.body);
typescript
export async function subscribeNotifications(
  client: protocolSdk.client.Client,
  options: {
    sender: EthereumAddress;
    topic: string;
  },
  signal: AbortSignal,
  logger = L.consoleLogger
): Promise<E.Either<SubscribeError, AsyncGenerator<FVNotification>>>;
Subscription Result ​

subscribeDirectNotifications and subscribeNotifications returns a Ether<SubscribeError, AsyncGenerator<FVNotification>>> result type. The iterator will only be returned if the underlying subscription is successful.

typescript
export type SubscribeError =
  | Error
  | DecodingError
  | ProtocolError
  | PubSubError
  | DeliveryError
  | ScanError;

Associated docs

Where else you might go from here. Following one is optional — this chapter stands without them.

SDKs & Packages
Part of — Every public @therootnetwork/*, @futureverse/*, and @gen3labs/* npm package on TRN, with status, why-to-use, and full per-package technical notes.
@futureverse/sylo-protocol-sdk
See also — The Sylo protocol sdk provides simple, and easy to use methods for interacting with the Seekers Node infrastructure.
@therootnetwork/api
See also — A utility package that complements the @polkadot/api to connect and interact with the Root Network node.
@therootnetwork/evm
See also — A utility package that simplifies EVM development on The Root Network.
Appendix E · npm package map
See also — Every published npm package in the @therootnetwork and @futureverse scopes, with one-line summaries and links to the full per-package reference.
Back matter — read in order
See also — The whole of Back matter as one continuous page, reprinted from its chapters without change.
Contents
See also — Every chapter in this book, each with the one line that tells you what you get by reading it.
Front matter — read in order
See also — The whole of Front matter as one continuous page, reprinted from its chapters without change.

The Root Network documentation and history.