Spruce Developer Update #33

At Spruce, we’re letting users control their identity and data across the web. Here’s the latest from our development efforts across our libraries.

Spruce Developer Update #33

In case you missed it, check out our previous update here:

Spruce Developer Update #32
At Spruce, we’re letting users control their identity and data across the web. Here’s the latest from our development efforts.

At Spruce, we’re letting users control their identity and data across the web. Here’s the latest from our development efforts:


SSX (Self-Sovereign Anything) is the easiest way to integrate Sign-In with Ethereum, enable DAO logins, resolve ENS names, and more. It is the go-to library for developers in web3 to get started with decentralized identity.

  • We're currently making significant improvements to the SSX library and adding support for user-controlled data and credential issuance. If you would like a sneak preview of what we've been working on, please get in touch!

If you would like to learn more about some of the applications we plan on enabling developers to create with our set of core open-source libraries, check out the following blog post:

Single-Player Ready Apps
The Single-Player Ready (SPR) app architecture allows users to maintain control over their data while also participating in a larger network of related content. It has applications including even sensitive information that should first and foremost be under the user’s control.

with Ethereum Core Libraries

Sign-In with Ethereum is a new form of authentication that enables users to control their digital identity with their Ethereum account and ENS profile instead of relying on a traditional intermediary.

  • We've now merged several updates into our core siwe library, including stricter type validation for the constructed SiweMessage (siwe #162), type checking for the EIP-1271 MAGICVALUE (siwe #160), and a securer approach in constructing SIWE messages (siwe #161).
  • We will be merging in additional updates to our core TypeScript library and creating both a new minor release (v2.15) and a new beta release (v3.0-beta) with several changes.


Kepler is a decentralized storage network organized around data overlays called Orbits. Kepler allows users to Securely share their digital credentials, private files, and sensitive media to blockchain accounts using their existing keys.

  • Kepler has undergone an extensive refactor to extract the core logic into a new crate separate from the HTTP API and to implement its state tracking using SQL (SQLite, Postgres, and MySQL are supported) (kepler #143).
  • We have also added support for a flat storage limit which is configurable on a per-instance basis via the kepler.toml config file or corresponding env flag (kepler #140).


SpruceID is a decentralized identity toolkit that provides everything you need for signing, sharing, and verifying trusted information.


  • We are currently working on a major refactor of our ssi library to make it a lot easier for developers to pick up and use. Additionally, we've made various improvements to our ssi and DIDKit libraries this month (ssi #515), (DIDKit #360, #362).


TreeLDR is a schema definition language that aims to comprehensively describe the structure and semantics of the defined schema. It lies at the intersection between RDF and structure-oriented schema definition frameworks such as JSON Schema.

  • We've added support for a standalone option to the LD context generator within TreeLDR. (treeldr #152).
  • We've added the ability to generate an rdf::FromLiteral implementation for derived datatypes (treeldr #150).


  • The Rebase library has gone through a number of updates, and we've cleaned up a large amount of it towards a new release of the Rebase Client (rebase #66, #67, #68, #73).
  • We've added the ability for Rebase Witnesses to arbitrarily validate any VCs that have types supported by ssi (rebase #69).
  • We've added the ability to create LD-based Verifiable Credentials through the Rebase Witness (rebase #70).

Spruce lets users control their data across the web. Spruce provides an ecosystem of open-source tools for developers that let users collect their data in one place they control and show their cards however they want. If you're curious about integrating Spruce's technology into your project, chat with us in our Discord.