mcpField
J
jaw-sdk-best-practices

jaw-sdk-best-practices

github.com/justalab-coDevelopment044 installsUpdated 4w ago
Repository

About jaw-sdk-best-practices

jaw-sdk-best-practices is a reference skill for building applications with the JAW SDK, aimed at developers integrating passkey-authenticated smart accounts on EVM chains. It organizes setup, wallet operations, permissions, payments, identity, and advanced integration guidance into rules and examples.

Key features

  1. 01JAW package setup and configuration
  2. 02Wagmi connector and React integration
  3. 03Transaction and message signing guidance
  4. 04Permissions and recurring payment patterns
  5. 05EIP-7702 smart account upgrades
  6. 06Debugging and error references

Use cases

  1. 01Setting up JAW in a React or server-side app
  2. 02Implementing passkey wallet transactions
  3. 03Adding recurring payments and permissions
  4. 04Reviewing or debugging JAW SDK code

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/justalab-co/jaw-skills --skill jaw-sdk-best-practices

After installing, type/jaw-sdk-best-practicesin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

rules/
account-api.md
auth-modes.md
configuration.md
connect-disconnect.md
custom-ui-handler.md
eip7702-upgrade.md
ens-identity.md
error-handling.md
gas-sponsoring.md
installation.md
permissions.md
provider-api.md
react-native.md
reown-appkit.md
signing.md
siwe.md
stablecoin-payments.md
subscription-payments.md
transactions.md
typescript-types.md
wagmi-setup.md

Details

From the project README

JAW SDK Best Practices

Guide for building applications with the JAW SDK passkey-authenticated smart accounts on EVM chains with programmable permissions.

When to use

Reference these guidelines when:

  • Installing or setting up @jaw.id/wagmi, @jaw.id/core, or @jaw.id/ui
  • Configuring the JAW connector or provider (API key, modes, paymasters, ENS)
  • Connecting/disconnecting wallets with passkey authentication
  • Sending transactions (single or batched) through JAW smart accounts
  • Signing messages or typed data (EIP-191, EIP-712, ERC-7871)
  • Granting, querying, or revoking permissions (ERC-7715)
  • Implementing subscription payments or recurring charges
  • Setting up gas sponsoring with paymasters (ERC-7677)
  • Issuing ENS subnames to users during onboarding
  • Implementing Sign-In With Ethereum (SIWE)
  • Building headless integrations, server-side operations, or AI agent wallets
  • Using the Account class directly (no UI)
  • Upgrading EOAs to smart accounts via EIP-7702 (preserving the existing address)
  • Integrating with embedded wallet providers (Privy, Turnkey, etc) for EIP-7702
  • Building stablecoin payment flows (USDC gas, batch payouts)
  • Choosing between CrossPlatform and AppSpecific authentication modes
  • Implementing a custom UI handler for app-specific mode
  • Building React Native / Expo apps with passkey-authenticated smart accounts
  • Reviewing or debugging code that uses JAW SDK

Key facts

  • Packages: @jaw.id/wagmi (React), @jaw.id/core (vanilla JS / server), @jaw.id/ui (app-specific mode UI)
  • API Key: Required. Get one at https://dashboard.jaw.id
  • EIP-1193 compatible: Drop-in replacement for MetaMask or any wallet
  • Smart accounts: ERC-4337 with passkey signers, gasless tx, batch ops, permissions
  • EIP-7702: EOAs can upgrade to smart accounts while keeping their address via Account.fromLocalAccount(config, localAccount, { eip7702: true })
  • EntryPoint: v0.8 only (for paymasters)

Rule index

1. Setup & Configuration
  • <rules/installation.md> - Package installation, peer dependencies, choosing wagmi vs core
  • <rules/configuration.md> - All config options: apiKey, appName, ens, mode, paymasters, preference
  • <rules/auth-modes.md> - CrossPlatform vs AppSpecific modes and when to use each
2. Wagmi Integration (React)
  • <rules/wagmi-setup.md> - Wagmi connector setup, providers, using standard wagmi hooks with JAW
  • <rules/connect-disconnect.md> - useConnect, useDisconnect, connection with capabilities
  • <rules/reown-appkit.md> - Adding JAW to an existing Reown AppKit project via WagmiAdapter
3. Core Operations
  • <rules/transactions.md> - Sending transactions, batch calls, gas estimation, checking status
  • <rules/signing.md> - Personal sign, typed data, unified wallet_sign, cross-chain signing
4. Permissions & Payments
  • <rules/permissions.md> - Granting, querying, revoking permissions (ERC-7715)
  • <rules/subscription-payments.md> - Recurring subscription payments using permissions
  • <rules/stablecoin-payments.md> - Headless USDC payments, batch payouts, ERC-20 gas
5. Identity & Auth
  • <rules/ens-identity.md> - ENS subname issuance, profile resolution, text records
  • <rules/siwe.md> - Sign-In With Ethereum (SIWE) implementation
  • <rules/gas-sponsoring.md> - Paymaster setup, sponsorship policies, multi-chain config
6. EIP-7702
  • <rules/eip7702-upgrade.md> - Upgrade EOA to smart account, provider integrations, authorization signing
7. Advanced
  • <rules/account-api.md> - Headless Account class for AI agents, server-side, embedded wallets
  • <rules/react-native.md> - React Native (Expo bare) - passkey adapter, native deps, AASA/assetlinks, storage
  • <rules/custom-ui-handler.md> - Building a custom UIHandler for app-specific mode
  • <rules/provider-api.md> - Direct provider RPC methods reference and patterns
8. Reference
  • <rules/error-handling.md> - EIP-1193 error codes, common errors, debugging
  • <rules/typescript-types.md> - Key TypeScript interfaces and type patterns

How to use

Read individual rule files for detailed guidance. Each contains: correct usage examples, common mistakes to avoid, and critical requirements.

Comments

Markdown supported