Ceramic recently launched Sign in With Solana (SIWS)—a specification developed in partnership with the Chain Agnostic Standards Association and leading Solana wallets and apps—to provide secure and user-friendly authentication.

Signing in with a wallet means users don’t have to worry about pop-up modals or needing to sign every action they take on an app.

Check out an example below, using a Phantom wallet to sign into Orbis Protocol. Developers use Orbis to build features such as social timelines, comment systems or private messaging on top of their applications, with the underlying Ceramic data infrastructure facilitating performant social experiences.

How Sign-In With Solana works:

  1. Ceramic uses the Decentralized Identifier (DID) standard for users accounts. DIDs require no central authority—users control their data and decide who they share it with.
  2. With the did:pkh DID method, a persistent ID is securely generated from the public key hash of a wallet address. This enables one-click sign-on with a wallet to many apps on Solana.
  3. App developers can pair it with the DID-Sessions library, which allows a stream author (user) to delegate to another entity (app developer) the ability to sign certain read/write actions on their behalf for a time-bound period.
  4. The SIWS spec passes a human-readable message between a Solana wallet, like Phantom, and a Solana app, like Magic Eden. The message includes sign-in, defines which capability permissions the user is offering to the developer, and for how long—similar to a web2 session today.

You can learn how to use DID:PKH by invoking a Solana auth provider here. Learn more about DID-Sessions here and Capability Permissions here. To view the code, check out the DID monorepo here containing SIWS and DID-Sessions.