Skip to content

feat: added JAW as wallet provider#8

Open
LeoFranklin015 wants to merge 6 commits intoReineiraOS:mainfrom
JustaName-id:feat/add-jaw
Open

feat: added JAW as wallet provider#8
LeoFranklin015 wants to merge 6 commits intoReineiraOS:mainfrom
JustaName-id:feat/add-jaw

Conversation

@LeoFranklin015
Copy link
Copy Markdown

@LeoFranklin015 LeoFranklin015 commented Apr 27, 2026

Added JAW (@jaw.id/core) as a wallet provider alongside ZeroDev, set as the new default. Same IWalletProvider
interface passkey-based smart accounts on Arbitrum Sepolia.

Setup

  1. pnpm install
  2. In packages/app/.env, set VITE_JAW_API_KEY= your-api-key
    Optional: VITE_JAW_PAYMASTER_URL.
  3. In packages/app/src/hooks/use-auth.ts , set as new DEFAULT_PROVIDER = 'jaw'
  4. pnpm dev:app

Test plan

  • Register — click Register, enter username, accept passkey create prompt → lands on /dashboard with smart account
    address shown.
  • Login — log out, click Login, pick the passkey from the OS picker → same address as before.
  • Refresh — while logged in, refresh tab. No prompt; goes straight to /dashboard (JAW caches session).
  • Send a tx

@0xkkkn
Copy link
Copy Markdown
Contributor

0xkkkn commented Apr 28, 2026

Hey, thanks for the contribution! A few small things:

  1. There's a drift between hooks/use-auth.ts ('zerodev') and stores/wallet-store.ts ('jaw') — could we keep them in sync? Ideally as a single shared constant so they can't diverge again.

  2. On our side we'd like to keep ZeroDev as the default provider — it's a hard dependency for us due to existing technical agreements and some upcoming plans on that integration. JAW is a great addition as an alternative, but let's land it without flipping the default. 🙏

  3. Could we also pin @jaw.id/core to a concrete version (e.g. ^0.2.5) instead of "latest"? With "latest", any lockfile regeneration (merge conflict, fresh clone, CI cache miss) pulls whatever's currently published, so builds stop being reproducible across builders forking this starter. And since the SDK is still on 0.x, a breaking change can land in a minor release and silently break things without any code change on our side.

Could you adjust the defaults to 'zerodev' and pin the version? Happy to merge once that's aligned.

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.

3 participants