Skip to content

Update wallet docs#76

Open
srinjoyc wants to merge 29 commits into
mainfrom
srinjoy/update-wallet-docs
Open

Update wallet docs#76
srinjoyc wants to merge 29 commits into
mainfrom
srinjoy/update-wallet-docs

Conversation

@srinjoyc

@srinjoyc srinjoyc commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Rewrite the Wallet quickstart and authentication docs around the tested SDK integration flow.
  • Add Wallet UI Kit and SDK Reference pages, and update Wallet navigation.
  • Move auth-page next steps toward signing, sending transactions, and alternative login methods.

@vercel

vercel Bot commented Jul 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Jul 2, 2026 6:45pm

Request Review

srinjoyc and others added 2 commits July 2, 2026 05:25
Restructure the wallets intro around GTM positioning and competitor
best practices: smart-account-first lead, how-it-works flow with key
security, capabilities, "Why ZeroDev Wallet" value props with a
roadmap subsection, first-party SDK framing, and a pricing section.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Drop the standalone wallet SDK reference from the sidebar and delete
the page; nothing else links to it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Drop the subtitle, frame the kit as drop-in UI for faster time to
market with flexible adoption, note upcoming screens (transaction
confirmation, portfolio, history, balances), and inline the custom-UI
auth links.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@srinjoyc srinjoyc marked this pull request as ready for review July 2, 2026 12:58
@srinjoyc srinjoyc requested review from SahilVasava and brtkx July 2, 2026 12:58
# Conflicts:
#	docs/pages/wallets/auth/passkeys.mdx
#	docs/pages/wallets/auth/wallet-ui-kit.mdx
#	docs/pages/wallets/quickstart.mdx
#	docs/pages/wallets/session-management.mdx
The Wallet UI Kit gives you prebuilt React UI for ZeroDev Wallet. Use it when you want to get started faster with a ready-made login flow instead of building every authentication screen yourself.

The kit uses a Wagmi-compatible ZeroDev connector, so after the user signs in you can use standard Wagmi hooks such as `useAccount`, `useSignMessage`, and `useSendTransaction`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"The current kit covers login and an experimental confirmation screen for signature signing and transaction confirmations that is currently in beta." - wasn't signing out of scope in general? We assumed it won't be part of this version of the package at all.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, removing and will put in "coming soon"


The current kit covers login and an experimental confirmation screen for signature signing and transaction confirmations that is currently in beta. This confirmation UI will improve over time. More wallet UI components are coming, including onramps, asset management and portfolio views, transaction history, and chain-abstracted balances.

For a fully custom UI, use the hook-based authentication pages instead: [Passkeys](/wallets/auth/passkeys), [Email OTP](/wallets/auth/email-otp), [Magic Link](/wallets/auth/magic-link), or [Google OAuth](/wallets/auth/google-oauth).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ty, will upddate

:::code-group

```bash [npm]
npm i @zerodev/react-wallet-ui @zerodev/wallet-react @zerodev/wallet-core wagmi viem @tanstack/react-query

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

npm i @zerodev/react-wallet-ui @zerodev/wallet-core @zerodev/wallet-react wagmi viem @wagmi/core @tanstack/react-query zustand

Needs to be adjusted for all install examples

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updating

```

```bash [pnpm]
pnpm i @zerodev/react-wallet-ui @zerodev/wallet-react @zerodev/wallet-core wagmi viem @tanstack/react-query

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: pnpm i works but pnpm add is the correct idiomatic command here


## Size the container

`AuthFlow` renders into the space you give it. Put it in a constrained wallet-sized container, modal, or drawer instead of letting it stretch across the full page on large screens.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently this is incorrect. AuthFlow has fixed size based on the designs, and no wrapper is going to modify it.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

correcting

</div>
```

The `onClose` prop is optional. Use it when your app owns surrounding UI state, such as closing a modal after the user clicks the kit's close button.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not the current behavior but I remember you asked us to add it. We will adjust on our end.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ty let me know if this changes will leave for now.

@@ -2,10 +2,6 @@ import QueryResult from '../shared/query-result.mdx'

# useGetUserEmail [Hook for getting the authenticated user's email]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SahilVasava is this file still relevant? This hook doesn't exist anymore does it?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We also have a useAuthenticators now. Should that be documented?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's right. useGetUserEmail deprecated. useAuthenticators should be documented now

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@srinjoyc I'll add that on my PR and you can modify it later

@SahilVasava

SahilVasava commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

@srinjoyc one item from reviewing this PR that needs a decision rather than a mechanical edit:

Orphaned hook reference pages. vocs.config.tsx removes the entire "Hooks" sidebar section, but the hook reference pages still exist as files (use-register-passkey, use-login-passkey, use-authenticate-oauth, use-send-otp, use-verify-otp, use-refresh-session, use-export-wallet, use-export-private-key, use-get-user-email). The auth guides also dropped their ## Hooks link lists, so most of these are now built but unreachable from the sidebar and largely unlinked from prose. Either delete the ones you don't want, or keep a Hooks/Reference group in the nav. (Overlaps with @andrascodes adding a useAuthenticators page.)

The small mechanical fixes I found (stale emailCustomization, deprecated useGetUserEmail inline links, magic-link sessionStorage keys, and the @zerodev/react-wallet-ui@zerodev/wallet-react-ui rename) are in #78, stacked on this branch.

docs(wallets): fix stale OTP params, deprecated useGetUserEmail refs, magic-link keys
@srinjoyc

srinjoyc commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator Author

@srinjoyc one item from reviewing this PR that needs a decision rather than a mechanical edit:

Orphaned hook reference pages. vocs.config.tsx removes the entire "Hooks" sidebar section, but the hook reference pages still exist as files (use-register-passkey, use-login-passkey, use-authenticate-oauth, use-send-otp, use-verify-otp, use-refresh-session, use-export-wallet, use-export-private-key, use-get-user-email). The auth guides also dropped their ## Hooks link lists, so most of these are now built but unreachable from the sidebar and largely unlinked from prose. Either delete the ones you don't want, or keep a Hooks/Reference group in the nav. (Overlaps with @andrascodes adding a useAuthenticators page.)

The small mechanical fixes I found (stale emailCustomization, deprecated useGetUserEmail inline links, magic-link sessionStorage keys, and the @zerodev/react-wallet-ui@zerodev/wallet-react-ui rename) are in #78, stacked on this branch.

Going to delete the references and will be incrporated into specific contexual pages in the "Authentication" and "Wallet API" sections.


A magic link needs a verified `https` callback — an **App Link** on Android, a **Universal Link** on iOS — so that tapping the link in the email opens the app. Email clients (e.g. Gmail) don't render custom-scheme links, so a plain `https` link on your verified domain is required.

The flow: send → the backend emails `${redirectURL}?code=<otp>` → the user taps it → the app opens at `/verify-email` → the route pairs the `code` from the URL with the persisted `otpId`/`otpEncryptionTargetBundle` and verifies.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have dropped redirectURL, is it correctly mentioned here?

disabled={send.isPending || !email}
onPress={() =>
send.mutate(
{ email, redirectURL: `https://${RP_ID}/verify-email` },

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, should redirectURL be dropped?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, updating all these

Comment thread docs/pages/wallets/connector-options.mdx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants