dStorage Pro is live →

The missing privacy layer
for decentralised apps.

dStorage is an SDK that gives dApps client-side encryption, decentralised storage, and on-chain coordination — all in a single integration. Privacy becomes an architectural guarantee, not a policy promise.

See How It Works Read the Docs Get dStorage Pro
✦ Build with AIPrivacy-FirstNon-CustodialOne SDKMidnight + Decentralised StorageZero-Knowledge EncryptionManaged PaymentsPortable Keychain & Recovery
$4.9MAverage cost of a data breach
60–80%Smart contracts with off-chain data
200+Days average breach detection time
71%of countries now enforce data privacy laws — up from 45% in 2016

The Problem

Off-chain data is Web3's weakest link.

The decentralisation promise breaks the moment user data touches a centralised server. dStorage closes that gap.

Centralised Cloud Storage

60–80% of smart contracts reference off-chain data in centralised services — creating privacy liabilities that contradict the decentralisation promise.

Fragmented Protocols

Storage protocols are incompatible and require different payment tokens. No coherent SDK layer exists — developers wire everything from scratch.

Adoption & Trust Crisis

Breaches cost $4.9M on average, take 200+ days to detect, and permanently erode the user trust dApps depend on to grow.

How It Works

Four steps. One SDK call.

Encryption, decentralised storage, and on-chain coordination — all triggered by a single dStorage.store(data) call.

dStorage SDK How It Works
Smart contracts on Midnight store cryptographic references — linking on-chain logic directly to off-chain data. Only the data owner can decrypt. App providers and operators never see raw content.
dstorage-example.ts
// 1. Configure once — swap adapters without changing app code
const sdk = new DStorage({
  storageAdapter: new ArweaveStorageAdapter(),    // permanent decentralised storage
  chainAdapter:   new MidnightChainAdapter(),    // on-chain references
});

// 2. Store — encrypted client-side, stored on Arweave, ref written on Midnight
const { chainRefId } = await sdk.store(data);

// 3. Your Midnight contract stores chainRefId — linking on-chain logic to off-chain data
// 4. Retrieve — looks up chain ref, fetches from Arweave, decrypts on user device
const data = await sdk.retrieveByRefId(chainRefId);

Build with AI

Let your AI agent write the integration.

The SDK is new and moves fast, so agents guess wrong from memory. Point yours at our agent-ready docs and it codes against the current API. Paste this prompt into your coding agent to get a working first store and retrieve in minutes.

AI promptQuickstart
Use the dStorage SDK docs as your source of truth, not prior knowledge: the SDK is new and its API changes between versions. The docs index is https://dstorage.pro/docs/llms.txt and the full docs are in https://dstorage.pro/docs/llms-full.txt. Read the "Mock Adapters" guide at https://dstorage.pro/docs/guide/mock-adapters.md (if that URL can't be fetched, use the HTML page at https://dstorage.pro/docs/guide/mock-adapters.html or the full docs in https://dstorage.pro/docs/llms-full.txt instead), then follow it in my current project. If I'm not in a Node.js project, create a new one in a dstorage-quickstart folder first. 1. Install @dstorage-tech/dstorage-sdk (requires Node.js 22 or later). 2. Configure DStorage with MockStorageAdapter, MockChainAdapter and PasswordEncryptionAdapter, exactly as the guide shows. 3. Add a small script that calls init(), stores the string "hello, dStorage", retrieves it with retrieveByRefId(), prints the decoded result, and calls destroy(). 4. Run the script and confirm it prints "hello, dStorage". 5. Using the "Core Concepts" guide (https://dstorage.pro/docs/guide/core-concepts.md), explain in a few sentences what each of the three adapters did during that round trip, and what I'd change to move to real storage and a real chain next. If anything in my project conflicts with the guide (module system, Node.js version, existing dStorage setup), explain the conflict before changing anything.

Features

Everything a dApp needs for private storage.

Built for developers who shouldn't have to become cryptographers just to handle user data responsibly.

🔐

Client-Side Encryption

Data encrypted on the user's device before it ever leaves. Keys derive from the user's own wallet — dStorage never holds or manages them.

🌐

Decentralised Storage

