From a408b2a32310868d6eef632cffd975295eb788b9 Mon Sep 17 00:00:00 2001 From: jakehobbs Date: Fri, 22 May 2026 14:39:09 -0700 Subject: [PATCH 1/2] Mark v4 Account Kit pages, fix dead SDK reference links MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The aa-sdk repo dropped its v4 reference docs from main, leaving ~50 internal and external links 404'd. This repoints them to the v4.x.x branch on GitHub (no v5 equivalents exist for these symbols) and adds a soft v4 deprecation banner — via a single shared snippet — across the 26 pages now grouped under the renamed "Account Kit (v4)" nav section. Also removes the stale "currently in beta" notices from the four third-party signer pages that #1322 missed. Co-Authored-By: Claude Opus 4.6 (1M context) --- content/docs.yml | 2 +- .../login-methods/bring-your-own-auth.mdx | 4 +++- .../login-methods/email-magic-link.mdx | 2 ++ .../authentication/login-methods/email-otp.mdx | 2 ++ .../login-methods/passkey-signup.mdx | 2 ++ .../authentication/login-methods/sms-login.mdx | 2 ++ .../login-methods/social-login.mdx | 2 ++ content/wallets/pages/concepts/middleware.mdx | 4 ++-- content/wallets/pages/core/overview.mdx | 4 ++-- .../third-party-infrastructure/bundlers.mdx | 2 +- .../third-party-infrastructure/chains.mdx | 2 +- content/wallets/pages/react-native/overview.mdx | 2 +- .../pages/react/connectors/customization.mdx | 2 ++ .../pages/react/customization/tailwind-setup.mdx | 2 ++ .../wallets/pages/react/customization/theme.mdx | 6 ++++-- .../react/getting-started/initialization.mdx | 4 ++-- .../adding-and-removing-login-methods.mdx | 2 ++ .../pages/react/login-methods/eoa-login.mdx | 4 +++- .../react/login-methods/onchain-passkeys.mdx | 2 ++ .../pages/react/login-methods/passkey-login.mdx | 4 +++- .../react/login-methods/social-providers.mdx | 4 +++- .../wallets/pages/react/mfa/email-magic-link.mdx | 2 ++ content/wallets/pages/react/mfa/email-otp.mdx | 2 ++ content/wallets/pages/react/mfa/setup-mfa.mdx | 2 ++ content/wallets/pages/react/mfa/social-login.mdx | 2 ++ content/wallets/pages/react/react-hooks.mdx | 2 ++ .../pages/react/solana-wallets/get-started.mdx | 4 +++- content/wallets/pages/react/ui-components.mdx | 10 ++++++---- .../pages/recipes/hyperliquid-wallets.mdx | 8 ++++---- .../wallets/pages/recipes/multi-chain-setup.mdx | 4 ++-- .../wallets/pages/recipes/smart-wallets-aave.mdx | 2 +- content/wallets/pages/resources/faqs.mdx | 16 ++++++++-------- content/wallets/pages/resources/types.mdx | 12 ++++++------ .../signer/authentication/server-wallets.mdx | 2 ++ .../wallets/pages/signer/export-private-key.mdx | 4 +++- content/wallets/pages/signer/quickstart.mdx | 2 ++ content/wallets/pages/signer/user-sessions.mdx | 4 +++- .../modular-account-v2/managing-ownership.mdx | 2 ++ .../smart-wallets/how-to-stamp-requests.mdx | 6 +++--- .../pages/smart-wallets/session-keys/api.mdx | 2 +- .../third-party/signers/custom-integration.mdx | 2 -- .../pages/third-party/signers/openfort.mdx | 2 -- .../wallets/pages/third-party/signers/privy.mdx | 2 -- .../pages/third-party/signers/turnkey.mdx | 2 -- content/wallets/shared/account-kit-v4-banner.mdx | 1 + .../wallets/shared/react-native/signer-setup.mdx | 2 +- .../smart-account-client-details.mdx | 4 ++-- 47 files changed, 104 insertions(+), 59 deletions(-) create mode 100644 content/wallets/shared/account-kit-v4-banner.mdx diff --git a/content/docs.yml b/content/docs.yml index 1bce68e16..daddbf11d 100644 --- a/content/docs.yml +++ b/content/docs.yml @@ -951,7 +951,7 @@ navigation: path: wallets/pages/third-party/signers/turnkey.mdx - page: Other signers path: wallets/pages/third-party/signers/custom-integration.mdx - - section: Account kit + - section: Account Kit (v4) collapsed: true contents: - section: Login methods diff --git a/content/wallets/pages/authentication/login-methods/bring-your-own-auth.mdx b/content/wallets/pages/authentication/login-methods/bring-your-own-auth.mdx index a7e5cb04b..f6900b41b 100644 --- a/content/wallets/pages/authentication/login-methods/bring-your-own-auth.mdx +++ b/content/wallets/pages/authentication/login-methods/bring-your-own-auth.mdx @@ -4,6 +4,8 @@ description: Integrate your existing authentication system with Wallet APIs usin slug: wallets/authentication/login-methods/bring-your-own-auth --- + + Integrate your existing authentication provider and add smart wallet functionality to your app without changing your users' login experience. Wallet APIs supports JWT-based and OIDC-compliant authentication providers. ## Prerequisites @@ -68,7 +70,7 @@ Your JWTs must contain these claims: Generate the `targetPublicKey` from the [authentication - SDK](/docs/wallets/reference/account-kit/signer/classes/AlchemySignerWebClient/targetPublicKey). + SDK](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/signer/src/client/base.ts). diff --git a/content/wallets/pages/authentication/login-methods/email-magic-link.mdx b/content/wallets/pages/authentication/login-methods/email-magic-link.mdx index 9fd4b26aa..b47eb2302 100644 --- a/content/wallets/pages/authentication/login-methods/email-magic-link.mdx +++ b/content/wallets/pages/authentication/login-methods/email-magic-link.mdx @@ -4,6 +4,8 @@ description: How to implement Email Magic Link authentication across different f slug: wallets/authentication/login-methods/email-magic-link --- + + Email magic link authentication is a two-step process: 1. The user enters their email address and requests a magic link diff --git a/content/wallets/pages/authentication/login-methods/email-otp.mdx b/content/wallets/pages/authentication/login-methods/email-otp.mdx index 97d625243..6d7569a51 100644 --- a/content/wallets/pages/authentication/login-methods/email-otp.mdx +++ b/content/wallets/pages/authentication/login-methods/email-otp.mdx @@ -4,6 +4,8 @@ description: How to implement Email OTP authentication across different framewor slug: wallets/authentication/login-methods/email-otp --- + + Email OTP (One-Time Password) authentication is a two-step process: 1. The user enters their email address and requests a verification code diff --git a/content/wallets/pages/authentication/login-methods/passkey-signup.mdx b/content/wallets/pages/authentication/login-methods/passkey-signup.mdx index 757446897..3d0cec4e9 100644 --- a/content/wallets/pages/authentication/login-methods/passkey-signup.mdx +++ b/content/wallets/pages/authentication/login-methods/passkey-signup.mdx @@ -4,6 +4,8 @@ description: How to implement Passkey Signup authentication across different fra slug: wallets/authentication/login-methods/passkey-signup --- + + Passkeys provide a secure, passwordless authentication method that can be used to create wallets for your users without going through email verification flows. You can implement passkey signup with or without an associated email address. diff --git a/content/wallets/pages/authentication/login-methods/sms-login.mdx b/content/wallets/pages/authentication/login-methods/sms-login.mdx index 0d7001284..f4b14471b 100644 --- a/content/wallets/pages/authentication/login-methods/sms-login.mdx +++ b/content/wallets/pages/authentication/login-methods/sms-login.mdx @@ -4,6 +4,8 @@ description: How to authenticate users with phone number and SMS OTP code slug: wallets/authentication/login-methods/sms-login --- + + SMS auth is currently in closed alpha. If you'd like early access please reach out to [wallets@alchemy.com](mailto:wallets@alchemy.com). diff --git a/content/wallets/pages/authentication/login-methods/social-login.mdx b/content/wallets/pages/authentication/login-methods/social-login.mdx index 9d93aaa5b..17cc02fc4 100644 --- a/content/wallets/pages/authentication/login-methods/social-login.mdx +++ b/content/wallets/pages/authentication/login-methods/social-login.mdx @@ -4,6 +4,8 @@ description: How to implement Social Login authentication across different frame slug: wallets/authentication/login-methods/social-login --- + + Social login authentication allows users to authenticate using OAuth providers like Google, Facebook, or custom providers through Auth0. There are two authentication flows available: 1. **Redirect flow**: Redirects the user to the provider's login page and back to your application diff --git a/content/wallets/pages/concepts/middleware.mdx b/content/wallets/pages/concepts/middleware.mdx index 61c9489d6..4915c2718 100644 --- a/content/wallets/pages/concepts/middleware.mdx +++ b/content/wallets/pages/concepts/middleware.mdx @@ -14,7 +14,7 @@ Middleware allows you to avoid having to write the same flows over and over when When using the [React](/docs/wallets/react/quickstart), [Core](/docs/wallets/core/overview), or - [Infra](/docs/wallets/reference/account-kit/infra) packages, the Smart Account + [Infra](https://github.com/alchemyplatform/aa-sdk/tree/v4.x.x/account-kit/infra) packages, the Smart Account Clients are already configured to use the appropriate middleware for your needs. If you want to sponsor gas, the Smart Account Clients in these packages abstract the relevant middleware away since all you need is a @@ -24,7 +24,7 @@ Middleware allows you to avoid having to write the same flows over and over when As mentioned above, the client can be configured with a series of middleware that always run in the same order: 1. `dummyPaymasterAndData` - Generates a dummy paymaster and data for gas estimation if using a paymaster (default: noop) -2. `feeEstimator` - Estimates the fees for a transaction. If you are using Wallet APIs RPCs, use the [`alchemyFeeEstimator`](/docs/wallets/reference/account-kit/infra) middleware. +2. `feeEstimator` - Estimates the fees for a transaction. If you are using Wallet APIs RPCs, use the [`alchemyFeeEstimator`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/infra/src/middleware/feeEstimator.ts) middleware. 3. `gasEstimator` - Estimates the gas limits for a transaction. The default middleware calls the underlying RPC to `eth_estimateUserOperationGas`. 4. `customMiddleware` - Allows you to define custom middleware to run before requesting sponsorship if there are any additional steps you need to take before requesting sponsorship. (default: noop) 5. `paymasterAndData` - Requests gas sponsorship. (default: noop) diff --git a/content/wallets/pages/core/overview.mdx b/content/wallets/pages/core/overview.mdx index 68fee7c46..6ae10aa95 100644 --- a/content/wallets/pages/core/overview.mdx +++ b/content/wallets/pages/core/overview.mdx @@ -20,8 +20,8 @@ how you can leverage this package to build your own integration with Wallet APIs `@account-kit/core` is itself a higher level wrapper around the three lower level SDKs: -* [`@account-kit/infra`](/docs/wallets/reference/account-kit/infra) - this package contains all of the Smart Account Client and Gas Manager definitions you need to interact with the infrastructure services. +* [`@account-kit/infra`](https://github.com/alchemyplatform/aa-sdk/tree/v4.x.x/account-kit/infra) - this package contains all of the Smart Account Client and Gas Manager definitions you need to interact with the infrastructure services. * [`@account-kit/signer`](/docs/wallets/signer/what-is-a-signer) - this package contains all of the utilities you need to instantiate and interact with the authentication service. This allows you to provision wallets for your users that can be used as owners on smart wallets. -* [`@account-kit/smart-contracts`](/docs/wallets/reference/account-kit/smart-contracts) - this package contains all definitions for the smart contracts and allows you to provision and deploy smart contracts for your users seamlessly. +* [`@account-kit/smart-contracts`](https://github.com/alchemyplatform/aa-sdk/tree/v4.x.x/account-kit/smart-contracts) - this package contains all definitions for the smart contracts and allows you to provision and deploy smart contracts for your users seamlessly. Using these packages directly offers you the most control over your stack, but requires significantly more work to get started. diff --git a/content/wallets/pages/low-level-infra/third-party-infrastructure/bundlers.mdx b/content/wallets/pages/low-level-infra/third-party-infrastructure/bundlers.mdx index fa8deadce..75d76c0e7 100644 --- a/content/wallets/pages/low-level-infra/third-party-infrastructure/bundlers.mdx +++ b/content/wallets/pages/low-level-infra/third-party-infrastructure/bundlers.mdx @@ -33,7 +33,7 @@ any other provider's URL. ## Splitting bundler traffic and node RPC traffic -You may want to use a different RPC provider for your bundler traffic and your node traffic. This is a common use case, and you can do this by leveraging the [`split`](/docs/wallets/reference/aa-sdk/core/functions/split) transport and passing it to your `createSmartAccountClient` call. For example: +You may want to use a different RPC provider for your bundler traffic and your node traffic. This is a common use case, and you can do this by leveraging the [`split`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/aa-sdk/core/src/transport/split.ts) transport and passing it to your `createSmartAccountClient` call. For example: ### Bundler and Gas Manager with third-party RPCs diff --git a/content/wallets/pages/low-level-infra/third-party-infrastructure/chains.mdx b/content/wallets/pages/low-level-infra/third-party-infrastructure/chains.mdx index 7a1b7a53b..c4b775ca5 100644 --- a/content/wallets/pages/low-level-infra/third-party-infrastructure/chains.mdx +++ b/content/wallets/pages/low-level-infra/third-party-infrastructure/chains.mdx @@ -32,4 +32,4 @@ const smartAccountClient = createLightAccountAlchemyClient({ To use non-Alchemy supported chains, use the `createSmartAccountClient` method from `@aa-sdk/core` or any of the non-Alchemy `create*Client` methods exported from `@account-kit/smart-contracts` with a `chain` definition for your chain and a `transport` pointing to your RPC provider. -See [`createSmartAccountClient`](/docs/wallets/reference/aa-sdk/core/functions/createSmartAccountClient) for more information. +See [`createSmartAccountClient`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/aa-sdk/core/src/client/smartAccountClient.ts) for more information. diff --git a/content/wallets/pages/react-native/overview.mdx b/content/wallets/pages/react-native/overview.mdx index 331ba4366..2dcc98bc0 100644 --- a/content/wallets/pages/react-native/overview.mdx +++ b/content/wallets/pages/react-native/overview.mdx @@ -7,7 +7,7 @@ slug: wallets/react-native/overview import { ExpoIcon } from "../../components/icons/ExpoIcon"; import { ReactNativeIcon } from "../../components/icons/ReactNativeIcon"; -A simple example for reference purposes is available [here](https://github.com/alchemyplatform/aa-sdk/tree/main/examples/react-native-expo-example). This was built using Expo, but the same principles apply to a bare React Native app as well. +A simple example for reference purposes is available [here](https://github.com/alchemyplatform/aa-sdk/tree/v4.x.x/examples/react-native-expo-example). This was built using Expo, but the same principles apply to a bare React Native app as well. ## Getting Started diff --git a/content/wallets/pages/react/connectors/customization.mdx b/content/wallets/pages/react/connectors/customization.mdx index 7309a0690..d9ea92c71 100644 --- a/content/wallets/pages/react/connectors/customization.mdx +++ b/content/wallets/pages/react/connectors/customization.mdx @@ -4,6 +4,8 @@ description: Customize external wallet connectors including ordering and feature slug: wallets/react/connectors/customization --- + + ### External wallets (EVM + Solana) Use `configForExternalWallets()` to specify external wallets you want to support, then add to your UI configuration. This allows you to feature wallets, merge EVM/Solana variants by name, and enable WalletConnect. diff --git a/content/wallets/pages/react/customization/tailwind-setup.mdx b/content/wallets/pages/react/customization/tailwind-setup.mdx index 680938359..cfe162e64 100644 --- a/content/wallets/pages/react/customization/tailwind-setup.mdx +++ b/content/wallets/pages/react/customization/tailwind-setup.mdx @@ -4,6 +4,8 @@ description: Complete guide to setting up Tailwind CSS with UI components slug: wallets/react/tailwind-setup --- + + To use pre-built UI components for user login Tailwind CSS must be configured in your project. This guide walks you through the complete setup process for both new and existing Tailwind installations. ## Prerequisites diff --git a/content/wallets/pages/react/customization/theme.mdx b/content/wallets/pages/react/customization/theme.mdx index 3acaebdf5..1bd265d47 100644 --- a/content/wallets/pages/react/customization/theme.mdx +++ b/content/wallets/pages/react/customization/theme.mdx @@ -4,6 +4,8 @@ description: Customize the theme of your Wallet APIs app slug: wallets/react/customization/theme --- + + UI components are fully customizable so you can match your app's branding. What you can customize in the pre-built authentication component: @@ -28,7 +30,7 @@ Theme customizations and styling are passed through `withAccountKitUi`, the Wall ## Colors -The [Wallet APIs Theme](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/react/src/tailwind/types.ts) object passed to `withAccountKitUi` supports an overridable `colors` object which accepts a set of color values. Each color is a key-value pair where the key is the name of the color and the value is an object containing the `light` and `dark` mode value to use. +The [Wallet APIs Theme](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/tailwind/types.ts) object passed to `withAccountKitUi` supports an overridable `colors` object which accepts a set of color values. Each color is a key-value pair where the key is the name of the color and the value is an object containing the `light` and `dark` mode value to use. ### Border colors @@ -173,7 +175,7 @@ The available options are: Unlike colors and border radius, illustration styles are not passed through the Tailwind plugin. -Customize the illustration style of various icons used in the components by passing one of the [enum values](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/react/src/types.ts) to `illustrationStyle` in your `uiConfig` when you call `createConfig`. +Customize the illustration style of various icons used in the components by passing one of the [enum values](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/types.ts) to `illustrationStyle` in your `uiConfig` when you call `createConfig`. ```ts twoslash import { createConfig } from "@account-kit/react"; diff --git a/content/wallets/pages/react/getting-started/initialization.mdx b/content/wallets/pages/react/getting-started/initialization.mdx index 65e020542..67790157f 100644 --- a/content/wallets/pages/react/getting-started/initialization.mdx +++ b/content/wallets/pages/react/getting-started/initialization.mdx @@ -23,8 +23,8 @@ This command passes in flags to use Typescript, Tailwind and the next app router You need these three libraries: -* **@account-kit/infra**: Core interfaces and functions for Wallet APIs ([learn more](/docs/wallets/reference/account-kit/infra)) -* **@account-kit/react**: React Hooks, components and utilities for Wallet APIs ([learn more](/docs/wallets/reference/account-kit/react)) +* **@account-kit/infra**: Core interfaces and functions for Wallet APIs ([learn more](https://github.com/alchemyplatform/aa-sdk/tree/v4.x.x/account-kit/infra)) +* **@account-kit/react**: React Hooks, components and utilities for Wallet APIs ([learn more](https://github.com/alchemyplatform/aa-sdk/tree/v4.x.x/account-kit/react)) * **@tanstack/react-query**: A required async state library to make Wallet APIs react hooks easier to use ([learn more about this library's motivation here](https://tanstack.com/query/latest/docs/framework/react/overview)) Go ahead and install them to the project with a single command: diff --git a/content/wallets/pages/react/login-methods/adding-and-removing-login-methods.mdx b/content/wallets/pages/react/login-methods/adding-and-removing-login-methods.mdx index 50baf79b9..fe6445047 100644 --- a/content/wallets/pages/react/login-methods/adding-and-removing-login-methods.mdx +++ b/content/wallets/pages/react/login-methods/adding-and-removing-login-methods.mdx @@ -4,6 +4,8 @@ description: Learn how to add and remove login methods to an account slug: wallets/signer/authentication/adding-and-removing-login-methods --- + + If your user has already authenticated with email, social auth, or a passkey, you can add additional login methods to their account or remove currently enabled methods from their account. This is useful in the case that you want to give your users the ability to customize their login methods after their account is created. ## Viewing the currently enabled auth methods diff --git a/content/wallets/pages/react/login-methods/eoa-login.mdx b/content/wallets/pages/react/login-methods/eoa-login.mdx index d2b042cd9..c221e3f0d 100644 --- a/content/wallets/pages/react/login-methods/eoa-login.mdx +++ b/content/wallets/pages/react/login-methods/eoa-login.mdx @@ -4,6 +4,8 @@ description: How to connect external wallets on EVM and Solana slug: wallets/react/login-methods/eoa-login --- + + # Overview Connectors let users authenticate with existing **external wallets**. Both **EVM** (e.g., MetaMask, Coinbase, WalletConnect) and **Solana** (e.g., Phantom) wallets are supported via UI components or custom UI, and can be surfaced together in your auth modal. @@ -110,7 +112,7 @@ If you don't want to use pre-built UI components, you can use React hooks to cus ### EVM connectors -Use the [useConnect](https://www.alchemy.com/docs/wallets/reference/account-kit/react/hooks/useConnect) hook to allow users to connect their EOA via available connectors: +Use the [useConnect](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/hooks/useConnect.ts) hook to allow users to connect their EOA via available connectors: ```tsx twoslash // @noErrors diff --git a/content/wallets/pages/react/login-methods/onchain-passkeys.mdx b/content/wallets/pages/react/login-methods/onchain-passkeys.mdx index 31e8baeda..e91eafa7d 100644 --- a/content/wallets/pages/react/login-methods/onchain-passkeys.mdx +++ b/content/wallets/pages/react/login-methods/onchain-passkeys.mdx @@ -4,6 +4,8 @@ description: How to use onchain passkeys to authenticate users and send transact slug: wallets/react/login-methods/onchain-passkeys --- + + **This feature is in early access.** The WebAuthn Modular Account enables password-less authentication onchain using **passkeys** (via WebAuthn), and is compatible with [Wallet APIs](/docs/wallets). This guide demonstrates how to register credentials, authenticate users, and send transactions using the `@account-kit/smart-contracts` package. diff --git a/content/wallets/pages/react/login-methods/passkey-login.mdx b/content/wallets/pages/react/login-methods/passkey-login.mdx index a8014a27f..0a1d22d1f 100644 --- a/content/wallets/pages/react/login-methods/passkey-login.mdx +++ b/content/wallets/pages/react/login-methods/passkey-login.mdx @@ -4,6 +4,8 @@ description: How to implement Passkey Login authentication in your React app slug: wallets/react/login-methods/passkey-login --- + + If a user has added a passkey to their account, or they initially signed up with a passkey, authenticate them using that passkey. This provides a secure, passwordless authentication experience. You can implement Passkey Login authentication in two ways: @@ -66,7 +68,7 @@ type PasskeyAuthType = { }; ``` -You can find the full type definition in the [Account Kit source code](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/react/src/components/auth/types.ts). +You can find the full type definition in the [Account Kit source code](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/components/auth/types.ts). For more details on UI component customization, see the [UI Components](/docs/wallets/react/ui-components) documentation. diff --git a/content/wallets/pages/react/login-methods/social-providers.mdx b/content/wallets/pages/react/login-methods/social-providers.mdx index d2c574b64..881c207d6 100644 --- a/content/wallets/pages/react/login-methods/social-providers.mdx +++ b/content/wallets/pages/react/login-methods/social-providers.mdx @@ -4,6 +4,8 @@ description: How to implement custom social providers using Auth0 in your React slug: wallets/react/login-methods/social-providers --- + + In addition to the standard social login providers (Google, Facebook, Apple), Wallet APIs allows you to integrate custom OAuth providers through Auth0. This gives you flexibility to add authentication methods like GitHub, Twitter, LinkedIn, and more. You can implement custom social providers in two ways: @@ -139,7 +141,7 @@ type SocialAuthType = { }; ``` -You can find the full type definition in the [Account Kit source code](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/react/src/components/auth/types.ts). +You can find the full type definition in the [Account Kit source code](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/components/auth/types.ts). For more details on UI component customization, see the [UI Components](/docs/wallets/react/ui-components) documentation. diff --git a/content/wallets/pages/react/mfa/email-magic-link.mdx b/content/wallets/pages/react/mfa/email-magic-link.mdx index 3e80ef50e..6dc863506 100644 --- a/content/wallets/pages/react/mfa/email-magic-link.mdx +++ b/content/wallets/pages/react/mfa/email-magic-link.mdx @@ -4,6 +4,8 @@ description: How to authenticate users with Email Magic Link and MFA in your Rea slug: wallets/react/mfa/email-magic-link --- + + This guide shows you how to implement authentication with Email Magic Link and TOTP-based multi-factor authentication in your React application. ## Overview diff --git a/content/wallets/pages/react/mfa/email-otp.mdx b/content/wallets/pages/react/mfa/email-otp.mdx index b819ec34f..1ef5552fa 100644 --- a/content/wallets/pages/react/mfa/email-otp.mdx +++ b/content/wallets/pages/react/mfa/email-otp.mdx @@ -4,6 +4,8 @@ description: How to authenticate using Email OTP when MFA is enabled slug: wallets/react/mfa/email-otp --- + + This guide shows you how to implement Email OTP authentication when a user has multi-factor authentication (MFA) enabled. ## Overview diff --git a/content/wallets/pages/react/mfa/setup-mfa.mdx b/content/wallets/pages/react/mfa/setup-mfa.mdx index 623995eef..b80b2b658 100644 --- a/content/wallets/pages/react/mfa/setup-mfa.mdx +++ b/content/wallets/pages/react/mfa/setup-mfa.mdx @@ -4,6 +4,8 @@ description: How to set up additional security with authenticator apps in your R slug: wallets/react/mfa/setup-mfa --- + + With Wallet APIs, multi-factor authentication (MFA) uses authenticator apps—like Google Authenticator, Authy, or Microsoft Authenticator—to generate a Time-based One-Time Password (TOTP). diff --git a/content/wallets/pages/react/mfa/social-login.mdx b/content/wallets/pages/react/mfa/social-login.mdx index 9912e6f79..fab565465 100644 --- a/content/wallets/pages/react/mfa/social-login.mdx +++ b/content/wallets/pages/react/mfa/social-login.mdx @@ -4,6 +4,8 @@ description: How to authenticate users with Social Login when MFA is enabled slug: wallets/react/mfa/social-login --- + + This guide shows you how to implement social login authentication when a user has multi-factor authentication (MFA) enabled. ## Overview diff --git a/content/wallets/pages/react/react-hooks.mdx b/content/wallets/pages/react/react-hooks.mdx index e935f3dfd..6444498f0 100644 --- a/content/wallets/pages/react/react-hooks.mdx +++ b/content/wallets/pages/react/react-hooks.mdx @@ -4,6 +4,8 @@ description: Overview of implementing custom authentication UI in your React app slug: wallets/react/react-hooks --- + + Pre-built UI components are available for authentication, but you may want to create your own custom UI to match your application's design system. This section covers how to implement custom authentication flows using Wallet APIs hooks. diff --git a/content/wallets/pages/react/solana-wallets/get-started.mdx b/content/wallets/pages/react/solana-wallets/get-started.mdx index d1d072fce..0023f4aa8 100644 --- a/content/wallets/pages/react/solana-wallets/get-started.mdx +++ b/content/wallets/pages/react/solana-wallets/get-started.mdx @@ -5,6 +5,8 @@ text: Getting started with Solana Wallet APIs slug: wallets/react/solana-wallets/get-started --- + + Solana Wallet support is in beta. Please [reach out](mailto:support@alchemy.com) if you run into any issues or need support @@ -122,7 +124,7 @@ function MyComponent() { ## Using the `useSolanaTransaction` hook -If you want to connect to a user’s Solana Wallet and send transactions, you should use the [`useSolanaTransaction`](/docs/wallets/reference/account-kit/react/hooks/useSolanaTransaction) hook. This hook also exposes the Solana wallet address through the `signer.address` parameter. +If you want to connect to a user’s Solana Wallet and send transactions, you should use the [`useSolanaTransaction`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/hooks/useSolanaTransaction.ts) hook. This hook also exposes the Solana wallet address through the `signer.address` parameter. ## Not using React hooks? diff --git a/content/wallets/pages/react/ui-components.mdx b/content/wallets/pages/react/ui-components.mdx index 95865949b..707c456b5 100644 --- a/content/wallets/pages/react/ui-components.mdx +++ b/content/wallets/pages/react/ui-components.mdx @@ -4,6 +4,8 @@ description: How to use our pre-built authentication component in your React app slug: wallets/react/ui-components --- + + Wallet APIs allows you to use pre-built, highly customizable UI components to handle authenticating your users. These components provide flexibility to: * Use the pre-built [modal](#modal-auth) or [embed](#embedded-auth) the auth card directly in your app @@ -30,7 +32,7 @@ If your users have an authenticator app (TOTP) set up, the UI components will au ## Modal auth -Assuming your application has been [set up](/docs/wallets/react/quickstart), using UI components is the easiest way to authenticate users. All you have to do is leverage the [`useAuthModal`](/docs/wallets/reference/account-kit/react/hooks/useAuthModal) hook and provide users a CTA to open the modal. +Assuming your application has been [set up](/docs/wallets/react/quickstart), using UI components is the easiest way to authenticate users. All you have to do is leverage the [`useAuthModal`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/hooks/useAuthModal.ts) hook and provide users a CTA to open the modal. ```tsx twoslash import React from "react"; @@ -43,7 +45,7 @@ export default function MyPage() { } ``` -That's it! When the user clicks that button, the modal will open and they can complete authentication. Once they are authenticated, you can use the [`useAccount`](/docs/wallets/reference/account-kit/react/hooks/useAccount) hook to get the logged in user's SCA address. +That's it! When the user clicks that button, the modal will open and they can complete authentication. Once they are authenticated, you can use the [`useAccount`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/hooks/useAccount.ts) hook to get the logged in user's SCA address. **Want to display a loading state during authentication?**
For authentication with redirects in a modal, you may want to add a loading state when users are waiting for authentication to complete. @@ -80,7 +82,7 @@ export default function MyLoginPage() { } ``` -That's it! The user can now input their credentials and complete login. Once they are authenticated, you can use the [`useAccount`](/docs/wallets/reference/account-kit/react/hooks/useAccount) hook to get the logged in user's SCA address. +That's it! The user can now input their credentials and complete login. Once they are authenticated, you can use the [`useAccount`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/hooks/useAccount.ts) hook to get the logged in user's SCA address. ## Customize authentication UI @@ -96,7 +98,7 @@ When rendering the authentication component to your users, it's possible to cust * `sections` object is an array of arrays representing the various sections in descending order, each section (element in the outer array) separated by a divider in the UI * each item within a section is an `AuthTypes` objects containing configuration parameters for that authentication method. -**The following [`AuthTypes`](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/react/src/components/auth/types.ts) +**The following [`AuthTypes`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/components/auth/types.ts) can be passed into sections:** ### Email diff --git a/content/wallets/pages/recipes/hyperliquid-wallets.mdx b/content/wallets/pages/recipes/hyperliquid-wallets.mdx index 990ca2d83..94d077c3d 100644 --- a/content/wallets/pages/recipes/hyperliquid-wallets.mdx +++ b/content/wallets/pages/recipes/hyperliquid-wallets.mdx @@ -74,13 +74,13 @@ The most important step is getting your API key (`NEXT_PUBLIC_ALCHEMY_API_KEY`) Hyperliquid dashboard support -Next, navigate to your `page.tsx`, and get the embedded EOA address using [useSigner()](https://www.alchemy.com/docs/wallets/reference/account-kit/react/hooks/useSigner). This new embedded EOA will be where user assets live and will sign transactions. +Next, navigate to your `page.tsx`, and get the embedded EOA address using [useSigner()](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/hooks/useSigner.ts). This new embedded EOA will be where user assets live and will sign transactions. ```tsx const signer = useSigner(); ``` -Note: to access your embedded EOA, you need to have finished authentication. To check your authentication status, use [useSignerStatus()](https://www.alchemy.com/docs/wallets/reference/account-kit/react/hooks/useSignerStatus). For example: +Note: to access your embedded EOA, you need to have finished authentication. To check your authentication status, use [useSignerStatus()](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/hooks/useSignerStatus.ts). For example: ```tsx ... @@ -230,7 +230,7 @@ export const HYPERLIQUID_CALLDATA = (() => { ### Using React -If you are working in React, you can use the [useSendUserOperation](https://www.alchemy.com/docs/wallets/reference/account-kit/react/hooks/useSendUserOperation) hook. Make sure you have set up your config from step 1. +If you are working in React, you can use the [useSendUserOperation](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/hooks/useSendUserOperation.ts) hook. Make sure you have set up your config from step 1. ```tsx import React from "react"; @@ -279,7 +279,7 @@ export default ComponentWithSendUserOperation; ### Without React -If you are not using React, you can send the same user operation directly with the [Modular Account V2 client](https://www.alchemy.com/docs/wallets/reference/account-kit/smart-contracts/functions/createModularAccountV2Client) in account-kit, passing in the chain config from step 1 and signer from step 2. +If you are not using React, you can send the same user operation directly with the [Modular Account V2 client](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/smart-contracts/src/ma-v2/client/client.ts) in account-kit, passing in the chain config from step 1 and signer from step 2. ```ts import { createModularAccountV2Client } from "@account-kit/smart-contracts"; diff --git a/content/wallets/pages/recipes/multi-chain-setup.mdx b/content/wallets/pages/recipes/multi-chain-setup.mdx index b4e4efe1d..4d513d5f1 100644 --- a/content/wallets/pages/recipes/multi-chain-setup.mdx +++ b/content/wallets/pages/recipes/multi-chain-setup.mdx @@ -39,7 +39,7 @@ export const config = createConfig({ ## Change chains -Once your app is configured to use multiple chains, you can switch between them at any time using the [`useChain`](/docs/wallets/reference/account-kit/react/hooks/useChain) hook. +Once your app is configured to use multiple chains, you can switch between them at any time using the [`useChain`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/hooks/useChain.ts) hook. ```tsx twoslash import React from "react"; @@ -94,7 +94,7 @@ export const config = createConfig({ ## Change chains -Once your app is configured to use multiple chains, you can switch between them at any time using the [`setChain`](/docs/wallets/reference/account-kit/core/functions/setChain) function. +Once your app is configured to use multiple chains, you can switch between them at any time using the [`setChain`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/core/src/actions/setChain.ts) function. Changing the chain will trigger state changes in your app (eg. the diff --git a/content/wallets/pages/recipes/smart-wallets-aave.mdx b/content/wallets/pages/recipes/smart-wallets-aave.mdx index ebb4bb75a..16c371e5f 100644 --- a/content/wallets/pages/recipes/smart-wallets-aave.mdx +++ b/content/wallets/pages/recipes/smart-wallets-aave.mdx @@ -7,7 +7,7 @@ description: >- slug: wallets/recipes/smart-wallets-aave --- -Learn how to build DeFi applications that interact with Aave using Wallet APIs. This recipe covers supplying and withdrawing assets with both the [Core library](/docs/wallets/reference/aa-sdk/core) and the [Wallet APIs](/docs/wallets/api-reference/smart-wallets/wallet-api-endpoints/wallet-request-account) for seamless user experiences. +Learn how to build DeFi applications that interact with Aave using Wallet APIs. This recipe covers supplying and withdrawing assets with both the [Core library](https://github.com/alchemyplatform/aa-sdk/tree/v4.x.x/aa-sdk/core) and the [Wallet APIs](/docs/wallets/api-reference/smart-wallets/wallet-api-endpoints/wallet-request-account) for seamless user experiences. ## Prerequisites diff --git a/content/wallets/pages/resources/faqs.mdx b/content/wallets/pages/resources/faqs.mdx index 96ad3a338..649cf9d87 100644 --- a/content/wallets/pages/resources/faqs.mdx +++ b/content/wallets/pages/resources/faqs.mdx @@ -29,7 +29,7 @@ slug: wallets/resources/faqs Your smart wallet deploys when the first `UserOperation` (UO) is sent from the account. The first UO must be sent with a non-zero `initCode`. aa-sdk handles generation of this `initCode` for you using - [`getAccountInitCode`](/docs/wallets/reference/aa-sdk/core/functions/toSmartContractAccount). + [`getAccountInitCode`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/aa-sdk/core/src/account/smartContractAccount.ts). ### How do I upgrade a Light Account? @@ -86,9 +86,9 @@ slug: wallets/resources/faqs This can happen when `UserOperation`s (UOs) become underpriced, frequently due to fee market movement between when gas and fees are estimations and when the UO is actually submitted. - You may experience this when calling the [`waitForUserOperationTransaction`](/docs/wallets/reference/aa-sdk/core/variables/waitForUserOperationTransaction) method. It may throw an error if it does not find the UO in a mined Transaction within its retry limits. + You may experience this when calling the [`waitForUserOperationTransaction`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/aa-sdk/core/src/actions/smartAccount/waitForUserOperationTransacation.ts) method. It may throw an error if it does not find the UO in a mined Transaction within its retry limits. - You can mitigate this by defining a more flexible retry period when constructing a [`Client`](/docs/wallets/reference/aa-sdk/core/functions/createSmartAccountClient) (i.e. `txMaxRetries`, `txRetryIntervalMs`, `txRetryMultiplier` in `opts`). If your UO continues to be delayed beyond a limit you are willing to wait, you can resubmit it using [`dropAndReplaceUserOperation`](/docs/wallets/reference/aa-sdk/core/functions/dropAndReplaceUserOperation). + You can mitigate this by defining a more flexible retry period when constructing a [`Client`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/aa-sdk/core/src/client/smartAccountClient.ts) (i.e. `txMaxRetries`, `txRetryIntervalMs`, `txRetryMultiplier` in `opts`). If your UO continues to be delayed beyond a limit you are willing to wait, you can resubmit it using [`dropAndReplaceUserOperation`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/aa-sdk/core/src/actions/smartAccount/dropAndReplaceUserOperation.ts). ### Are `UserOperation`s protected from MEV bots? @@ -192,7 +192,7 @@ slug: wallets/resources/faqs Use this flow when you need to verify user sessions created by SCAs via Wallet APIs. - 1. The frontend generates a stamped request using [signer.inner.stampWhoAmI](https://www.alchemy.com/docs/wallets/reference/account-kit/signer/classes/BaseSignerClient#stampwhoami). + 1. The frontend generates a stamped request using [signer.inner.stampWhoAmI](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/signer/src/client/base.ts). 2. It sends the stamp to your backend. 3. The backend calls the [/signer/v1/whoami](https://www.alchemy.com/docs/node/smart-wallets/signer-api-endpoints/auth-user) endpoint to verify the identity. 4. If you need to make subsequent requests, you can avoid calling the whoami endpoint on every request. After verifying the `whoami`, the backend can issue its own session token (e.g. an HTTP-only cookie or access token). If the token is present, you can safely skip the `whoami` check. @@ -253,11 +253,11 @@ slug: wallets/resources/faqs ### `waitForUserOperationTransaction` timeout - [`waitForUserOperationTransaction`](/docs/wallets/reference/aa-sdk/core/variables/waitForUserOperationTransaction) may throw this error if it does not find the mined User Operation within its retry limits. + [`waitForUserOperationTransaction`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/aa-sdk/core/src/actions/smartAccount/waitForUserOperationTransacation.ts) may throw this error if it does not find the mined User Operation within its retry limits. - You can mitigate this by defining a more flexible retry period when constructing a [`Client`](/docs/wallets/reference/aa-sdk/core/functions/createSmartAccountClient) (i.e. `txMaxRetries`, `txRetryIntervalMs`, `txRetryMultiplier` in `opts`). + You can mitigate this by defining a more flexible retry period when constructing a [`Client`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/aa-sdk/core/src/client/smartAccountClient.ts) (i.e. `txMaxRetries`, `txRetryIntervalMs`, `txRetryMultiplier` in `opts`). - If your `UserOperation` continues to be delayed beyond a limit you are willing to wait, you can resubmit the user operation using [`dropAndReplaceUserOperation`](/docs/wallets/reference/aa-sdk/core/functions/dropAndReplaceUserOperation#usage). + If your `UserOperation` continues to be delayed beyond a limit you are willing to wait, you can resubmit the user operation using [`dropAndReplaceUserOperation`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/aa-sdk/core/src/actions/smartAccount/dropAndReplaceUserOperation.ts). ### `Although one or more Error Occurred [execution reverted] Contract Execution Completed` on etherscan @@ -358,7 +358,7 @@ createConfig({ }) ``` -[Reference: createConfig](https://www.alchemy.com/docs/wallets/reference/account-kit/react/functions/createConfig) +[Reference: createConfig](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/createConfig.ts) *** diff --git a/content/wallets/pages/resources/types.mdx b/content/wallets/pages/resources/types.mdx index 6591d199d..749848b60 100644 --- a/content/wallets/pages/resources/types.mdx +++ b/content/wallets/pages/resources/types.mdx @@ -116,7 +116,7 @@ export type BundlerActions = { ## `BundlerClient` -`BundlerClient` is a custom `viem` [`Client`](https://viem.sh/docs/clients/custom) that extends viem's [`PublicClient`](https://viem.sh/docs/clients/public) with bundler-specific actions for [EIP-4337](https://eips.ethereum.org/EIPS/eip-4337) operations and [EIP-6900](https://eips.ethereum.org/EIPS/eip-6900) standards. The actions are defined in [`@aa-sdk/core`](/docs/wallets/reference/aa-sdk/core). It's account agnostic and only exposes methods for interacting directly with Bundler RPC and ETH RPC methods. +`BundlerClient` is a custom `viem` [`Client`](https://viem.sh/docs/clients/custom) that extends viem's [`PublicClient`](https://viem.sh/docs/clients/public) with bundler-specific actions for [EIP-4337](https://eips.ethereum.org/EIPS/eip-4337) operations and [EIP-6900](https://eips.ethereum.org/EIPS/eip-6900) standards. The actions are defined in [`@aa-sdk/core`](https://github.com/alchemyplatform/aa-sdk/tree/v4.x.x/aa-sdk/core). It's account agnostic and only exposes methods for interacting directly with Bundler RPC and ETH RPC methods. `BundlerClient` also supports [`Public Actions`](https://viem.sh/docs/actions/public/introduction) for client applications to connect, query, and interact with the blockchain (i.e., sending transactions, smart contract executions, data retrieval, etc.). Additionally, it is EIP-1193 compliant, so it can be swapped out in place of other web3 providers (eg. `window.ethereum`). In the vast majority of cases, you will not use this client directly. Use the [`SmartAccountClient`](/docs/wallets/concepts/smart-account-client) instead, which wraps the Bundler Client and provides the same actions plus account-specific functionality. @@ -407,11 +407,11 @@ export interface SmartAccountSigner { Within Wallet APIs, implementations for Light Account and Modular Account are exported from `@account-kit/smart-contracts`. These implementations handle the logic for generating the deployment data, encoding single and batch UO execution, and signing of messages, typed data, and UOs. -Wallets are rarely used on their own, and are typically passed in to [Smart Account Client](/docs/wallets/reference/aa-sdk/core/type-aliases/SmartAccountClient) implementations. +Wallets are rarely used on their own, and are typically passed in to [Smart Account Client](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/aa-sdk/core/src/client/types.ts) implementations. When using either the [React](/docs/wallets/react/quickstart) or [Core](/docs/wallets/core/overview) libraries, the connection of an account and a client is handled for you. -It's also possible to use a custom account when using the [Infra](/docs/wallets/reference/account-kit/infra) library. -Within `@aa-sdk/core`, a method [`toSmartContractAccount`](/docs/wallets/reference/aa-sdk/core/functions/toSmartContractAccount) is provided so you can create an instance of your smart wallet. +It's also possible to use a custom account when using the [Infra](https://github.com/alchemyplatform/aa-sdk/tree/v4.x.x/account-kit/infra) library. +Within `@aa-sdk/core`, a method [`toSmartContractAccount`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/aa-sdk/core/src/account/smartContractAccount.ts) is provided so you can create an instance of your smart wallet. @@ -452,7 +452,7 @@ State overrides allow you to customize the network state for the purpose of the ## `ToSmartContractAccountParams` -This type defines the parameters to the `SmartContractAccount` instantiation action, [`toSmartContractAccount`](/docs/wallets/reference/aa-sdk/core/functions/toSmartContractAccount). You can configure this parameter to specify the [`Transport`](https://viem.sh/docs/clients/intro#transports), [`Chain`](https://viem.sh/docs/glossary/types#chain), [`EntryPointDef`](#entrypointdef), and other base functionalities of the smart wallet that you are creating. +This type defines the parameters to the `SmartContractAccount` instantiation action, [`toSmartContractAccount`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/aa-sdk/core/src/account/smartContractAccount.ts). You can configure this parameter to specify the [`Transport`](https://viem.sh/docs/clients/intro#transports), [`Chain`](https://viem.sh/docs/glossary/types#chain), [`EntryPointDef`](#entrypointdef), and other base functionalities of the smart wallet that you are creating. @@ -485,7 +485,7 @@ export type ToSmartContractAccountParams< ## `User` -`User` is a type that defines the model for the details of a user's embedded account. It includes the user's `email`, `orgId`, `userId`, `address` (the EOA address corresponding to the user credentials), and `credentialId`. You can use the [`useUser`](/docs/wallets/reference/account-kit/react/hooks/useUser) React hook to look up a user. +`User` is a type that defines the model for the details of a user's embedded account. It includes the user's `email`, `orgId`, `userId`, `address` (the EOA address corresponding to the user credentials), and `credentialId`. You can use the [`useUser`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/hooks/useUser.ts) React hook to look up a user. diff --git a/content/wallets/pages/signer/authentication/server-wallets.mdx b/content/wallets/pages/signer/authentication/server-wallets.mdx index 7b4129789..28497d837 100644 --- a/content/wallets/pages/signer/authentication/server-wallets.mdx +++ b/content/wallets/pages/signer/authentication/server-wallets.mdx @@ -4,6 +4,8 @@ description: Control wallets programmatically using access keys slug: wallets/authentication/login-methods/server-wallets --- + + Server wallets are in early access. Contact wallets@alchemy.com for help getting up and running. diff --git a/content/wallets/pages/signer/export-private-key.mdx b/content/wallets/pages/signer/export-private-key.mdx index 0709f600b..63822d9cd 100644 --- a/content/wallets/pages/signer/export-private-key.mdx +++ b/content/wallets/pages/signer/export-private-key.mdx @@ -5,9 +5,11 @@ description: Learn how to enable a user to export their private key with Wallet slug: wallets/signer/export-private-key --- + + You can export a user's private key, giving them the right to exit at any time. Allowing your users to export their private key is a best practice, as it gives them full control over their account. The private key export method does not rely on external infrastructure, so a user can always export their private key. -## Using [useExportAccount](/docs/wallets/reference/account-kit/react/hooks/useExportAccount) +## Using [useExportAccount](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/hooks/useExportAccount.ts) A hook to export the private key for an account. It returns the mutation functions to kick off the export process, as well as a component to render the account recovery details in an iframe. diff --git a/content/wallets/pages/signer/quickstart.mdx b/content/wallets/pages/signer/quickstart.mdx index 809029c7e..6b07c854e 100644 --- a/content/wallets/pages/signer/quickstart.mdx +++ b/content/wallets/pages/signer/quickstart.mdx @@ -4,6 +4,8 @@ description: Get started with the authentication provider slug: wallets/signer/quickstart --- + + Using React? Follow [this](/docs/wallets/react/quickstart) quickstart guide instead for easy-to-use React hooks and integration with Wallet APIs. diff --git a/content/wallets/pages/signer/user-sessions.mdx b/content/wallets/pages/signer/user-sessions.mdx index 608001ebe..f916b2956 100644 --- a/content/wallets/pages/signer/user-sessions.mdx +++ b/content/wallets/pages/signer/user-sessions.mdx @@ -4,9 +4,11 @@ description: Learn how to configure and leverage sessions for your users with Wa slug: wallets/signer/user-sessions --- + + By default, `AlchemyWebSigner` user sessions are cached in `localStorage` for 15 minutes. -You can customize session length by passing a [`sessionConfig`](/docs/wallets/reference/account-kit/signer/classes/AlchemyWebSigner) to your `AlchemyWebSigner` constructor. +You can customize session length by passing a [`sessionConfig`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/signer/src/signer.ts) to your `AlchemyWebSigner` constructor. You can check if the user has an active session with the following command: diff --git a/content/wallets/pages/smart-contracts/modular-account-v2/managing-ownership.mdx b/content/wallets/pages/smart-contracts/modular-account-v2/managing-ownership.mdx index 9f3ede070..dfd3b0452 100644 --- a/content/wallets/pages/smart-contracts/modular-account-v2/managing-ownership.mdx +++ b/content/wallets/pages/smart-contracts/modular-account-v2/managing-ownership.mdx @@ -4,6 +4,8 @@ description: Managing ownership on your Modular Account V2 slug: wallets/smart-contracts/modular-account-v2/managing-ownership --- + + You can add an owner to your account, or transfer ownership of your account with Modular Account V2. To transfer ownership, call the `updateFallbackSignerData` function. Modular Account V2s achieve huge savings on creation because the owner address is cached in immutable bytecode on account creation. When transferring ownership, the fallback is set to the new owner address and this will be used during validation. The boolean is set to false for the account to check this value in storage instead of the immutable cached owner address. diff --git a/content/wallets/pages/smart-wallets/how-to-stamp-requests.mdx b/content/wallets/pages/smart-wallets/how-to-stamp-requests.mdx index c805e758f..d8e829e31 100644 --- a/content/wallets/pages/smart-wallets/how-to-stamp-requests.mdx +++ b/content/wallets/pages/smart-wallets/how-to-stamp-requests.mdx @@ -32,7 +32,7 @@ For any endpoint the requires a `stampedRequest` body for the verification logic 2. Generate a private key bundle - 1. Exchange the `targetPublicKey` for an encrypted `bundle` by calling [create wallet](/docs/wallets/reference/account-kit/core/functions/createAccount) (e.g., OAuth, email login) + 1. Exchange the `targetPublicKey` for an encrypted `bundle` by calling [create wallet](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/core/src/actions/createAccount.ts) (e.g., OAuth, email login) 3. Decrypt the bundle using Hybrid Public Key Encryption (HPKE). @@ -88,8 +88,8 @@ If you're building in React or Vanilla JS, use the [SDK](/docs/wallets) which ha * [JS SDK React Native stamper](https://github.com/alchemyplatform/aa-sdk/blob/9ad59f2d6673bc6f587e6a57343b1486c92f382f/account-kit/rn-signer/src/NativeTEKStamper.ts#L9) - * [Generating keys, stamping requests on iOS](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/rn-signer/ios/implementation/NativeTEKStamperImpl.swift) - * [Generating keys, stamping requests on Android](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/rn-signer/android/src/main/java/com/accountkit/reactnativesigner/NativeTEKStamperModule.kt) + * [Generating keys, stamping requests on iOS](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/rn-signer/ios/implementation/NativeTEKStamperImpl.swift) + * [Generating keys, stamping requests on Android](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/rn-signer/android/src/main/java/com/accountkit/reactnativesigner/NativeTEKStamperModule.kt) * [More examples of stamping via Turnkey](https://docs.turnkey.com/developer-reference/api-overview/stamps#stampers) diff --git a/content/wallets/pages/smart-wallets/session-keys/api.mdx b/content/wallets/pages/smart-wallets/session-keys/api.mdx index e0bf2195f..f71b6644f 100644 --- a/content/wallets/pages/smart-wallets/session-keys/api.mdx +++ b/content/wallets/pages/smart-wallets/session-keys/api.mdx @@ -43,7 +43,7 @@ slug: wallets/reference/wallet-apis-session-keys/api To create a session key: - * Get the public address of a key you want to use as a session key. This can be any key pair that has the ability to sign (either a local [account](/docs/wallets/reference/aa-sdk/core/classes/LocalAccountSigner) like an EOA or a key generated with an authentication provider). + * Get the public address of a key you want to use as a session key. This can be any key pair that has the ability to sign (either a local [account](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/aa-sdk/core/src/signer/local-account.ts) like an EOA or a key generated with an authentication provider). * Create a session for that key, by passing it as the `publicKey` in a call to `wallet_createSession`. (Note that this must be the public key **address**, not the full public key.) Use your owner address directly as the `account` field to enable [EIP-7702](/docs/wallets/transactions/using-eip-7702) by default. diff --git a/content/wallets/pages/third-party/signers/custom-integration.mdx b/content/wallets/pages/third-party/signers/custom-integration.mdx index e0c0761b5..1d4efad84 100644 --- a/content/wallets/pages/third-party/signers/custom-integration.mdx +++ b/content/wallets/pages/third-party/signers/custom-integration.mdx @@ -4,8 +4,6 @@ description: Use any viem-compatible signer with Wallet APIs slug: wallets/third-party/signers/custom-integration --- -`@alchemy/wallet-apis` (v5.x.x) is currently in beta but is the recommended replacement for `@account-kit/wallet-client` (v4.x.x). If you run into any issues, please [reach out](mailto:support@alchemy.com). - Any signer that provides a viem `LocalAccount` or `WalletClient` works with `createSmartWalletClient`. This guide covers the requirements and how to set up each type. ## Requirements diff --git a/content/wallets/pages/third-party/signers/openfort.mdx b/content/wallets/pages/third-party/signers/openfort.mdx index 422f9c263..6c799905d 100644 --- a/content/wallets/pages/third-party/signers/openfort.mdx +++ b/content/wallets/pages/third-party/signers/openfort.mdx @@ -4,8 +4,6 @@ description: Use Openfort with Wallet APIs for EIP-7702, sponsorship, and batchi slug: wallets/third-party/signers/openfort --- -`@alchemy/wallet-apis` (v5.x.x) is currently in beta but is the recommended replacement for `@account-kit/wallet-client` (v4.x.x). If you run into any issues, please [reach out](mailto:support@alchemy.com). - Upgrade existing Openfort embedded wallets to Wallet APIs to enable gasless transactions, batching, and more in under 10 minutes. Keep Openfort for authentication, no wallet migration needed. Add battle-tested transaction infrastructure using EIP-7702 to upgrade your wallets to Wallet APIs: * [#1 gas abstraction infrastructure](https://www.bundlebear.com/erc4337-bundlers/all) on the market diff --git a/content/wallets/pages/third-party/signers/privy.mdx b/content/wallets/pages/third-party/signers/privy.mdx index b68cb6cb5..80bcc12a8 100644 --- a/content/wallets/pages/third-party/signers/privy.mdx +++ b/content/wallets/pages/third-party/signers/privy.mdx @@ -4,8 +4,6 @@ description: Use Privy with Wallet APIs for EIP-7702, sponsorship, and batching slug: wallets/third-party/signers/privy --- -`@alchemy/wallet-apis` (v5.x.x) is currently in beta but is the recommended replacement for `@account-kit/wallet-client` (v4.x.x). If you run into any issues, please [reach out](mailto:support@alchemy.com). - Upgrade existing Privy wallets to Wallet APIs to enable gasless transactions, batching, and more in under 10 minutes. Keep Privy for authentication, no wallet migration needed. Add battle-tested transaction infrastructure using EIP-7702 to upgrade your wallets to Wallet APIs: * [#1 gas abstraction infrastructure](https://www.bundlebear.com/erc4337-bundlers/all) on the market diff --git a/content/wallets/pages/third-party/signers/turnkey.mdx b/content/wallets/pages/third-party/signers/turnkey.mdx index 60b347623..9b4360111 100644 --- a/content/wallets/pages/third-party/signers/turnkey.mdx +++ b/content/wallets/pages/third-party/signers/turnkey.mdx @@ -4,8 +4,6 @@ description: Use Turnkey with Wallet APIs for EIP-7702, sponsorship, and batchin slug: wallets/third-party/signers/turnkey --- -`@alchemy/wallet-apis` (v5.x.x) is currently in beta but is the recommended replacement for `@account-kit/wallet-client` (v4.x.x). If you run into any issues, please [reach out](mailto:support@alchemy.com). - Upgrade existing Turnkey wallets to Wallet APIs to enable gasless transactions, batching, and more in under 10 minutes. Keep Turnkey for key management, no wallet migration needed. Add battle-tested transaction infrastructure using EIP-7702 to upgrade EOAs to Wallet APIs: * [#1 gas abstraction infrastructure](https://www.bundlebear.com/erc4337-bundlers/all) on the market diff --git a/content/wallets/shared/account-kit-v4-banner.mdx b/content/wallets/shared/account-kit-v4-banner.mdx new file mode 100644 index 000000000..fa037e178 --- /dev/null +++ b/content/wallets/shared/account-kit-v4-banner.mdx @@ -0,0 +1 @@ +This page covers Account Kit (v4). For new projects, we recommend [v5 (`@alchemy/wallet-apis`)](/docs/wallets/quickstart) — see the [migration guide](/docs/wallets/resources/migration-v5). diff --git a/content/wallets/shared/react-native/signer-setup.mdx b/content/wallets/shared/react-native/signer-setup.mdx index 03e414418..17a65802a 100644 --- a/content/wallets/shared/react-native/signer-setup.mdx +++ b/content/wallets/shared/react-native/signer-setup.mdx @@ -46,7 +46,7 @@ * For testing, set up a server on [http://localhost:3000](http://localhost:3000/) or any other server - you control that redirects an incoming request to your app scheme. A sample implementation can be found in the [`example`](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/rn-signer/example/redirect-server/index.ts) + you control that redirects an incoming request to your app scheme. A sample implementation can be found in the [`example`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/rn-signer/example/redirect-server/index.ts) folder of the `React Native Signer` repo. * The HTTP or HTTPS URL you set up diff --git a/content/wallets/shared/setup-smart-account-client/smart-account-client-details.mdx b/content/wallets/shared/setup-smart-account-client/smart-account-client-details.mdx index 60fefc886..5366ba3ac 100644 --- a/content/wallets/shared/setup-smart-account-client/smart-account-client-details.mdx +++ b/content/wallets/shared/setup-smart-account-client/smart-account-client-details.mdx @@ -37,9 +37,9 @@ See the [full guide](/docs/wallets/transactions/sponsor-gas) for gas sponsorship | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Smart wallet implementation | `type` | One of `"ModularAccountV2"`, `"LightAccount"`, `"MultiOwnerLightAccount"`, `"MultiOwnerModularAccount"` | | Sponsor gas for users. Get your policy ID from the [Gas Manager dashboard](https://dashboard.alchemy.com/gas-manager) | `policyId` | `string` | - | Simulate user operations before sending (i.e. use [`alchemyUserOperationSimulator`](/docs/wallets/reference/account-kit/infra/functions/alchemyUserOperationSimulator)) | `useSimulation` | `boolean` | + | Simulate user operations before sending (i.e. use [`alchemyUserOperationSimulator`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/infra/src/middleware/userOperationSimulator.ts)) | `useSimulation` | `boolean` | | Custom middleware to run before requesting sponsorship | `customMiddleware` | `ClientMiddlewareFn` | - | Override fee estimation middleware (if you are using the Wallet APIs RPCs, use the default [`alchemyFeeEstimator`](/docs/wallets/reference/account-kit/infra/variables/alchemyFeeEstimator)) | `feeEstimator` | `ClientMiddlewareFn` | + | Override fee estimation middleware (if you are using the Wallet APIs RPCs, use the default [`alchemyFeeEstimator`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/infra/src/middleware/feeEstimator.ts)) | `feeEstimator` | `ClientMiddlewareFn` | | Override gas estimation middleware (the default middleware calls the underlying bundler RPC to `eth_estimateUserOperationGas`) | `gasEstimator` | `ClientMiddlewareFn` | | Override middleware that signs user operation(s) | `signUserOperation` | `ClientMiddlewareFn` | | Advanced account params | `accountParams` | `AccountConfig` with the following fields:
  • `mode`: `"default"` | `"7702"`
  • `entryPoint`: `EntryPointDef`
  • `signerEntity`: `SignerEntity`
  • `salt`: `bigint`
  • `factoryAddress`: `Address`
  • `initCode`: `Hex`
  • `accountAddress`: `Address`
| From 2aa7a8cc95ed2fe577b95f7f0525ecd8c4059f02 Mon Sep 17 00:00:00 2001 From: jakehobbs Date: Fri, 22 May 2026 14:49:07 -0700 Subject: [PATCH 2/2] =?UTF-8?q?Drop=20v4=20deprecation=20banner=20?= =?UTF-8?q?=E2=80=94=20v5=20has=20no=20signer=20SDK=20so=20"upgrade"=20is?= =?UTF-8?q?=20misleading=20on=20most=20AK=20pages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Scope-cuts the PR back to dead-link fixes + nav rename + beta-notice removal. The "Account Kit (v4)" section label still accurately flags this content as v4-specific. We'll revisit a banner once v5 ships a signer SDK and pages actually have a v5 destination to point at. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../pages/authentication/login-methods/bring-your-own-auth.mdx | 2 -- .../pages/authentication/login-methods/email-magic-link.mdx | 2 -- .../wallets/pages/authentication/login-methods/email-otp.mdx | 2 -- .../pages/authentication/login-methods/passkey-signup.mdx | 2 -- .../wallets/pages/authentication/login-methods/sms-login.mdx | 2 -- .../wallets/pages/authentication/login-methods/social-login.mdx | 2 -- content/wallets/pages/react/connectors/customization.mdx | 2 -- content/wallets/pages/react/customization/tailwind-setup.mdx | 2 -- content/wallets/pages/react/customization/theme.mdx | 2 -- .../react/login-methods/adding-and-removing-login-methods.mdx | 2 -- content/wallets/pages/react/login-methods/eoa-login.mdx | 2 -- content/wallets/pages/react/login-methods/onchain-passkeys.mdx | 2 -- content/wallets/pages/react/login-methods/passkey-login.mdx | 2 -- content/wallets/pages/react/login-methods/social-providers.mdx | 2 -- content/wallets/pages/react/mfa/email-magic-link.mdx | 2 -- content/wallets/pages/react/mfa/email-otp.mdx | 2 -- content/wallets/pages/react/mfa/setup-mfa.mdx | 2 -- content/wallets/pages/react/mfa/social-login.mdx | 2 -- content/wallets/pages/react/react-hooks.mdx | 2 -- content/wallets/pages/react/solana-wallets/get-started.mdx | 2 -- content/wallets/pages/react/ui-components.mdx | 2 -- content/wallets/pages/signer/authentication/server-wallets.mdx | 2 -- content/wallets/pages/signer/export-private-key.mdx | 2 -- content/wallets/pages/signer/quickstart.mdx | 2 -- content/wallets/pages/signer/user-sessions.mdx | 2 -- .../smart-contracts/modular-account-v2/managing-ownership.mdx | 2 -- content/wallets/shared/account-kit-v4-banner.mdx | 1 - 27 files changed, 53 deletions(-) delete mode 100644 content/wallets/shared/account-kit-v4-banner.mdx diff --git a/content/wallets/pages/authentication/login-methods/bring-your-own-auth.mdx b/content/wallets/pages/authentication/login-methods/bring-your-own-auth.mdx index f6900b41b..190799d48 100644 --- a/content/wallets/pages/authentication/login-methods/bring-your-own-auth.mdx +++ b/content/wallets/pages/authentication/login-methods/bring-your-own-auth.mdx @@ -4,8 +4,6 @@ description: Integrate your existing authentication system with Wallet APIs usin slug: wallets/authentication/login-methods/bring-your-own-auth --- - - Integrate your existing authentication provider and add smart wallet functionality to your app without changing your users' login experience. Wallet APIs supports JWT-based and OIDC-compliant authentication providers. ## Prerequisites diff --git a/content/wallets/pages/authentication/login-methods/email-magic-link.mdx b/content/wallets/pages/authentication/login-methods/email-magic-link.mdx index b47eb2302..9fd4b26aa 100644 --- a/content/wallets/pages/authentication/login-methods/email-magic-link.mdx +++ b/content/wallets/pages/authentication/login-methods/email-magic-link.mdx @@ -4,8 +4,6 @@ description: How to implement Email Magic Link authentication across different f slug: wallets/authentication/login-methods/email-magic-link --- - - Email magic link authentication is a two-step process: 1. The user enters their email address and requests a magic link diff --git a/content/wallets/pages/authentication/login-methods/email-otp.mdx b/content/wallets/pages/authentication/login-methods/email-otp.mdx index 6d7569a51..97d625243 100644 --- a/content/wallets/pages/authentication/login-methods/email-otp.mdx +++ b/content/wallets/pages/authentication/login-methods/email-otp.mdx @@ -4,8 +4,6 @@ description: How to implement Email OTP authentication across different framewor slug: wallets/authentication/login-methods/email-otp --- - - Email OTP (One-Time Password) authentication is a two-step process: 1. The user enters their email address and requests a verification code diff --git a/content/wallets/pages/authentication/login-methods/passkey-signup.mdx b/content/wallets/pages/authentication/login-methods/passkey-signup.mdx index 3d0cec4e9..757446897 100644 --- a/content/wallets/pages/authentication/login-methods/passkey-signup.mdx +++ b/content/wallets/pages/authentication/login-methods/passkey-signup.mdx @@ -4,8 +4,6 @@ description: How to implement Passkey Signup authentication across different fra slug: wallets/authentication/login-methods/passkey-signup --- - - Passkeys provide a secure, passwordless authentication method that can be used to create wallets for your users without going through email verification flows. You can implement passkey signup with or without an associated email address. diff --git a/content/wallets/pages/authentication/login-methods/sms-login.mdx b/content/wallets/pages/authentication/login-methods/sms-login.mdx index f4b14471b..0d7001284 100644 --- a/content/wallets/pages/authentication/login-methods/sms-login.mdx +++ b/content/wallets/pages/authentication/login-methods/sms-login.mdx @@ -4,8 +4,6 @@ description: How to authenticate users with phone number and SMS OTP code slug: wallets/authentication/login-methods/sms-login --- - - SMS auth is currently in closed alpha. If you'd like early access please reach out to [wallets@alchemy.com](mailto:wallets@alchemy.com). diff --git a/content/wallets/pages/authentication/login-methods/social-login.mdx b/content/wallets/pages/authentication/login-methods/social-login.mdx index 17cc02fc4..9d93aaa5b 100644 --- a/content/wallets/pages/authentication/login-methods/social-login.mdx +++ b/content/wallets/pages/authentication/login-methods/social-login.mdx @@ -4,8 +4,6 @@ description: How to implement Social Login authentication across different frame slug: wallets/authentication/login-methods/social-login --- - - Social login authentication allows users to authenticate using OAuth providers like Google, Facebook, or custom providers through Auth0. There are two authentication flows available: 1. **Redirect flow**: Redirects the user to the provider's login page and back to your application diff --git a/content/wallets/pages/react/connectors/customization.mdx b/content/wallets/pages/react/connectors/customization.mdx index d9ea92c71..7309a0690 100644 --- a/content/wallets/pages/react/connectors/customization.mdx +++ b/content/wallets/pages/react/connectors/customization.mdx @@ -4,8 +4,6 @@ description: Customize external wallet connectors including ordering and feature slug: wallets/react/connectors/customization --- - - ### External wallets (EVM + Solana) Use `configForExternalWallets()` to specify external wallets you want to support, then add to your UI configuration. This allows you to feature wallets, merge EVM/Solana variants by name, and enable WalletConnect. diff --git a/content/wallets/pages/react/customization/tailwind-setup.mdx b/content/wallets/pages/react/customization/tailwind-setup.mdx index cfe162e64..680938359 100644 --- a/content/wallets/pages/react/customization/tailwind-setup.mdx +++ b/content/wallets/pages/react/customization/tailwind-setup.mdx @@ -4,8 +4,6 @@ description: Complete guide to setting up Tailwind CSS with UI components slug: wallets/react/tailwind-setup --- - - To use pre-built UI components for user login Tailwind CSS must be configured in your project. This guide walks you through the complete setup process for both new and existing Tailwind installations. ## Prerequisites diff --git a/content/wallets/pages/react/customization/theme.mdx b/content/wallets/pages/react/customization/theme.mdx index 1bd265d47..f114cbb54 100644 --- a/content/wallets/pages/react/customization/theme.mdx +++ b/content/wallets/pages/react/customization/theme.mdx @@ -4,8 +4,6 @@ description: Customize the theme of your Wallet APIs app slug: wallets/react/customization/theme --- - - UI components are fully customizable so you can match your app's branding. What you can customize in the pre-built authentication component: diff --git a/content/wallets/pages/react/login-methods/adding-and-removing-login-methods.mdx b/content/wallets/pages/react/login-methods/adding-and-removing-login-methods.mdx index fe6445047..50baf79b9 100644 --- a/content/wallets/pages/react/login-methods/adding-and-removing-login-methods.mdx +++ b/content/wallets/pages/react/login-methods/adding-and-removing-login-methods.mdx @@ -4,8 +4,6 @@ description: Learn how to add and remove login methods to an account slug: wallets/signer/authentication/adding-and-removing-login-methods --- - - If your user has already authenticated with email, social auth, or a passkey, you can add additional login methods to their account or remove currently enabled methods from their account. This is useful in the case that you want to give your users the ability to customize their login methods after their account is created. ## Viewing the currently enabled auth methods diff --git a/content/wallets/pages/react/login-methods/eoa-login.mdx b/content/wallets/pages/react/login-methods/eoa-login.mdx index c221e3f0d..7f0ff3497 100644 --- a/content/wallets/pages/react/login-methods/eoa-login.mdx +++ b/content/wallets/pages/react/login-methods/eoa-login.mdx @@ -4,8 +4,6 @@ description: How to connect external wallets on EVM and Solana slug: wallets/react/login-methods/eoa-login --- - - # Overview Connectors let users authenticate with existing **external wallets**. Both **EVM** (e.g., MetaMask, Coinbase, WalletConnect) and **Solana** (e.g., Phantom) wallets are supported via UI components or custom UI, and can be surfaced together in your auth modal. diff --git a/content/wallets/pages/react/login-methods/onchain-passkeys.mdx b/content/wallets/pages/react/login-methods/onchain-passkeys.mdx index e91eafa7d..31e8baeda 100644 --- a/content/wallets/pages/react/login-methods/onchain-passkeys.mdx +++ b/content/wallets/pages/react/login-methods/onchain-passkeys.mdx @@ -4,8 +4,6 @@ description: How to use onchain passkeys to authenticate users and send transact slug: wallets/react/login-methods/onchain-passkeys --- - - **This feature is in early access.** The WebAuthn Modular Account enables password-less authentication onchain using **passkeys** (via WebAuthn), and is compatible with [Wallet APIs](/docs/wallets). This guide demonstrates how to register credentials, authenticate users, and send transactions using the `@account-kit/smart-contracts` package. diff --git a/content/wallets/pages/react/login-methods/passkey-login.mdx b/content/wallets/pages/react/login-methods/passkey-login.mdx index 0a1d22d1f..b408be16e 100644 --- a/content/wallets/pages/react/login-methods/passkey-login.mdx +++ b/content/wallets/pages/react/login-methods/passkey-login.mdx @@ -4,8 +4,6 @@ description: How to implement Passkey Login authentication in your React app slug: wallets/react/login-methods/passkey-login --- - - If a user has added a passkey to their account, or they initially signed up with a passkey, authenticate them using that passkey. This provides a secure, passwordless authentication experience. You can implement Passkey Login authentication in two ways: diff --git a/content/wallets/pages/react/login-methods/social-providers.mdx b/content/wallets/pages/react/login-methods/social-providers.mdx index 881c207d6..738d7a7eb 100644 --- a/content/wallets/pages/react/login-methods/social-providers.mdx +++ b/content/wallets/pages/react/login-methods/social-providers.mdx @@ -4,8 +4,6 @@ description: How to implement custom social providers using Auth0 in your React slug: wallets/react/login-methods/social-providers --- - - In addition to the standard social login providers (Google, Facebook, Apple), Wallet APIs allows you to integrate custom OAuth providers through Auth0. This gives you flexibility to add authentication methods like GitHub, Twitter, LinkedIn, and more. You can implement custom social providers in two ways: diff --git a/content/wallets/pages/react/mfa/email-magic-link.mdx b/content/wallets/pages/react/mfa/email-magic-link.mdx index 6dc863506..3e80ef50e 100644 --- a/content/wallets/pages/react/mfa/email-magic-link.mdx +++ b/content/wallets/pages/react/mfa/email-magic-link.mdx @@ -4,8 +4,6 @@ description: How to authenticate users with Email Magic Link and MFA in your Rea slug: wallets/react/mfa/email-magic-link --- - - This guide shows you how to implement authentication with Email Magic Link and TOTP-based multi-factor authentication in your React application. ## Overview diff --git a/content/wallets/pages/react/mfa/email-otp.mdx b/content/wallets/pages/react/mfa/email-otp.mdx index 1ef5552fa..b819ec34f 100644 --- a/content/wallets/pages/react/mfa/email-otp.mdx +++ b/content/wallets/pages/react/mfa/email-otp.mdx @@ -4,8 +4,6 @@ description: How to authenticate using Email OTP when MFA is enabled slug: wallets/react/mfa/email-otp --- - - This guide shows you how to implement Email OTP authentication when a user has multi-factor authentication (MFA) enabled. ## Overview diff --git a/content/wallets/pages/react/mfa/setup-mfa.mdx b/content/wallets/pages/react/mfa/setup-mfa.mdx index b80b2b658..623995eef 100644 --- a/content/wallets/pages/react/mfa/setup-mfa.mdx +++ b/content/wallets/pages/react/mfa/setup-mfa.mdx @@ -4,8 +4,6 @@ description: How to set up additional security with authenticator apps in your R slug: wallets/react/mfa/setup-mfa --- - - With Wallet APIs, multi-factor authentication (MFA) uses authenticator apps—like Google Authenticator, Authy, or Microsoft Authenticator—to generate a Time-based One-Time Password (TOTP). diff --git a/content/wallets/pages/react/mfa/social-login.mdx b/content/wallets/pages/react/mfa/social-login.mdx index fab565465..9912e6f79 100644 --- a/content/wallets/pages/react/mfa/social-login.mdx +++ b/content/wallets/pages/react/mfa/social-login.mdx @@ -4,8 +4,6 @@ description: How to authenticate users with Social Login when MFA is enabled slug: wallets/react/mfa/social-login --- - - This guide shows you how to implement social login authentication when a user has multi-factor authentication (MFA) enabled. ## Overview diff --git a/content/wallets/pages/react/react-hooks.mdx b/content/wallets/pages/react/react-hooks.mdx index 6444498f0..e935f3dfd 100644 --- a/content/wallets/pages/react/react-hooks.mdx +++ b/content/wallets/pages/react/react-hooks.mdx @@ -4,8 +4,6 @@ description: Overview of implementing custom authentication UI in your React app slug: wallets/react/react-hooks --- - - Pre-built UI components are available for authentication, but you may want to create your own custom UI to match your application's design system. This section covers how to implement custom authentication flows using Wallet APIs hooks. diff --git a/content/wallets/pages/react/solana-wallets/get-started.mdx b/content/wallets/pages/react/solana-wallets/get-started.mdx index 0023f4aa8..356f90e12 100644 --- a/content/wallets/pages/react/solana-wallets/get-started.mdx +++ b/content/wallets/pages/react/solana-wallets/get-started.mdx @@ -5,8 +5,6 @@ text: Getting started with Solana Wallet APIs slug: wallets/react/solana-wallets/get-started --- - - Solana Wallet support is in beta. Please [reach out](mailto:support@alchemy.com) if you run into any issues or need support diff --git a/content/wallets/pages/react/ui-components.mdx b/content/wallets/pages/react/ui-components.mdx index 707c456b5..07edfc52b 100644 --- a/content/wallets/pages/react/ui-components.mdx +++ b/content/wallets/pages/react/ui-components.mdx @@ -4,8 +4,6 @@ description: How to use our pre-built authentication component in your React app slug: wallets/react/ui-components --- - - Wallet APIs allows you to use pre-built, highly customizable UI components to handle authenticating your users. These components provide flexibility to: * Use the pre-built [modal](#modal-auth) or [embed](#embedded-auth) the auth card directly in your app diff --git a/content/wallets/pages/signer/authentication/server-wallets.mdx b/content/wallets/pages/signer/authentication/server-wallets.mdx index 28497d837..7b4129789 100644 --- a/content/wallets/pages/signer/authentication/server-wallets.mdx +++ b/content/wallets/pages/signer/authentication/server-wallets.mdx @@ -4,8 +4,6 @@ description: Control wallets programmatically using access keys slug: wallets/authentication/login-methods/server-wallets --- - - Server wallets are in early access. Contact wallets@alchemy.com for help getting up and running. diff --git a/content/wallets/pages/signer/export-private-key.mdx b/content/wallets/pages/signer/export-private-key.mdx index 63822d9cd..eec29be1d 100644 --- a/content/wallets/pages/signer/export-private-key.mdx +++ b/content/wallets/pages/signer/export-private-key.mdx @@ -5,8 +5,6 @@ description: Learn how to enable a user to export their private key with Wallet slug: wallets/signer/export-private-key --- - - You can export a user's private key, giving them the right to exit at any time. Allowing your users to export their private key is a best practice, as it gives them full control over their account. The private key export method does not rely on external infrastructure, so a user can always export their private key. ## Using [useExportAccount](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/react/src/hooks/useExportAccount.ts) diff --git a/content/wallets/pages/signer/quickstart.mdx b/content/wallets/pages/signer/quickstart.mdx index 6b07c854e..809029c7e 100644 --- a/content/wallets/pages/signer/quickstart.mdx +++ b/content/wallets/pages/signer/quickstart.mdx @@ -4,8 +4,6 @@ description: Get started with the authentication provider slug: wallets/signer/quickstart --- - - Using React? Follow [this](/docs/wallets/react/quickstart) quickstart guide instead for easy-to-use React hooks and integration with Wallet APIs. diff --git a/content/wallets/pages/signer/user-sessions.mdx b/content/wallets/pages/signer/user-sessions.mdx index f916b2956..b732af5a6 100644 --- a/content/wallets/pages/signer/user-sessions.mdx +++ b/content/wallets/pages/signer/user-sessions.mdx @@ -4,8 +4,6 @@ description: Learn how to configure and leverage sessions for your users with Wa slug: wallets/signer/user-sessions --- - - By default, `AlchemyWebSigner` user sessions are cached in `localStorage` for 15 minutes. You can customize session length by passing a [`sessionConfig`](https://github.com/alchemyplatform/aa-sdk/blob/v4.x.x/account-kit/signer/src/signer.ts) to your `AlchemyWebSigner` constructor. diff --git a/content/wallets/pages/smart-contracts/modular-account-v2/managing-ownership.mdx b/content/wallets/pages/smart-contracts/modular-account-v2/managing-ownership.mdx index dfd3b0452..9f3ede070 100644 --- a/content/wallets/pages/smart-contracts/modular-account-v2/managing-ownership.mdx +++ b/content/wallets/pages/smart-contracts/modular-account-v2/managing-ownership.mdx @@ -4,8 +4,6 @@ description: Managing ownership on your Modular Account V2 slug: wallets/smart-contracts/modular-account-v2/managing-ownership --- - - You can add an owner to your account, or transfer ownership of your account with Modular Account V2. To transfer ownership, call the `updateFallbackSignerData` function. Modular Account V2s achieve huge savings on creation because the owner address is cached in immutable bytecode on account creation. When transferring ownership, the fallback is set to the new owner address and this will be used during validation. The boolean is set to false for the account to check this value in storage instead of the immutable cached owner address. diff --git a/content/wallets/shared/account-kit-v4-banner.mdx b/content/wallets/shared/account-kit-v4-banner.mdx deleted file mode 100644 index fa037e178..000000000 --- a/content/wallets/shared/account-kit-v4-banner.mdx +++ /dev/null @@ -1 +0,0 @@ -This page covers Account Kit (v4). For new projects, we recommend [v5 (`@alchemy/wallet-apis`)](/docs/wallets/quickstart) — see the [migration guide](/docs/wallets/resources/migration-v5).