I'm working on developing a Digital Identity Wallet that utilizes a DID (Decentralized Identifier) structure similar to did:key as its core identifier mechanism. The underlying technology involves the creation of DIDs using a 12-key seed phrase and private key, resembling the process for creating an EOA (Externally Owned Account) in Ethereum.

I'm particularly interested in incorporating the Account Abstraction feature using the Safe Account Abstraction Kit to enhance security and functionality. However, I'm facing challenges in implementing social login and social recovery mechanisms within this framework.

Specifically, I aim to achieve the following:

Account Abstraction: Implementing a DID-based structure to abstract the underlying account while retaining functionality similar to EOAs for interactions within the blockchain.

Social Login: Allowing users to log in using social authentication mechanisms (e.g., Google, Facebook) alongside their DID-based identifier.

Social Recovery: Implementing a recovery mechanism that utilizes social accounts to recover access to the Digital Identity Wallet in case of key loss or compromise.

I've explored the Safe Account Abstraction Kit but haven't found detailed guidance on incorporating these features with a DID-based structure. Any insights, code examples, or resources on how to achieve this integration or any similar implementations would be greatly appreciated.

Thank you in advance for any assistance or pointers you can provide.

1 Answer 1


We don't have previous wallet implementations, but a resolver for Safe to DID has been implemented by ceramic network based on our Safe DID method specification, which has been recognized as a standard DID method by the W3C. Your project should probably follow this specification before being able to use the SDK normally.

Hope it helps, Louis

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.