diff --git a/apps/portal/src/app/chat/page.tsx b/apps/portal/src/app/chat/page.tsx index 8c9c068c065..489e8ff0f86 100644 --- a/apps/portal/src/app/chat/page.tsx +++ b/apps/portal/src/app/chat/page.tsx @@ -6,11 +6,11 @@ import { Chat } from "@/components/AI/chat"; const queryClient = new QueryClient(); export default function ChatPage() { - return ( - -
- -
-
- ); + return ( + +
+ +
+
+ ); } diff --git a/apps/portal/src/app/cli/build/page.mdx b/apps/portal/src/app/cli/build/page.mdx index 7309bbed647..c673ef9651c 100644 --- a/apps/portal/src/app/cli/build/page.mdx +++ b/apps/portal/src/app/cli/build/page.mdx @@ -1,3 +1,14 @@ +import { createMetadata } from "@doc"; + +export const metadata = createMetadata({ + image: { + title: "thirdweb CLI reference", + icon: "wallets", + }, + title: "thirdweb CLI | Reference", + description: "Learn how to use the thirdweb CLI to build smart contracts.", +}); + # Build Compile your smart contracts and detect any [extensions](/contracts/build/extensions) you have implemented. diff --git a/apps/portal/src/app/cli/create/page.mdx b/apps/portal/src/app/cli/create/page.mdx index ef687d0f88b..09aabb68d9b 100644 --- a/apps/portal/src/app/cli/create/page.mdx +++ b/apps/portal/src/app/cli/create/page.mdx @@ -1,3 +1,14 @@ +import { createMetadata } from "@doc"; + +export const metadata = createMetadata({ + image: { + title: "thirdweb CLI reference", + icon: "wallets", + }, + title: "thirdweb CLI | Reference", + description: "Learn how to use the thirdweb CLI to create a new project using thirdweb templates.", +}); + # Create Create a new project with the thirdweb packages installed and configured. diff --git a/apps/portal/src/app/cli/generate/page.mdx b/apps/portal/src/app/cli/generate/page.mdx index c3d04c442cd..780902a0199 100644 --- a/apps/portal/src/app/cli/generate/page.mdx +++ b/apps/portal/src/app/cli/generate/page.mdx @@ -1,3 +1,14 @@ +import { createMetadata} from "@doc"; + +export const metadata = createMetadata({ + image: { + title: "thirdweb CLI reference", + icon: "wallets", + }, + title: "thirdweb CLI generate | Reference", + description: "Learn how to use the thirdweb CLI to generate type-safe functions and events for deployed contracts.", +}); + # Generate You can generate precompiled, optimized type safe functions and events for any deployed contract using the thirdweb CLI. diff --git a/apps/portal/src/app/cli/install/page.mdx b/apps/portal/src/app/cli/install/page.mdx index 562a1012319..db0a521c749 100644 --- a/apps/portal/src/app/cli/install/page.mdx +++ b/apps/portal/src/app/cli/install/page.mdx @@ -1,3 +1,14 @@ +import { createMetadata } from "@doc"; + +export const metadata = createMetadata({ + image: { + title: "thirdweb CLI reference", + icon: "wallets", + }, + title: "thirdweb CLI install | Reference", + description: "Learn how to use the thirdweb CLI to install thirdweb dependencies in your project.", +}); + # Install Install thirdweb dependencies into your project. If no path is specified, the current directory will be used. diff --git a/apps/portal/src/app/cli/login/page.mdx b/apps/portal/src/app/cli/login/page.mdx index 1af60042bc2..ab404903fcf 100644 --- a/apps/portal/src/app/cli/login/page.mdx +++ b/apps/portal/src/app/cli/login/page.mdx @@ -1,7 +1,16 @@ -import { Callout, DocImage } from "@doc"; +import { Callout, DocImage, createMetadata } from "@doc"; import authImage from "./link-device-cli-auth.png"; import removeImage from "./revoke-access-cli-auth.png"; +export const metadata = createMetadata({ + image: { + title: "thirdweb CLI reference", + icon: "wallets", + }, + title: "thirdweb CLI login | Reference", + description: "Learn how to use the thirdweb CLI to login and link your device to your thirdweb account.", +}); + # Login diff --git a/apps/portal/src/app/cli/logout/page.mdx b/apps/portal/src/app/cli/logout/page.mdx index e5d0175f09b..fbc0a0fe47e 100644 --- a/apps/portal/src/app/cli/logout/page.mdx +++ b/apps/portal/src/app/cli/logout/page.mdx @@ -1,3 +1,14 @@ +import { createMetadata} from "@doc"; + +export const metadata = createMetadata({ + image: { + title: "thirdweb CLI reference", + icon: "wallets", + }, + title: "thirdweb CLI logout | Reference", + description: "Learn how to logout of the thirdweb CLI and revoke access from your device.", +}); + # Logout Logout of the thirdweb CLI and revoke access of this device from your thirdweb account. diff --git a/apps/portal/src/app/cli/page.mdx b/apps/portal/src/app/cli/page.mdx index 3f8645e2546..a5949473658 100644 --- a/apps/portal/src/app/cli/page.mdx +++ b/apps/portal/src/app/cli/page.mdx @@ -1,5 +1,14 @@ import { OpenSourceCard, Callout, InstallTabs } from "@doc"; +export const metadata = createMetadata({ + image: { + title: "thirdweb CLI reference", + icon: "wallets", + }, + title: "thirdweb CLI | Reference", + description: "Learn how to use the thirdweb CLI to create, build, and deploy web3 projects.", +}); + # CLI The CLI provides tools to create, build, and deploy projects using thirdweb tools and infrastructure. Using the CLI, you can diff --git a/apps/portal/src/app/cli/upload/page.mdx b/apps/portal/src/app/cli/upload/page.mdx index 3d157666a1b..e3325cc2c7f 100644 --- a/apps/portal/src/app/cli/upload/page.mdx +++ b/apps/portal/src/app/cli/upload/page.mdx @@ -1,3 +1,14 @@ +import { createMetadata} from "@doc"; + +export const metadata = createMetadata({ + image: { + title: "thirdweb CLI reference", + icon: "wallets", + }, + title: "thirdweb CLI | Reference", + description: "Learn how to use the thirdweb CLI to upload files to decentralized storage.", +}); + # Upload Upload any file or directory to decentralized storage ([IPFS](/glossary/ipfs)). diff --git a/apps/portal/src/app/payments/sell/page.mdx b/apps/portal/src/app/payments/sell/page.mdx index d1cda48cc24..c97eecf68dd 100644 --- a/apps/portal/src/app/payments/sell/page.mdx +++ b/apps/portal/src/app/payments/sell/page.mdx @@ -25,7 +25,7 @@ export const metadata = createMetadata({ icon: "payments", }, title: "Sell Tokens", - description: "Learn how to sell tokens with thirdweb Payments.", + description: "Learn how to sell cryptocurrency tokens with thirdweb Payments.", }); # Sell a Specific Amount of Tokens diff --git a/apps/portal/src/app/payments/send/page.mdx b/apps/portal/src/app/payments/send/page.mdx index 96907225acb..d94b25b95fd 100644 --- a/apps/portal/src/app/payments/send/page.mdx +++ b/apps/portal/src/app/payments/send/page.mdx @@ -25,7 +25,7 @@ export const metadata = createMetadata({ title: "Send a payment", icon: "payments", }, - title: "Send a payment", + title: "Send a payment | thirdweb documentation", description: "Learn how to send a payment between users with thirdweb Payments.", }); diff --git a/apps/portal/src/app/wallets/faq/page.mdx b/apps/portal/src/app/wallets/faq/page.mdx index d7de9dc11f3..5119ecd9583 100644 --- a/apps/portal/src/app/wallets/faq/page.mdx +++ b/apps/portal/src/app/wallets/faq/page.mdx @@ -1,4 +1,4 @@ -import { createMetadata } from "@doc"; +import { createMetadata, Details } from "@doc"; export const metadata = createMetadata({ title: "FAQ for thirdweb Wallet", @@ -9,54 +9,54 @@ export const metadata = createMetadata({ }, }); -# General FAQs - -### Which blockchains are supported? - -Our thirdweb In-App Wallet is fully EVM compatible and supports all EVM chains. - -### Do I need to build separate flows for in-app wallets and external wallets (e.g. MetaMask)? - -No! Since our SDK provides the wallet `signer`, you can build a unified experience with the same code to handle how all your users' wallets interact with signatures and smart contracts. - -However, you will need to provide a separate flow to create in-app wallets as you would with any wallet provider (WalletConnect, Coinbase Wallet, etc.). - -### How do I troubleshoot unexpected console error messages? - -Make sure that you are developing on a [secure origin](https://www.chromium.org/Home/chromium-security/prefer-secure-origins-for-powerful-new-features/), which includes `localhost` and any site on `https://`. thirdweb uses cryptography libraries that are unsupported on `http://`. +import { Details } from "@components/Details"; -If you continue to run into a console error, please contact us with more details. - -### What login options does thirdweb support? - -We support a lot of authentication options out of the box. For a full list, check out the [playground](https://playground.thirdweb.com/connect/sign-in/button). We also support custom authentication if you want to integrate thirdweb into your own auth system. - -### Do you support gasless transactions? - -Yes, you can easily use account abstraction with in-app wallets to enable sponsored (gasless) transactions. +# General FAQs -### Does thirdweb Wallets product use smart contract wallets? +
+ Our thirdweb In-App Wallet is fully EVM compatible and supports all EVM chains. +
-Thirdweb wallets can be used as a signer to a smart contract account (account abstraction), but it can also be used as a standalone EOA. +
+ No! Since our SDK provides the wallet signer, you can build a unified experience with the same code to handle how all your users' wallets interact with signatures and smart contracts. +

