Skip to content

Add encrypted, syncable in-app wallet vaults - #1

Draft
jwahdatehagh wants to merge 1 commit into
masterfrom
agent/wallet-vault-credits
Draft

Add encrypted, syncable in-app wallet vaults#1
jwahdatehagh wants to merge 1 commit into
masterfrom
agent/wallet-vault-credits

Conversation

@jwahdatehagh

@jwahdatehagh jwahdatehagh commented Jul 28, 2026

Copy link
Copy Markdown
Member

Summary

Adds a production-oriented encrypted in-app wallet keyring and Wagmi connector.

  • encrypts mnemonic payloads with a random AES-256-GCM vault key
  • wraps the vault key with an Argon2id passphrase slot and optional WebAuthn PRF passkey slots
  • keeps decrypted key material inside a module worker
  • supports optimistic-revision stores for cross-device ciphertext sync
  • unlocks on demand for message, typed-data, hash, and transaction signing
  • locks on connector disconnect and rejects account or chain mismatches
  • documents the recovery and browser/XSS trust boundaries

Why

The existing package persisted a plaintext private key in browser storage. This replaces that model with a portable encrypted envelope that an API can store without being able to decrypt or sign with it.

Dependency chain

  1. This wallet primitive
  2. Layers integration: Integrate encrypted in-app wallet vaults layers#88
  3. Networked product flow: https://github.com/networked-art/monorepo/pull/27

Publish this package before releasing the coordinated Layers major.

Validation

  • pnpm typecheck
  • pnpm test — 4 tests passing
  • git diff --check

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant