Verus Logo
Truth & Privacy for All
Hero background - light

Realize yourDREAM

A new application model for user-owned identity, data, and money

DREAM application model illustration
  • DREAM: The Decentralized, Rights-preserving, Encrypted Application Model.
  • Choose how you identify: Use the same VerusID across several apps, or different VerusIDs for different roles and purposes.
  • Keep app data encrypted: Apps can keep encrypted records on your devices or sync them through a service that does not have the material needed to read them.
  • Review requests in the wallet: Your wallet shows each request for sign-in, an identity update, a payment, encryption, or data access before you approve it.
  • Approve payments without giving the app custody: A payment can be part of the same wallet request, while the funds remain under your control until approval.

What changes for applications

Many apps create and manage user accounts, store readable user data, and rely on separate payment providers. DREAM gives applications a structured way to request sign-in, payments, identity updates, encryption, and data access through a compatible Verus wallet.

The user chooses which VerusID to use and reviews the requested actions in the wallet. After approval, the wallet returns a signed response, which the application verifies before continuing.

Applications still run their own interfaces, servers, and business logic, and decide how and where data is stored. They can keep records encrypted without requiring servers or storage providers to hold the material needed to read them. DREAM reduces the need for applications to control user identities, hold user funds, or store readable private data.

What DREAM applications can look like

The Verus community is putting the model into practice. The two applications below are in development, but they already show how the same wallet-based approach can support very different products: a social app with identity and payments, and a private notes app with encrypted sync.

VerusSky: social identity and payments in one app

VerusSky is a social app in development by Mike Toutonghi, lead developer of the Verus Protocol. It is a Verus-enabled layer on top of Bluesky rather than a separate network. People can continue using their existing Bluesky account, profile, posts, follows and conversations, while VerusSky adds VerusID and direct payments.

Users can approve sign-in through a Verus wallet and link a VerusID to a social profile. The app checks a signed proof before showing the VerusID on that profile, giving other people a way to verify the connection. Linked profiles can accept donations through VerusPay, while creator subscriptions can connect ongoing support with access to content.

It fits the DREAM model because identity and payment approval remain with the user. VerusSky can verify who approved a request and help two people make a payment, but it does not need to hold the sender's funds or decide on their behalf.

VerusSky donation interface

Verus Notes: encrypted notes unlocked with your wallet

Verus Notes is a native desktop notes app with folders, search and a Markdown editor. The experience is familiar: people write and organize notes on their own computer, and can choose whether individual notes should also sync to the cloud.

The Verus wallet unlocks the user's private vault. Notes and folder information are encrypted on the device before they are saved or uploaded. If cloud sync is enabled, the service receives encrypted records rather than readable content. Anyone who restores the same wallet from its seed on another device and approves the same encryption request can download and unlock those records.

It fits the DREAM model because the app provides useful editing, backup and sync features while the wallet controls access and the cloud stores no readable copy. The user chooses when to unlock the vault, what to sync and whether to remove the cloud copy.

Verus Notes encrypted note editor

How a DREAM request works

The app creates a request

The request describes the actions and where the wallet should return its response.

The user reviews the request

The wallet shows the requested actions and asks the user to approve or reject them.

The app verifies the response

The wallet returns a signed response, which the app verifies before continuing.

What DREAM means

DREAM stands for Decentralized, Rights-preserving, Encrypted Application Model. Select a letter to see how each part shapes the way an application works.

Identity and value are verified through Verus protocol rules. The application can request an action without becoming the user’s identity provider, payment intermediary, or data custodian.

What the application needs to hold

DREAM reduces the identity, funds, and readable private data an application needs to hold.

Identity

Typical custodial app

The app creates the account and controls recovery.

DREAM app model

The user brings a portable VerusID and chooses what to share.

Data

Typical custodial app

The server stores records it can read.

DREAM app model

Encrypted data can stay with the user, on a server that cannot read it, or with their VerusID.

Payments

Typical custodial app

A payment processor sits between the user and the app.

DREAM app model

The wallet can approve payment in the same application request.

Permissions

Typical custodial app

Consent is spread across settings, sessions, and terms.

DREAM app model

The wallet shows the request before the user signs.

Content attached to a VerusID is recorded on-chain. Encryption can hide the contents, but not the identity update itself.

Build apps users can own

DREAM applications use two TypeScript libraries. Start with verusid-ts-client for the request and response lifecycle. Use verus-typescript-primitives when you need to construct the envelopes, deeplinks, and individual actions inside a request.

These source files also give an AI coding agent the request types, validation rules, and examples it needs to help map a DREAM integration.