Skip to content

[Docs] Update redirects for wallets and payments paths #7680

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion apps/portal/redirects.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -712,6 +712,7 @@ const walletRedirects = {

const paymentRedirects = {
"/pay": "/payments",
"/pay/:path*": "/payments",
"/checkouts": "/payments",
"/checkouts/api-reference": "/payments/nft-checkout/api-reference",
"/checkouts/checkout-link": "/payments/nft-checkout/checkout-link",
Expand Down Expand Up @@ -920,7 +921,6 @@ const otherRedirects = {
"/connect/account-abstraction": "/connect/account-abstraction/overview",
// connect
"/connect/connect": "/connect/sign-in",
"/connect/ecosystems/:path*": "/connect/wallet/overview",
"/connect/embedded-wallet/how-to/get-embedded-wallet-details-on-server":
"/connect/in-app-wallet/how-to/get-in-app-wallet-details-on-server",
"/connect/in-app-wallet/how-to/get-in-app-wallet-details-on-server":
Expand Down Expand Up @@ -1021,6 +1021,9 @@ const otherRedirects = {
"/connect/wallet/server": "/wallets/server",
"/connect/account-abstraction/get-started": "/wallets/sponsor-gas",
"/connect/account-abstraction/:path*": "/wallets/sponsor-gas",
"/connect/pay/:path*": "/payments",
"/connect/ecosystems/:path*": "/wallets/ecosystem/set-up",
"/connect/:path*": "/wallets",
"/wallets/in-app-wallet/custom-auth/configuration": "/wallets/custom-auth",
"/connect/wallets/user-management/link-multiple-identity":
"/wallets/link-profiles",
Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/Header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ export const connectLinks: Array<{
icon: React.FC<{ className?: string }>;
}> = [
{
href: "/connect",
href: "/wallets",
icon: TableOfContentsIcon,
name: "Overview",
},
Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/account/api-keys/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export const metadata = createMetadata({

# API Keys

Each thirdweb project is equipped with an API key to use thirdweb's infrastructure services including [Storage](/infrastructure/storage/overview), [RPC Edge](/infrastructure/rpc-edge/overview), [Account Abstraction infrastructure](/connect/account-abstraction), and [In-App Wallets](/connect/in-app-wallet/overview).
Each thirdweb project is equipped with an API key to use thirdweb's infrastructure services including [Storage](/infrastructure/storage/overview), [RPC Edge](/infrastructure/rpc-edge/overview), [Account Abstraction infrastructure](/bundler), and [In-App Wallets](/wallets).

## Services

Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/infrastructure/sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export const sidebar: SideBar = {
{
links: [
{
href: "/connect",
href: "/wallets",
name: "TypeScript SDK",
},
{
Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ export default function RootLayout({
<div className="relative flex min-h-screen flex-col">
<StickyTopContainer>
{/* <Banner
href="https://thirdweb.com/connect/universal-bridge"
href="https://thirdweb.com/payments"
text="Let users pay with whatever they have without leaving your app"
/> */}
<Header />
Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/nebula/get-started/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ async function handleNebulaResponse(response) {
secretKey: process.env.THIRDWEB_SECRET_KEY,
});

// You can use any wallet- see https://portal.thirdweb.com/connect/external-wallets
// You can use any wallet- see https://portal.thirdweb.com/wallets/external-wallets
const account = await generateAccount({ client });

if (response.actions && response.actions.length > 0) {
Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ function ReferenceSection() {
title="Payments"
/>
<SDKCard
href="/connect/wallet/get-users"
href="/wallets/get-users"
icon={ConnectIcon} // TODO: actual openAPI docs
title="Wallets"
/>
Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/pay/faqs/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Yes, Payments is designed to be agnostic to wallet infrastructure. You can use i
</Details>

<Details summary="Does Payments support Apple Pay or Google Pay?">
Apple Pay and Google Pay are supported through the onramp providers depending on region. Coinbase, Stripe, and Transak currently support Apple Pay. Transak supports Google Pay. [Learn more about the supported onramp providers.](/connect/pay/onramp-providers).
Apple Pay and Google Pay are supported through the onramp providers depending on region. Coinbase, Stripe, and Transak currently support Apple Pay. Transak supports Google Pay.
</Details>

<Details summary="What are the KYC requirements?">
Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/payments/faq/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Yes, Payments is designed to be agnostic to wallet infrastructure. You can use i
</Details>

<Details summary="Does Payments support Apple Pay or Google Pay?">
Apple Pay and Google Pay are supported through the onramp providers depending on region. Coinbase, Stripe, and Transak currently support Apple Pay. Transak supports Google Pay. [Learn more about the supported onramp providers.](/connect/pay/onramp-providers).
Apple Pay and Google Pay are supported through the onramp providers depending on region. Coinbase, Stripe, and Transak currently support Apple Pay. Transak supports Google Pay.
</Details>

<Details summary="What are the KYC requirements?">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ function Example() {
<ArticleIconCard
title="Supported Wallets"
icon={TablePropertiesIcon}
href="/connect/external-wallets"
href="/wallets/external-wallets"
/>

</Stack>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ function Example() {
<ArticleIconCard
title="Supported Wallets"
icon={TablePropertiesIcon}
href="/connect/external-wallets"
href="/wallets/external-wallets"
/>

</Stack>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export const metadata = createMetadata({

# Connection Hooks

You can build a completely custom UI for connecting the wallet using the [`useConnect`](/references/typescript/v5/useConnect) hook to connect any of [supported wallets](/connect/external-wallets).
You can build a completely custom UI for connecting the wallet using the [`useConnect`](/references/typescript/v5/useConnect) hook to connect any of [supported wallets](/wallets/external-wallets).

```tsx
import { createThirdwebClient } from "thirdweb";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ The SDK supports 500+ wallets out of the box, all you need to pass is their id.
<ArticleIconCard
title="Supported Wallets"
icon={ComponentIcon}
href="/connect/external-wallets"
href="/wallets/external-wallets"
description="See all 500+ wallets supported by the TypeScript SDK"
/>

Expand Down
4 changes: 2 additions & 2 deletions apps/portal/src/app/react/v5/migrate/installation/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ import { ThirdwebProvider } from "thirdweb/react"; // v5
Similar to v4's `ConnectWallet` component, the latest version has the [`ConnectButton`](/connect/sign-in/ConnectButton) component which has the same functionality.

However, unlike with v4 where the number of supported wallets is limited (about 20), and adding more wallets mean your app becomes heavier,
the SDK v5 supports [over 300 wallets](/connect/external-wallets) with virtually no impact to your application.
the SDK v5 supports [over 300 wallets](/wallets/external-wallets) with virtually no impact to your application.

Here's how you use the new `ConnectButton`:

Expand All @@ -99,7 +99,7 @@ const client = createThirdwebClient({
<ConnectButton client={client} />
```

To learn more about the new `ConnectButton`, head over to the [Playground](https://playground.thirdweb.com/connect/sign-in/button).
To learn more about the new `ConnectButton`, head over to the [Playground](/connect/sign-in/button).

Notice how you are passing the thirdweb client to the component itself and not to the `ThirdwebProvider` like in v4?
By not putting every config inside the context wrapper, we were able to make the SDK v5 much more lightweight since you only load what you need!
Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/react/v5/sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ export const sidebar: SideBar = {
name: "Ecosystems Wallets",
},
{
href: "/connect/external-wallets",
href: "/wallets/external-wallets",
name: "External Wallets",
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ The transactions API makes it effortless for any developer to airdrop tokens at
## Prerequisites

- A deployed token contract (Coin or NFT contract)
- A [server wallet](/connect/wallet/server) holding tokens to distribute
- A [server wallet](/wallets/server) holding tokens to distribute
- A client ID and secret key from your Team > Project > Settings page.

## Frontend: Add Connect Wallet and Claim buttons
Expand Down
4 changes: 2 additions & 2 deletions apps/portal/src/app/transactions/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ Send, monitor, and manage transactions. Send transactions from user or server wa
<TabsContent value="http">
### Send a Transaction

You can send transactions with your [server wallets](/connect/wallet/server) using the [transactions API](https://engine.thirdweb.com/reference).
You can send transactions with your [server wallets](/wallets/server) using the [transactions API](https://engine.thirdweb.com/reference).

```http
POST /v1/contract/write
Expand Down Expand Up @@ -146,7 +146,7 @@ Send, monitor, and manage transactions. Send transactions from user or server wa

### Send a Transaction

Send a transaction from a [user wallet](/connect/wallet/sign-in-methods/configure) from the frontend, or [server wallet](/connect/wallet/server) from the backend.
Send a transaction from a [user wallet](/wallets/users) from the frontend, or [server wallet](/wallets/server) from the backend.

<Tabs defaultValue="frontend">
<TabsList>
Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/transactions/session-keys/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Session keys enable secure transaction execution on behalf of smart accounts wit
Before you begin, ensure you have:
- A thirdweb client configured
- A frontend application
- A [server wallet](/connect/wallet/server)
- A [server wallet](/wallets/server)

## Frontend Setup

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ The buyer receives the NFT without requiring wallet signatures or gas funds.
## Prerequisites

- A thirdweb client ID and secret key from your Team > Project > Settings page.
- A [server wallet](/connect/wallet/server)
- A [server wallet](/wallets/server)
- A deployed NFT contract that can be used by the server wallet
- A [Stripe account](https://dashboard.stripe.com/register) on test mode

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ The SDK supports 500+ wallets out of the box, all you need to pass is their id.
<ArticleIconCard
title="Supported Wallets"
icon={ComponentIcon}
href="/connect/external-wallets"
href="/wallets/external-wallets"
description="See all 500+ wallets supported by the TypeScript SDK"
/>

Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/typescript/v5/wallets/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ See also: [Account (ethereum.org)](https://ethereum.org/en/glossary/#account)
<ArticleIconCard
title="Supported Wallets"
icon={ComponentIcon}
href="/connect/external-wallets"
href="/wallets/external-wallets"
description="See all 500+ wallets supported by the thirdweb SDKs"
/>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ export const metadata = createMetadata({

Before you deploy your app to real users, you'll want to make sure your application is secure and ready to onboard users to your app. This involves separating some operations to the server and others to the client.

The examples in [Getting Started](/connect/auth) do everything on the client. The following examples demonstrate what should be on the server instead to ensure your application is secure.
The examples in [Getting Started](/wallets/auth) do everything on the client. The following examples demonstrate what should be on the server instead to ensure your application is secure.

<Callout variant="info">
Some of the code here is left for you to implement. This provides you with
flexibility and control over your application's authentication. However, if
you'd like specific examples, check out our
[templates](/connect/auth#templates) or [framework
guides](/connect/auth#frameworks).
[templates](/wallets/auth#templates) or [framework
guides](/wallets/auth#frameworks).
</Callout>

<Tabs defaultValue="client">
Expand Down
4 changes: 2 additions & 2 deletions apps/portal/src/app/wallets/auth/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -158,14 +158,14 @@ Auth integrates with a variety of server-side and client-side development framew

<ArticleIconCard
title="Next.js"
href="/connect/auth/frameworks/next"
href="/wallets/auth/frameworks/next"
description="Integrate Auth in Next.js applications."
image={next}
/>

<ArticleIconCard
title="React + Express"
href="/connect/auth/frameworks/react-express"
href="/wallets/auth/frameworks/react-express"
description="Integrate Auth in React applications using Vite and Express."
image={react}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,11 @@ export default async function Page(props: PageProps) {
<Breadcrumb
crumbs={[
{
href: "/connect/external-wallets",
href: "/wallets/external-wallets",
name: "External Wallets",
},
{
href: `/connect/external-wallets/${params.walletId}`,
href: `/wallets/external-wallets/${params.walletId}`,
name: walletMetadata.name,
},
]}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ export default async function Page() {
<Breadcrumb
crumbs={[
{
href: "/connect/external-wallets",
href: "/wallets/external-wallets",
name: "External Wallets",
},
{
href: `/connect/external-wallets/${walletId}`,
href: `/wallets/external-wallets/${walletId}`,
name: walletMetadata.name,
},
]}
Expand Down
2 changes: 1 addition & 1 deletion apps/portal/src/app/wallets/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -584,7 +584,7 @@ Create wallets for your users, authenticate with your backend, connect to extern

To connect with other auth strategies, use external wallets, or sponsor gas for users, check out the following guides:

- [Authentication Methods](/connect/wallet/sign-in-methods/configure)
- [Authentication Methods](/wallets/users)
- [Sponsor Gas](/wallets/sponsor-gas)
- [Implement Sign In with Ethereum](/wallets/auth)
- [External Wallets](/wallets/external-wallets) (e.g. MetaMask, WalletConnect, Coinbase Wallet, etc.)
Expand Down
4 changes: 2 additions & 2 deletions apps/portal/src/app/wallets/pregenerate-wallets/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ When the user logs in with any method associated with that email (including goog
```

{/* TODO: update link when custom auth documentation has been updated */}
Use this when [bringing your own authentication method](/connect/in-app-wallet/custom-auth/configuration). When the user logs in, if the user ids you provide from the auth endpoint match, they will get access to the same pregenerated wallet.
Use this when [bringing your own authentication method](/wallets/custom-auth). When the user logs in, if the user ids you provide from the auth endpoint match, they will get access to the same pregenerated wallet.

## Headers

Expand Down Expand Up @@ -126,4 +126,4 @@ Pre-generating is independent and doesn't change the user's experience.

Your users can continue to login as per usual. When they do, they will be assigned the pregenerated wallet.

For more information on signing in, see the [Connect Wallets](/connect/wallet/sign-in-methods/configure) section.
For more information on signing in, see the [User Wallets](/wallets/users) section.
2 changes: 1 addition & 1 deletion apps/portal/src/app/wallets/security/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ When a user signs into an application using their email or social logins for the

- When users interact with their wallet via the enclave, all communications are encrypted and only the legitimate user can access their wallet.
- All traffic is encrypted with TLS and HSTS. Services are run in private VPCs on AWS and accessible only from a single entry point via our Cloudflare DNS.
- Applications can [link multiple authentication methods](/connect/in-app-wallet/guides/link-multiple-profiles) to the same wallet. Any of these methods can be used to authenticate into the users wallet.
- Applications can [link multiple authentication methods](/wallets/link-profiles) to the same wallet. Any of these methods can be used to authenticate into the users wallet.

### Ecosystem Usage

Expand Down
8 changes: 4 additions & 4 deletions apps/portal/src/app/wallets/sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ export const sidebar: SideBar = {
href: `${walletSlug}/external-wallets`,
name: "External Wallets",
},
{
href: `${walletSlug}/ecosystem/set-up`,
name: "Ecosystem Wallets",
},
{
href: `${walletSlug}/sponsor-gas`,
name: "Sponsor Gas",
Expand Down Expand Up @@ -111,10 +115,6 @@ export const sidebar: SideBar = {
icon: <ExternalLinkIcon />,
name: "Templates",
},
{
href: `${walletSlug}/ecosystem/set-up`,
name: "Ecosystem Wallets",
},
{
href: `${walletSlug}/security`,
name: "Security",
Expand Down
4 changes: 2 additions & 2 deletions apps/portal/src/app/wallets/users/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import { AuthMethodsTabs } from "@/components/Document/AuthMethodsTabs"

# User Wallets

thirdweb supports creating wallets with various authentication methods: social logins, email, SMS, passkeys, and more. For every user, thirdweb generates a [non-custodial wallet](/connect/wallet/security) behind the scenes.
thirdweb supports creating wallets with various authentication methods: social logins, email, SMS, passkeys, and more. For every user, thirdweb generates a [non-custodial wallet](/wallets/security) behind the scenes.

<AuthMethodsTabs/>

Expand All @@ -25,7 +25,7 @@ If you already have an auth system, you can use thirdweb to attach wallets to yo

<Stack>
<ArticleIconCard
href="/connect/in-app-wallet/custom-auth/configuration"
href="/wallets/custom-auth"
icon={EcosystemWalletsIcon}
title="Custom Authentication"
description="Learn more about custom authentication with your own auth system"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export async function AllSupportedWallets() {
<Td>
<DocLink
className="flex flex-nowrap items-center gap-4 whitespace-nowrap"
href={`/connect/external-wallets/${w.id}`}
href={`/wallets/external-wallets/${w.id}`}
>
<WalletImage id={w.id} />
{w.name}
Expand Down
Loading
Loading