# JAW Core Documentation > Official documentation for @jaw.id/core package ## Docs - [Supported Networks](/supported-networks): Testnets are available when `preference.showTestnets` is enabled: - [Wagmi Integration](/wagmi): The `@jaw.id/wagmi` package provides a Wagmi-compatible connector and React hooks for integrating JAW smart accounts into your dApp. - [Connector](/wagmi/jaw): Create a JAW connector for your [Wagmi Config](https://wagmi.sh/core/api/createConfig). - [useConnect](/wagmi/useConnect): Hook to connect to the wallet with optional capabilities. - [useDisconnect](/wagmi/useDisconnect): Hook to disconnect from the wallet. - [useGetAssets](/wagmi/useGetAssets): Hook to get the assets for the connected account. Fetches token balances across supported chains. - [useGrantPermissions](/wagmi/useGrantPermissions): Hook to grant permissions to a spender address. - [usePermissions](/wagmi/usePermissions): Hook to get the current permissions for the connected account. Automatically updates when permissions change. - [useRevokePermissions](/wagmi/useRevokePermissions): Hook to revoke a permission by its ID. - [Subscription Payments with Permissions](/guides/subscription): Learn how to implement recurring subscription payments using JAW's permission system. This enables services like Netflix, Spotify, or any SaaS to charge users automatically without requiring approval for each payment. - [apiKey](/configuration/apiKey): Your JAW API key for authentication with JAW services. - [appLogoUrl](/configuration/appLogoUrl): URL to your application's logo image. Displayed alongside your app name in the authentication interface. - [appName](/configuration/appName): The name of your application, displayed to users during authentication and transaction signing. - [defaultChainId](/configuration/defaultChainId): The default blockchain network to connect to when the SDK initializes. - [ens](/configuration/ens): ENS domain used to issue subnames to users during authentication. - [Configuration](/configuration): Configuration options for the JAW SDK. These options apply to both the **Wagmi connector** and the **direct provider**. - [paymasters](/configuration/paymasters): Custom paymaster configuration for sponsoring gas fees on different blockchain networks. - [preference](/configuration/preference): Advanced configuration options to customize SDK behavior and authentication mode. - [eth_accounts](/api-reference/eth_accounts): Get currently connected accounts without triggering authentication. Returns an empty array if no accounts are connected. - [eth_chainId](/api-reference/eth_chainId): Get the current chain ID in hexadecimal format. - [eth_requestAccounts](/api-reference/eth_requestAccounts): Request user authentication and account access. - [eth_sendTransaction](/api-reference/eth_sendTransaction): Broadcast a transaction to the network. - [eth_signTypedData_v4](/api-reference/eth_signTypedData_v4): Sign structured typed data via EIP-712. - [Provider - RPC Reference](/api-reference): Complete reference for all RPC methods supported by the JAW SDK provider. - [personal_sign](/api-reference/personal_sign): Signs an EIP-191 personal message. - [wallet_connect](/api-reference/wallet_connect): Requests to connect account(s) with optional capabilities. - [wallet_disconnect](/api-reference/wallet_disconnect): Disconnect the current session and clean up all authentication state. - [wallet_getAssets](/api-reference/wallet_getAssets): Get token balances across multiple chains for an account. Implements EIP-7811. - [wallet_getCallsStatus](/api-reference/wallet_getCallsStatus): Get the status of a batch of calls. - [wallet_getCapabilities](/api-reference/wallet_getCapabilities): Get wallet capabilities for supported chains. Implements EIP-5792 for capability discovery. - [wallet_getPermissions](/api-reference/wallet_getPermissions): Get all permissions for an account. - [wallet_grantPermissions](/api-reference/wallet_grantPermissions): Grant granular permissions to a spender address for delegated transaction execution with spending limits and call restrictions. - [wallet_revokePermissions](/api-reference/wallet_revokePermissions): Revoke previously granted permissions. - [wallet_sendCalls](/api-reference/wallet_sendCalls): Broadcast bundle of calls to the network. - [wallet_showCallsStatus](/api-reference/wallet_showCallsStatus): Show the status UI popup for a batch of calls sent via `wallet_sendCalls`. - [wallet_sign](/api-reference/wallet_sign): Unified signing method supporting multiple message formats (ERC-7871). Delegates to `personal_sign` or `eth_signTypedData_v4` based on the request type. - [wallet_switchEthereumChain](/api-reference/wallet_switchEthereumChain): Switch to a different chain. - [Custom UI Handler](/advanced/custom-ui-handler): Build your own UI for app-specific mode by implementing the `UIHandler` interface. This is useful for non-React applications or when you need complete control over the user experience. - [Advanced](/advanced): Advanced topics for customizing and extending the JAW SDK. - [Custom Passkey Server](/advanced/passkey-server): Run your own passkey metadata server for managing passkey credentials in app-specific mode. - [Account.create()](/account/create): Create a new account with a passkey. - [account.estimateGas()](/account/estimateGas): Estimate gas for a transaction. - [Account.fromLocalAccount()](/account/fromLocalAccount): Create an account from a viem LocalAccount. Ideal for server-side usage or integration with embedded wallet providers. - [Account.get()](/account/get): Get an account instance - restores an existing session or triggers WebAuthn login. - [account.getAddress()](/account/getAddress): Get the smart account address (async). - [Account.getAuthenticatedAddress()](/account/getAuthenticatedAddress): Get the authenticated account address without fully loading the account. - [account.getCallStatus()](/account/getCallStatus): Get the status of a previously submitted call batch. - [account.getChain()](/account/getChain): Get the chain configuration. - [account.getMetadata()](/account/getMetadata): Get account metadata (only available for passkey-based accounts). - [account.getPermission()](/account/getPermission): Get details of a previously granted permission. - [account.getSmartAccount()](/account/getSmartAccount): Get the underlying viem SmartAccount for advanced operations. - [Account.getStoredAccounts()](/account/getStoredAccounts): Get all stored passkey accounts. - [account.grantPermissions()](/account/grantPermissions): Grant permissions to a spender. - [Account.import()](/account/import): Import a passkey from cloud backup. - [Account](/account): The `Account` class provides a low-level API for smart account operations. It's the recommended way to interact with JAW smart accounts when building custom UI handlers or server-side applications. - [Account.logout()](/account/logout): Clear authentication state (logout). - [account.revokePermission()](/account/revokePermission): Revoke a previously granted permission. - [account.sendCalls()](/account/sendCalls): Send multiple calls as a bundled user operation without waiting for receipt. - [account.sendTransaction()](/account/sendTransaction): Send a transaction and wait for the receipt. - [account.signMessage()](/account/signMessage): Sign a personal message (EIP-191). - [account.signTypedData()](/account/signTypedData): Sign EIP-712 typed data.