Skip to main content

Decentralized Web Node (DWN) SDK

Code Coverage

Statements Branches Functions Lines


This repository contains a reference implementation of Decentralized Web Node (DWN) as per the specification. This specification is in a draft state and very much so a WIP. For the foreseeable future, a lot of the work on DWN will be split across this repo and the repo that houses the specification, which you can find here. The overall goal is to produce a beta implementation by 09/01/2022. This won't include all interfaces described in the spec, but enough to begin building applications.

Proposals and issues for the specification itself should be submitted as pull requests to the spec repo.


Since this SDK is still in early stages, we haven't yet published to npm. Until then, we suggest using npm link to use this SDK in your own project. Steps:

# clone this repo somewhere
git clone
# install deps
npm install
# transpile typescript and build bundles
npm run build

# cd into your project dir
cd /path/to/your/project
# first creates a global link, and then links the global installation target into your project's node_modules folder.
npm link ../path/to/where/you/cloned/dwn-sdk-js

# profit



  • ESM

    import { DWN } from 'dwn-sdk';

    // cool things
  • CJS

    const { DWN } = require('dwn-sdk');

    // cool things


  • UMD Bundle

    <script type="text/javascript" src="node_modules/dwn-sdk/dist/bundles/bundle.umd.js"></script>
  • ESM Bundle

    <script type="text/javascript" src="node_modules/dwn-sdk/dist/bundles/bundle.esm.js"></script>

Project Resources

CODEOWNERSOutlines the project lead(s)
CODE_OF_CONDUCT.mdExpected behavior for project contributors, promoting a welcoming environment
CONTRIBUTING.mdDeveloper guide to build, test, run, access CI, chat, discuss, file issues
GOVERNANCE.mdProject governance
LICENSEApache License, Version 2.0