Skip to content

Commit fa7a812

Browse files
committed
added wallets seo, fixed faqs, added deployment guides (#7786)
<!-- ## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes" If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000): ## Notes for the reviewer Anything important to call out? Be sure to also clarify these in your comments. ## How to test Unit tests, playground, etc. --> <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on updating documentation and content related to thirdweb's tokens, wallets, and contracts. It enhances clarity, adds new features, and improves user guidance across various sections. ### Detailed summary - Added new images for token deployment and wallet features. - Updated titles and descriptions for clarity in multiple `.mdx` files. - Introduced new sections and links in the sidebar for better navigation. - Enhanced FAQs with specific details about tokens and wallet security. - Added guides for deploying ERC-20 and ERC-721 tokens. - Updated resource links and documentation structure for improved user experience. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added an "Insight" navigation link to the main header. * Introduced new documentation pages: Modular Contracts overview, ERC-20, ERC-721, and ERC-1155 token deployment guides, token listing placeholder, and troubleshooting guides for contracts. * Added new FAQ pages for contracts and expanded FAQs for payments, tokens, and wallets. * **Documentation** * Improved and expanded metadata (titles, descriptions, images) for multiple documentation pages for better clarity and SEO. * Updated and restructured sidebar navigation for Contracts, Tokens, Transactions, and Wallets sections, including new links, reorganized groups, and resource sections. * Enhanced FAQ formatting with collapsible sections and improved content clarity across several pages. * Streamlined and updated content in various wallet and contract documentation pages. * **Style** * Improved documentation structure and presentation, including use of collapsible details and better grouping of related topics. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
1 parent e5326c4 commit fa7a812

File tree

34 files changed

+467
-153
lines changed

34 files changed

+467
-153
lines changed

apps/portal/src/app/Header.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ const links = [
4747
href: "/tokens",
4848
name: "Tokens",
4949
},
50+
{
51+
href: "/insight",
52+
name: "Insight",
53+
},
5054
];
5155

