Skip to content

Commit 6e62a3a

Browse files
[Docs] Add Ecosystem Wallet to sidebar and update documentation (#7643)
1 parent 746b0c9 commit 6e62a3a

File tree

29 files changed

+1759
-30
lines changed

29 files changed

+1759
-30
lines changed

apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/EngineCloudChartCard/EngineCloudBarChartCardUI.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export function EngineCloudBarChartCardUI({
6868
if (data.length === 0 || isAllEmpty) {
6969
return (
7070
<EmptyStateCard
71-
link="https://portal.thirdweb.com/engine/v3"
71+
link="https://portal.thirdweb.com/transactions"
7272
metric="Transactions"
7373
/>
7474
);

apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/layout.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ function EngineLegacyBannerUI(props: {
104104
<Button asChild size="sm" variant="outline">
105105
<Link
106106
className="gap-2 bg-background"
107-
href="https://portal.thirdweb.com/engine/v3"
107+
href="https://portal.thirdweb.com/transactions"
108108
rel="noopener noreferrer"
109109
target="_blank"
110110
>

apps/portal/src/app/Header.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const links = [
4040
name: "Payments",
4141
},
4242
{
43-
href: "/engine",
43+
href: "/transactions",
4444
name: "Transactions",
4545
},
4646
{

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

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,15 @@ export const sidebar: SideBar = {
1919
},
2020
{
2121
href: `${walletSlug}/sign-in-methods/configure`,
22-
name: "Create Wallets",
22+
name: "User Wallets",
23+
},
24+
{
25+
href: `${walletSlug}/server`,
26+
name: "Server Wallets",
27+
},
28+
{
29+
href: `${connectSlug}/external-wallets`,
30+
name: "External Wallets",
2331
},
2432
{
2533
href: `${aAslug}/get-started`,
@@ -49,10 +57,6 @@ export const sidebar: SideBar = {
4957
href: `${walletSlug}/user-management/export-private-key`,
5058
name: "Export Private Keys",
5159
},
52-
{
53-
href: `${connectSlug}/external-wallets`,
54-
name: "External Wallets",
55-
},
5660
{ separator: true },
5761
{
5862
isCollapsible: false,
@@ -105,6 +109,10 @@ export const sidebar: SideBar = {
105109
icon: <ExternalLinkIcon />,
106110
name: "Templates",
107111
},
112+
{
113+
href: `${walletSlug}/ecosystem/set-up`,
114+
name: "Ecosystem Wallets",
115+
},
108116
{
109117
href: `${walletSlug}/security`,
110118
name: "Security",

apps/portal/src/app/connect/wallet/ecosystem/set-up/page.mdx

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,27 @@ import { Callout, DocImage, createMetadata, Steps, Step } from "@doc";
22
import CreateEcosystemWallet from "./assets/ecosystem-info.png";
33
import EcosystemWalletPermissions from "./assets/ecosystem-wallet-permissions.png";
44
import AddAPartner from "./assets/add-partner.png";
5+
import WalletconnectCreate from "../assets/walletconnect-create.png";
6+
import WalletconnectUrl from "../assets/walletconnect-url.png";
7+
import WalletconnectWallet from "../assets/walletconnect-wallet.png";
8+
import WalletconnectGuide from "../assets/walletconnect-guide.png";
59

610
export const metadata = createMetadata({
711
image: {
812
title: "thirdweb Ecosystem Wallet",
913
icon: "wallets",
1014
},
11-
title: "Get Started - Ecosystem Wallet | thirdweb",
15+
title: "Ecosystem Wallet",
1216
description: "Ecosystem Wallet - Own your own web3 identity stack",
1317
});
1418

15-
# Get Started
19+
# Ecosystem Wallet
1620

17-
Learn how to spin up your first ecosystem wallet, brand your wallet, and integrate your first ecosystem partner.
21+
Ecosystem wallets can span accross multiple apps and games. You can register partners, setup access controls and sponsor gas for your entire ecossytem.
22+
23+
Learn how to spin up your first ecosystem wallet, brand your wallet, and integrate your first ecosystem partner.
1824

1925
<Steps>
20-
<Step title='Get your Client ID'>
21-
On the thirdweb dashboard, navigate to settings to create an API Key to obtain a Client ID.
22-
</Step>
2326
<Step title='Deploy Your Instance'>
2427

2528
Visit the [Ecosystem Wallets dashboard](https://thirdweb.com/team/~/~/ecosystem/create) and enter the name of your ecosystem and choose your logo.
@@ -97,3 +100,46 @@ You and your partners can integrate your ecosystem wallet either as a full login
97100
</Step>
98101

99102
</Steps>
103+
104+
# How to Register Your thirdweb Ecosystem Wallet with WalletConnect (now Reown)
105+
106+
**Note:** WalletConnect Inc. is now Reown. [Read more here](https://reown.com/blog/walletconnect-is-now-reown).
107+
108+
Registering your Ecosystem Wallet with Reown allows it to appear in the WalletConnect Explorer for seamless integration with platforms like OpenSea and other third-party applications.
109+
110+
<Steps>
111+
<Step title="Create a New Project in Reown">
112+
Visit the [Reown Dashboard](https://reown.com/) and select **"Create Project"**
113+
- Enter your [Ecosystem Wallet's Explorer](https://thirdweb.com/team/~/~/ecosystem/) page URL as the **Homepage URL** and proceed.
114+
- Choose **Wallet** as the project type and select **"Create"**
115+
</Step>
116+
117+
<DocImage src={WalletconnectCreate} />
118+
<DocImage src={WalletconnectUrl} />
119+
<DocImage src={WalletconnectWallet} />
120+
121+
<Step title="Complete Your Project Details">
122+
Navigate to the **WalletGuide** tab and fill out the following form:
123+
- **Wallet Name:** Provide your wallet's name.
124+
- **Wallet Category:** Select **"Web App Wallets"**
125+
- **Web App URL:** Use your Ecosystem Wallet's Explorer page URL.
126+
- **Supported Chains:** Choose Ethereum and any other chains your wallet supports.
127+
- **Logo:** Upload your wallet’s logo (this will appear on the WalletConnect Explorer).
128+
- **Testing Instructions:** Provide clear testing instructions for the Reown team. For example: *"Log in via the specified URL and select an authentication method."*
129+
</Step>
130+
131+
<DocImage src={WalletconnectGuide} />
132+
133+
<Step title="Submit for Review">
134+
Once you've completed the form, click **"Submit Review"**
135+
- After approval, your wallet will appear live on the WalletConnect Explorer.
136+
</Step>
137+
138+
<Step title="Verify Your Integration">
139+
Visit a platform like OpenSea and use WalletConnect to log in.
140+
- Select your registered wallet from the list and authenticate.
141+
- Your wallet should now seamlessly connect, allowing you to interact with the platform.
142+
</Step>
143+
</Steps>
144+
145+
By following these steps, your branded Ecosystem Wallet will be accessible across all WalletConnect-enabled (Reown) applications.
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
import { Tabs, TabsList, TabsTrigger, TabsContent } from "@/components/ui/tabs";
2+
import { TypeScriptIcon, EngineIcon } from "@/icons";
3+
import { createMetadata } from "@doc";
4+
5+
export const metadata = createMetadata({
6+
image: {
7+
title: "Server Wallets",
8+
icon: "wallets",
9+
},
10+
title: "Server Wallets",
11+
description:
12+
"Server wallets are wallets that are managed by your own application, like a treasury wallet or admin wallet. They are used to send transactions from the server.",
13+
});
14+
15+
# Server Wallets
16+
17+
Server wallets are wallets that are managed by your own application, like a treasury wallet or admin wallet. They are used to send transactions from the server.
18+
19+
### Create a new Server Wallet
20+
21+
You can create a new server wallet from your project dashboard.
22+
23+
---
24+
25+
<Tabs defaultValue="http">
26+
<TabsList>
27+
<TabsTrigger value="http" className="flex items-center gap-2 [&>p]:mb-0">
28+
<EngineIcon className="w-4 h-4 mr-2" />
29+
HTTP API
30+
</TabsTrigger>
31+
<TabsTrigger value="typescript" className="flex items-center gap-2 [&>p]:mb-0">
32+
<TypeScriptIcon className="w-4 h-4 mr-2" />
33+
TypeScript
34+
</TabsTrigger>
35+
</TabsList>
36+
37+
<TabsContent value="http">
38+
39+
### Use an existing Server Wallet
40+
41+
Once created, you can use your server wallet by passing it as the `from` field of the `executionOptions` of the [transactions API](https://engine.thirdweb.com/reference).
42+
43+
### Create a new Server Wallet Programmatically
44+
45+
```http
46+
POST /v1/accounts
47+
Content-Type: application/json
48+
x-secret-key: <your-project-secret-key>
49+
50+
{
51+
"label": "My Server Wallet"
52+
}
53+
```
54+
55+
### List all Server Wallets
56+
57+
```http
58+
GET /v1/accounts
59+
Content-Type: application/json
60+
x-secret-key: <your-project-secret-key>
61+
```
62+
63+
</TabsContent>
64+
65+
<TabsContent value="typescript">
66+
67+
### Use an existing Server Wallet
68+
69+
For existing server wallets, you can get a wallet object with the `serverWallet` function.
70+
71+
```typescript
72+
import { Engine, createThirdwebClient } from "thirdweb";
73+
74+
const client = createThirdwebClient({
75+
secretKey: "...", // your project secret key
76+
});
77+
78+
const wallet = Engine.serverWallet({
79+
client,
80+
address: "0x...", // your server wallet address
81+
});
82+
```
83+
84+
You can then use this wallet to send transactions just like user wallets with the thirdweb SDK.
85+
86+
### Create a new Server Wallet Programmatically
87+
88+
You can also create new server wallets programmatically with a label.
89+
90+
```typescript
91+
import { Engine } from "thirdweb";
92+
93+
const wallet = Engine.createServerWallet({
94+
client,
95+
label: "My Server Wallet",
96+
});
97+
```
98+
99+
### List all Server Wallets
100+
101+
You can list all server wallets for your project.
102+
103+
```typescript
104+
import { Engine } from "thirdweb";
105+
106+
const wallets = await Engine.getServerWallets({
107+
client,
108+
});
109+
```
110+
</TabsContent>
111+
</Tabs>

apps/portal/src/app/connect/wallet/sign-in-methods/configure/page.mdx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,12 @@ import {
1313
import EcosystemSocialConfig from '../assets/social-config.png'
1414
import { AuthMethodsTabs } from "@/components/Document/AuthMethodsTabs"
1515

16-
# Create wallets
16+
# User Wallets
1717

1818
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.
1919

2020
---
2121

22-
## Interactive Guide
23-
24-
Choose your authentication method and see the code for your platform:
2522

2623
<AuthMethodsTabs/>
2724

apps/portal/src/app/engine/v3/get-started/page.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Learn how to get started with thirdweb Transactions. This guide will walk you th
5555

5656
<TabsContent value="curl">
5757
```bash
58-
curl -X POST "https://engine-cloud-dev-l8wt.chainsaw-dev.zeet.app/v1/write/contract" \
58+
curl -X POST "https://engine.thirdweb.com/v1/write/contract" \
5959
-H "Content-Type: application/json" \
6060
-H "x-secret-key: <your-project-secret-key>" \
6161
-H "x-vault-access-token: <your-vault-access-token>" \
@@ -79,7 +79,7 @@ Learn how to get started with thirdweb Transactions. This guide will walk you th
7979
<TabsContent value="javascript">
8080
```typescript
8181
const response = await fetch(
82-
"https://engine-cloud-dev-l8wt.chainsaw-dev.zeet.app/v1/write/contract",
82+
"https://engine.thirdweb.com/v1/write/contract",
8383
{
8484
method: "POST",
8585
headers: {
@@ -110,7 +110,7 @@ Learn how to get started with thirdweb Transactions. This guide will walk you th
110110
import requests
111111
import json
112112

113-
url = "https://engine-cloud-dev-l8wt.chainsaw-dev.zeet.app/v1/write/contract"
113+
url = "https://engine.thirdweb.com/v1/write/contract"
114114
headers = {
115115
"Content-Type": "application/json",
116116
"x-secret-key": "<your-project-secret-key>",
@@ -147,7 +147,7 @@ Learn how to get started with thirdweb Transactions. This guide will walk you th
147147
)
148148

149149
func main() {
150-
url := "https://engine-cloud-dev-l8wt.chainsaw-dev.zeet.app/v1/write/contract"
150+
url := "https://engine.thirdweb.com/v1/write/contract"
151151

152152
// Create the request payload
153153
type Param struct {
@@ -213,7 +213,7 @@ Learn how to get started with thirdweb Transactions. This guide will walk you th
213213
{
214214
static async Task Main()
215215
{
216-
var url = "https://engine-cloud-dev-l8wt.chainsaw-dev.zeet.app/v1/write/contract";
216+
var url = "https://engine.thirdweb.com/v1/write/contract";
217217
218218
var requestData = new
219219
{

apps/portal/src/app/page.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,17 @@ function ReferenceSection() {
8989
/>
9090
<Grid>
9191
<SDKCard
92-
href="/typescript/v5"
92+
href="/references/typescript/v5"
9393
icon={TypeScriptIcon}
9494
title="TypeScript"
9595
/>
96-
<SDKCard href="/react/v5" icon={ReactIcon} title="React" />
9796
<SDKCard
98-
href="/react-native/v5"
97+
href="/references/typescript/v5"
98+
icon={ReactIcon}
99+
title="React"
100+
/>
101+
<SDKCard
102+
href="/references/typescript/v5"
99103
icon={ReactIcon}
100104
title="React Native"
101105
/>
@@ -177,7 +181,7 @@ function LearningResourcesSection() {
177181
/>
178182
<ArticleCardIndex
179183
description="Reliable transactions and monitoring"
180-
href="/engine"
184+
href="/transactions"
181185
icon={EngineIcon}
182186
title="Transactions"
183187
/>
Loading

0 commit comments

Comments
 (0)