Encrypted blobs stored permanently on a decentralised network — censorship-resistant. No central server holds your users' data.

⛓️

On-Chain Contract References

Midnight smart contracts store lightweight cryptographic references (storage ID + owner address), linking on-chain logic directly to off-chain data.

🔓

User-Only Decryption

Only the data owner can decrypt. App providers, operators, and nodes architecturally cannot access raw content. Privacy at the architecture level.

💳

Managed Payments

Top up with card, bank transfer, local payment methods or a coupon. dStorage Pro acquires the network tokens and signs transactions for you — no crypto expertise required.

🔌

Modular Adapters

Swap storage, chain, or payment backends in one config change. Start with in-memory mocks, go live when ready.

👛

Non-Custodial by Design

All keys derive from the user's wallet. The dApp never takes custody of keys or data. Users own their data — always.

🧪

Zero-Config Testing

Mock adapters need no network, tokens, or extensions. Full local testing without any external dependencies.

🗝️

Portable Keychain & Recovery

Encryption keys are wrapped with a multi-key technique — the same data key can be unlocked by a wallet, a password, or a recovery mnemonic. Rotate credentials or add backup unlock methods at any time, without touching the underlying data. No single lost credential can permanently lock you out.

Use Cases

Built for real dApp scenarios.

From DeFi to NFTs to governance — dStorage handles the private data layer so your team stays focused on product.

DeFi

🏦 Private Portfolio & Strategy Data

A DeFi protocol stores each user's trading strategies, portfolio notes, and alert configurations encrypted in decentralised storage. The protocol never sees the data — only the user does. Privacy is a guarantee of the architecture, not a setting.

NFTs

🖼️ Creator Content That Stays Private

An NFT creator stores unreleased work, high-resolution originals, and personal notes encrypted in decentralised storage before minting. No platform, marketplace, or storage provider can read the content — it lives on a decentralised network, visible only to its creator.

DAOs

🗳️ Confidential Internal Deliberations

A DAO stores draft proposals, internal discussion summaries, and treasury analysis encrypted in decentralised storage. Sensitive governance work stays private from the public and from tooling providers — without sacrificing the auditability of on-chain decisions.

AI Agents

🤖 Persistent Memory for AI Agents

An AI agent stores its context, session history, and user-specific knowledge encrypted on decentralised storage — tied to the user's wallet, not a centralised server. The agent picks up exactly where it left off, across any frontend, without the platform ever holding the data.

Robotics

🦾 Sovereign Robot Fleet Intelligence

A fleet of AI-powered autonomous robots stores mission logs, learned navigation maps, sensor calibration data, and behavioural models encrypted in decentralised storage — tied to the operator's on-chain identity. No cloud provider or robot manufacturer has access to proprietary operational data. Each robot retrieves its full learned state securely on boot, without relying on centralised infrastructure.

dStorage Pro

Claim your dStorage Pro Pass — it's live.

Let dStorage Pro handle payments and transaction signing for your dApp. Sign in with Google or a browser extension, top up credit, and monitor usage in real time — API calls, credit balance, top-up history, and usage graphs.

Step 1

Claim your Pro Pass

Go to portal.dstorage.pro and sign in with Google or a browser extension: Lace, MetaMask or 1AM.

Step 2

Top up & get your API token

Add credit and generate a dStorage Pro API token from the dashboard.

Step 3

Pay for transactions from your dApp

Plug the token into the SDK's managed-payments adapters — the Managed Payments guide walks you through it.

dStorage Pro dashboard showing request activity over the last 7 days and request distribution across networks
dStorage Pro liquidity page with payment method, top-up amounts, USD balance and DUST balance
dStorage Pro API tokens page creating a public JWT token with allowed origin, networks, expiration and spend limit
dStorage Pro history page listing signed Arweave and Midnight transactions with amounts, fees, status and balance

Your usage and spend at a glance.

Top up your credit in a few clicks.

Create tokens for your backend or frontend.

Every transaction, fully traceable.

Building the infrastructure dApps were always missing.

dStorage Pro is live — claim your Pro Pass and start paying for storage and transactions from your dApp. Follow @dStorageTech on X for the latest updates.

Claim Your Pro Pass → Follow @dStorageTech on