3.108 @futureverse/sylo-notifications-sdk At a glance What it is This SDK provides utility functions for broadcasting and subscribing to Futureverse Notifications sent over the Seekers Node Network. Where it sits Part III — Reference · Chapter 3.108 Covers Technical notes · Upstream README Package @futureverse/sylo-notifications-sdk
| At a glance | |
|---|---|
| What it is | This SDK provides utility functions for broadcasting and subscribing to Futureverse Notifications sent over the Seekers Node Network. |
| Where it sits | Part III — Reference · Chapter 3.108 |
| Covers | Technical 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
@futureverse/sylo-protocol-sdk— transport
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-sdkYarn
yarn add @futureverse/sylo-notifications-sdkUsage
To use the methods available from this sdk, a protocol-sdk client must first be created.
Notification Object
| Field | Description |
|---|---|
| id | uuid to uniquely identify this notification |
| title | title descriptor |
| body | notification contents |
| created_at | unix timestamp of when it was sent |
| cta_label | optional field indicating a call to action label |
| cta_url | optional field indicating a call to action url |
| tags | optional field of an array of strings |
| icon_url | optional field indicating a url for an icon image |
Delivering
A single notification can be delivered to a single ethereum address via the relay service.
| Parameter | Description |
|---|---|
| client | The protocol sdk client from which the notification message will be sent from |
| recipient | The ethereum address of the user this notification is intended for |
| title | title of the notification |
| body | notification contents |
| cta_label | optional field indicating a call to action label |
| cta_url | optional field indicating a call to action url |
| tags | optional field of an array of strings |
| icon_url | optional 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.
| Parameter | Description |
|---|---|
| client | The protocol sdk client from which the notification message will be sent from |
| topic | topic of the notification |
| title | title of the notification |
| body | notification contents |
| cta_label | optional field indicating a call to action label |
| cta_url | optional field indicating a call to action url |
| tags | optional field of an array of strings |
| icon_url | optional 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
| Parameter | Description |
|---|---|
| client | The protocol sdk client from which the notification message will be sent from |
| signal | An 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
| Parameter | Description |
|---|---|
| client | The protocol sdk client from which the notification message will be sent from |
| signal | An AbortSignal used to cancel the subscription |
| from | The sender of the notification |
| topic | The 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;Source: https://www.npmjs.com/package/@futureverse/sylo-notifications-sdk · captured 2026-10-10
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.