Multi-chain Web3 notification platform that bridges onchain events to email, SMS, Telegram, Discord, browser push, and in-app inbox. Provides a TypeScript SDK, white-labelable React components, and an Admin Portal for templates, parsers, and audience management.
- 01cross-chain user notifications
- 02email + SMS bridges from onchain events
- 03white-label notification inbox UI
- 04DAO / DeFi user comms across EVM + Solana + Aptos
- 05Telegram / Discord integration
- pnpm add @notifi-network/notifi-frontend-client @notifi-network/notifi-react
- pnpm add @notifi-network/notifi-node # server-side sends
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_NOTIFI_TENANT_ID | Client | Notifi tenant (dappAddress) issued in the Admin Portal. Identifies your dapp to the SDK. |
| NEXT_PUBLIC_NOTIFI_ENV | Client | Notifi environment: 'Production' or 'Development'. |
| NOTIFI_SID | Server | Server-side SID for `@notifi-network/notifi-node` to trigger broadcasts. Server-only. |
| NOTIFI_SECRET | Server | Server-side secret paired with NOTIFI_SID. Server-only. |
Use Notifi to wire onchain events into multi-channel user comms. On the client, instantiate `const client = new NotifiFrontendClient({ tenantId, env, walletBlockchain, walletPublicKey })` from `@notifi-network/notifi-frontend-client`, call `client.logIn({ walletBlockchain, signMessage })` to authenticate by wallet signature, then `client.ensureTargetGroup({ name, emailAddress, phoneNumber, telegramId })` and `client.subscribeAlerts({ alerts: [{ name, sourceType, filterType }] })`. Or drop in `<NotifiContextProvider>` + `<NotifiCardModal>` from `@notifi-network/notifi-react` for a prebuilt inbox. On the server, send broadcasts via `new NotifiClient(env).broadcastMessage({ sid: NOTIFI_SID, secret: NOTIFI_SECRET, topicName, targetTemplates, variables })` from `@notifi-network/notifi-node`.
- ⚑Each off-chain channel (email, SMS, Telegram, Discord, browser push) has its own deliverability quirks and provider dependencies — Notifi brokers them, but bounces/rate-limits flow through to your users and you cannot bypass carrier filters.
- ⚑Onchain vs offchain content: alerts and target groups are stored in Notifi's hosted backend, not onchain — losing your tenant credentials means losing the audience and template config.
- ⚑Multi-chain support is broad but per-chain — each new chain requires a parser registered in the Admin Portal before you can fire alerts from its events.
- ⚑Content moderation surface: SMS and email content is subject to carrier/provider TOS (no spammy crypto promotions, no unsolicited messaging) — get explicit opt-in or risk number/domain blocks.
- ⚑Browser push requires the `notifi-web-push-service-worker` package mounted at a fixed path and HTTPS; localhost pushes only work over `http://localhost`, not LAN IPs.
- ⚑Wallet authentication uses signMessage by default — smart-contract wallets need EIP-1271 verification configured per chain or login will fail silently.