+ However, you will need to provide a separate flow to create in-app wallets as you would with any wallet provider (WalletConnect, Coinbase Wallet, etc.). +
-### What happens if thirdweb ceases to exist? Will my users be able to access their wallets? +
+ Make sure that you are developing on a secure origin, which includes localhost and any site on https://. thirdweb uses cryptography libraries that are unsupported on http://. +

+ If you continue to run into a console error, please contact us with more details. +
-In the event that thirdweb ceases to exist, we have committed to keeping our in-app wallet service running for a period of at least 12 months after the shutdown announcement. During this time users will be able to access their wallet and transfer their assets out, or export their private key which they can then import into a different client. +
+ We support a lot of authentication options out of the box. For a full list, check out the playground. We also support custom authentication if you want to integrate thirdweb into your own auth system. +
-### How will my users recover their accounts in case they lose access to their auth? +
+ Yes, you can easily use account abstraction with in-app wallets to enable sponsored (gasless) transactions. +
-Currently, users will rely on the built-in recovery of their auth method. Refer to the [How to recover your Google Account or Gmail](https://support.google.com/accounts/answer/7682439?hl=en) article as an example for social and email auths. +
+ Thirdweb wallets can be used as a signer to a smart contract account (account abstraction), but it can also be used as a standalone EOA. +
-Users can also link their account to a different auth method (e.g. email, phone, or social). All linked methods will be able to be used to access their accounts, providing an alternate recovery method in the case where one is lost. +
+ In the event that thirdweb ceases to exist, we have committed to keeping our in-app wallet service running for a period of at least 12 months after the shutdown announcement. During this time users will be able to access their wallet and transfer their assets out, or export their private key which they can then import into a different client. +
+
+ Currently, users will rely on the built-in recovery of their auth method. Refer to the How to recover your Google Account or Gmail article as an example for social and email auths. +

+ Users can also link their account to a different auth method (e.g. email, phone, or social). All linked methods will be able to be used to access their accounts, providing an alternate recovery method in the case where one is lost. +
# Security FAQs -### How is the private key managed? - -You can learn more about the architecture of how thirdweb wallets are created and stored [here](/wallets/security). - -### What happens if thirdweb or my database gets breached? - -Using enclave, your customers' assets are safe even if thirdweb or you are compromised. This is because the attacker will only be able to access the encrypted keys, and that is not enough to reconstruct the private key. +
+ You can learn more about the architecture of how thirdweb wallets are created and stored here. +
+
+ Using enclave, your customers' assets are safe even if thirdweb or you are compromised. This is because the attacker will only be able to access the encrypted keys, and that is not enough to reconstruct the private key. +
diff --git a/apps/portal/src/app/webhooks/page.mdx b/apps/portal/src/app/webhooks/page.mdx index 1060567515d..a728999dd55 100644 --- a/apps/portal/src/app/webhooks/page.mdx +++ b/apps/portal/src/app/webhooks/page.mdx @@ -5,7 +5,7 @@ import { ArrowLeftRightIcon, UserLockIcon, UsersIcon, WalletIcon } from "lucide- export const metadata = createMetadata({ title: "thirdweb Webhooks", - description: "Receive real-time updates for onchain and offchain events.", + description: "Learn how to receive real-time updates for onchain and offchain events using thirdweb.", }); # Webhooks