5256
const toolLinks = [
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import { Details, createMetadata } from "@doc";
2+
3+
export const metadata = createMetadata({
4+
title: "Contracts FAQs | thirdweb Documentation",
5+
description:
6+
"Frequently asked questions about thirdweb's contracts, including deployment, compatibility, and security.",
7+
image: {
8+
title: "Contracts FAQs",
9+
icon: "contracts",
10+
},
11+
});
12+
13+
# Contracts FAQs
14+
15+
<Details summary="Can I use thirdweb tools with my existing contract?">
16+
Yes, thirdweb’s contract dashboard, deployment tools, and SDKs / APIs are compatible with non-thirdweb contracts.
17+
18+
You can use thirdweb's deploy tool to deploy any contract that has not been deployed to any compatible EVM chain.
19+
20+
For any already deployed contracts, you can use the thirdweb dashboard to import them and manage
21+
22+
</Details>
23+
24+
<Details summary="Are thirdweb contracts audited?">
25+
Yes, thirdweb pre-built contracts are audited by third-party security firms. You can see the attached
26+
audit reports for each contract linked on the contract page on Explore.
27+
</Details>
28+
29+
<Details summary="Why can I no longer deploy a pack contract?">
30+
Pack contracts were officially deprecated after the Pectra release from Ethereum. The pack contract implementation is incompatible with the Pectra update, which introduced breaking changes to the Ethereum protocol. As a result, support for pack contracts has been removed from thirdweb's deployment tools to ensure compatibility and security.
31+
32+
If you need similar functionality, consider using:
33+
- **Edition Drop contracts** for distributing multiple quantities of NFTs
34+
- **Marketplace contracts** for trading and bundle functionality
35+
- **Custom smart contracts** built with our modular contract framework
36+
37+
For existing pack contracts, they will continue to function on-chain, but new deployments are no longer supported.
38+
</Details>
39+
40+
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import { OpenSourceCard, Details, createMetadata } from "@doc";
2+
3+
export const metadata = createMetadata({
4+
title: "Modular Contracts | thirdweb Documentation",
5+
description:
6+
"Build custom smart contracts with thirdweb Modular Contracts. Add features like royalties, permissions, and drops using prebuilt, audited modules.",
7+
image: {
8+
title: "Modular Contracts",
9+
icon: "contracts",
10+
},
11+
});
12+
13+
# Modular Contracts
14+
15+
Modular contracts is an open source framework that enables the creation of highly customizable and upgradeable smart contracts. Modular contracts is designed to encompass a broad number of use cases without compromising on the ease and security of creating smart contracts with thirdweb.
16+
17+
Modular contracts are composed of two components:
18+
19+
- Core Contract: smart contracts that serve as the foundation of the modular contract
20+
- Module Contract: smart contracts that are installed on top of the core contract
21+
22+
You can think of Modular Contracts like building bricks. Pick a core, install modules, and swap them out to enable different functionality.
23+
24+
<OpenSourceCard title="Modular Contracts" href="https://github.com/thirdweb-dev/modular-contracts" />
25+
26+
### Modular Contracts FAQ
27+
28+
<Details summary="Is Modular Contracts actively maintained by thirdweb?">
29+
Modular Contracts is no longer actively maintained with dedicated engineering resources from thirdweb. However, we are happy to answer questions about the framework and provide support to existing modular contract users.
30+
</Details>
31+
32+
<Details summary="What are modular contracts good for?">
33+
Modular contracts pattern is useful in the context of sharing core or modular contracts with other teams / developers while giving them control over the contract.
34+
It is useful for creating a contract where you need to upgrade the core contract by adding new functionality through modules.
35+
</Details>
36+
37+
### Additional Resources
38+
39+
- [Modular Contracts Repository](https://github.com/thirdweb-dev/modular-contracts).
40+
- [Modular Contracts Design Documentation](https://github.com/thirdweb-dev/modular-contracts/blob/dev/design-document.md)
41+
- [Modular Contracts 101 | Build Upgradeable Smart Contracts Like Lego Blocks](https://www.youtube.com/watch?v=4YE0WljSpiQ&t=9s)
42+
- [Modular Contracts SDK: Build Core & Modules from Scratch (Advanced Guide)](https://www.youtube.com/watch?v=ZoOk41y4f_k&t=29s)

apps/portal/src/app/contracts/sidebar.tsx

Lines changed: 39 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ExternalLinkIcon, ZapIcon } from "lucide-react";
1+
import { CodeIcon, ZapIcon } from "lucide-react";
22
import type { SideBar } from "@/components/Layouts/DocLayout";
33
import {
44
DotNetIcon,
@@ -18,11 +18,6 @@ export const sidebar: SideBar = {
1818
name: "Get Started",
1919
icon: <ZapIcon />,
2020
},
21-
{
22-
href: "https://playground.thirdweb.com/",
23-
icon: <ExternalLinkIcon />,
24-
name: "Playground",
25-
},
2621
{ separator: true },
2722
{
2823
isCollapsible: false,
@@ -47,21 +42,6 @@ export const sidebar: SideBar = {
4742
href: `${slug}/deploy`,
4843
name: "Deploy Contracts",
4944
},
50-
/**
51-
* TODO
52-
{
53-
href: `${slug}/encode`,
54-
name: "Encode Data",
55-
},
56-
{
57-
href: `${slug}/decode`,
58-
name: "Decode Data",
59-
},
60-
{
61-
href: `${slug}/fetch-abis`,
62-
name: "Fetch ABIs",
63-
},
64-
*/
6545
],
6646
name: "Guides",
6747
},
@@ -70,17 +50,22 @@ export const sidebar: SideBar = {
7050
isCollapsible: false,
7151
links: [
7252
{
73-
href: "/references/typescript/v5/functions#transactions",
53+
href: "https://api.thirdweb.com/reference#tag/contracts",
54+
icon: <CodeIcon />,
55+
name: "HTTP API",
56+
},
57+
{
58+
href: "/references/typescript/v5/functions#contract",
7459
icon: <TypeScriptIcon />,
7560
name: "TypeScript",
7661
},
7762
{
78-
href: "/references/typescript/v5/hooks#transactions",
63+
href: "/references/typescript/v5/functions#contract",
7964
icon: <ReactIcon />,
8065
name: "React",
8166
},
8267
{
83-
href: "/references/typescript/v5/hooks#transactions",
68+
href: "/references/typescript/v5/functions#contract",
8469
icon: <ReactIcon />,
8570
name: "React Native",
8671
},
@@ -102,5 +87,35 @@ export const sidebar: SideBar = {
10287
],
10388
name: "API References",
10489
},
90+
{ separator: true },
91+
{
92+
isCollapsible: false,
93+
links: [
94+
{
95+
href: `${slug}/security`,
96+
name: "Security",
97+
},
98+
{
99+
href: `${slug}/troubleshoot`,
100+
name: "Troubleshoot",
101+
},
102+
{
103+
href: `${slug}/faqs`,
104+
name: "FAQ",
105+
},
106+
],
107+
name: "Resources",
108+
},
109+
{ separator: true },
110+
{
111+
isCollapsible: true,
112+
links: [
113+
{
114+
href: `${slug}/modular-contracts`,
115+
name: "Modular Contracts",
116+
},
117+
],
118+
name: "Archive",
119+
},
105120
],
106121
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { Details } from "@doc";
2+
3+
export const metadata = {
4+
title: "Troubleshooting Guides",
5+
description: "Guides to help you troubleshoot common issues with thirdweb contracts.",
6+
};
7+
8+
9+
# Contracts Troubleshooting Guides
10+
11+
<Details summary="Can I use thirdweb tools with my existing contract?">
12+
Yes, thirdweb contract dashboard, deployment tools, and SDKs / APIs are compatible with non-thirdweb contracts.
13+
14+
You can use thirdweb's deploy tool to deploy any contract that has not been deployed to any compatible EVM chain.
15+
16+
For any already deployed contracts, you can use the thirdweb dashboard to import them and manage their functionality.
17+
18+
</Details>

apps/portal/src/app/payments/faq/page.mdx

Lines changed: 46 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,28 @@ import { createMetadata, Details } from "@doc";
22

33
export const metadata = createMetadata({
44
image: {
5-
title: "thirdweb Payments - FAQs",
6-
icon: "thirdweb",
5+
title: "Payments FAQs",
6+
icon: "payments",
77
},
8-
title: "thirdweb Payments - FAQs - thirdweb",
9-
description: "thirdweb Payments - Frequently Asked Questions",
8+
title: "Payments FAQs | thirdweb documentation",
9+
description: "Explore FAQs around accepting crypto payments with thirdweb—covering payment links, checkout, webhooks, fiat onramps, and token compatibility.",
1010
});
1111

12-
# FAQs
12+
# Payments FAQs
13+
14+
### General
15+
16+
<Details summary="What does Payments use to operate under the hood?">
17+
Payments is an asset router that combines thirdweb's own onchain infrastructure with existing bridging and swapping protocols to find the optimal route for any given transaction.
18+
This can include intents, native bridges, third party bridges, cross-chain messaging protocols, thirdweb's custom bridges, and more. All routes are monitored and planned continuously for
19+
health, price, and speed to guarantee the best path every time.
20+
</Details>
21+
22+
<Details summary="Am I able to use Payments with other wallet infrastructure providers?">
23+
Yes, Payments is designed to be agnostic to wallet infrastructure. You can use it with any wallet service.
24+
</Details>
25+
26+
### Fees
1327

1428
<Details summary="What are the fees for Buy With Fiat?">
1529
thirdweb does not charge any fees for buy with fiat. Any fees on onramping are based on the onramp provider.
@@ -23,12 +37,12 @@ For buying with crypto or swap fees, thirdweb charges a 0.3% protocol fee. Devel
2337
Network fees, also referred to as miner fees, are paid to the miner for processing crypto transactions and securing the respective network. These fees do not go to thirdweb.
2438
</Details>
2539

26-
<Details summary="What does Payments use to operate under the hood?">
27-
Payments is an asset router that combines thirdweb's own onchain infrastructure with existing bridging and swapping protocols to find the optimal route for any given transaction.
28-
This can include intents, native bridges, third party bridges, cross-chain messaging protocols, thirdweb's custom bridges, and more. All routes are monitored and planned continuously for
29-
health, price, and speed to guarantee the best path every time.
40+
<Details summary="Does thirdweb Payments offer fiat payouts?">
41+
Fiat payouts are not currently available.
3042
</Details>
3143

44+
### Token & Region Support
45+
3246
<Details summary="How can I support a token on Payments?">
3347
Payments is able to support most token that meet the following criteria:
3448

@@ -40,25 +54,6 @@ To request support for a token, please visit the Payments tab in your project da
4054
Payments will automatically kick off the token route discovery process. Please check back the Payments modal after 20-40 minutes for the requested token.
4155
</Details>
4256

43-
<Details summary="Am I able to use Payments with other wallet infrastructure providers?">
44-
Yes, Payments is designed to be agnostic to wallet infrastructure. You can use it with any wallet service.
45-
</Details>
46-
47-
<Details summary="Does Payments support Apple Pay or Google Pay?">
48-
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.
49-
</Details>
50-
51-
<Details summary="What are the KYC requirements?">
52-
Onramp options all require minimal KYC. This is done to comply with local regulations and to ensure the safety of our users.
53-
Please note: onramping with Coinbase does not require KYC for a purchase below $500 with debit card.
54-
</Details>
55-
56-
<Details summary="What are your transaction limits for Buy With Fiat?">
57-
We currently require a $1 minimum purchase for both stablecoin and non-stablecoin purchases through Buy With Fiat.
58-
59-
Our transaction maximum starts from $1500 per week for new users and can increase over time to $10,000 per week.
60-
</Details>
61-
6257
<Details summary="What countries does Buy With Fiat support?">
6358
**Buy With Fiat** is available 160+ countries. The following countries are _UNSUPPORTED_:
6459

@@ -87,6 +82,20 @@ Our transaction maximum starts from $1500 per week for new users and can increas
8782
All United States are supported, excluding Hawaii.
8883
</Details>
8984

85+
<Details summary="What cryptocurrencies does Payments support?">
86+
Payments can support any currency on our [supported chains](https://thirdweb.com/chainlist?service=pay).
87+
</Details>
88+
89+
<Details summary="Does Payments support Apple Pay or Google Pay?">
90+
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.
91+
</Details>
92+
93+
<Details summary="What are your transaction limits for Buy With Fiat?">
94+
We currently require a $1 minimum purchase for both stablecoin and non-stablecoin purchases through Buy With Fiat.
95+
96+
Our transaction maximum starts from $1500 per week for new users and can increase over time to $10,000 per week.
97+
</Details>
98+
9099
<Details summary="Does thirdweb offer direct onramping to tokens through Buy With Fiat?">
91100
We offer direct onramping **internationally** to the following tokens:
92101

@@ -107,20 +116,20 @@ All other tokens will require an additional Buy With Crypto step.
107116
\* Not available in New York or the EU.
108117
</Details>
109118

110-
<Details summary="How does KYC work with Buy With Fiat">
111-
Users will be required to complete KYC verification for their first purchase using 'Buy with Fiat.' After that, no further KYC will be needed for future purchases on the same platform.
119+
<Details summary="How are cryptocurrency prices set in thirdweb Payments?">
120+
Prices are set depending on the liquidity provider used to route your transaction.
112121
</Details>
113122

114-
<Details summary="What cryptocurrencies does Payments support?">
115-
Payments can support any currency on our [supported chains](https://thirdweb.com/chainlist?service=pay).
116-
</Details>
123+
### KYC & Compliance
117124

118-
<Details summary="How are cryptocurrency prices set in thirdweb Payments?">
119-
Prices are set depending on the liquidity provider used to route your transaction.
125+
<Details summary="What are the KYC requirements?">
126+
Onramp options all require minimal KYC. This is done to comply with local regulations and to ensure the safety of our users.
127+
Please note: onramping with Coinbase does not require KYC for a purchase below $500 with debit card.
120128
</Details>
121129

122-
<Details summary="Does thirdweb Payments offer fiat payouts?">
123-
Fiat payouts are not currently available.
130+
<Details summary="How does KYC work with Buy With Fiat">
131+
Users will be required to complete KYC verification for their first purchase using 'Buy with Fiat.' After that, no further KYC will be needed for future purchases on the same platform.
124132
</Details>
125133

126134

135+
351 KB
Loading
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { Step, Steps, DocImage, createMetadata } from "@doc";
2+
import TokenDeployment from "../assets/token_deployment.png";
3+
4+
export const metadata = createMetadata({
5+
image: {
6+
title: "Deploy an ERC-1155 token",
7+
icon: "contracts",
8+
},
9+
title: "Deploy an ERC-1155 token | thirdweb Documentation",
10+
description:
11+
"Learn how to deploy an ERC-1155 token using thirdweb's dashboard or programmatically through the SDK.",
12+
});
13+
14+
# Deploy an ERC-1155 token
15+
16+
Ability to deploy ERC-1155 tokens is coming soon. If you are interested in this feature, please [reach out in our community Telegram](https://t.me/officialthirdweb) so we can notify you on release.
525 KB
Loading
366 KB
Loading

0 commit comments

Comments
 (0)