Skip to content

Commit 6ad7515

Browse files
committed
doc updates
1 parent 4e703fd commit 6ad7515

File tree

3 files changed

+82
-0
lines changed

3 files changed

+82
-0
lines changed

apps/portal/src/app/engine/features/backend-wallets/page.mdx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ The smart account is automatically deployed the first time you send a transactio
4949
- `smart:local` - Smart account backed by a local key
5050
- `smart:aws-kms` - Smart account backed by AWS KMS
5151
- `smart:gcp-kms` - Smart account backed by Google Cloud KMS
52+
- `smart:circle` - Smart account backed by Circle Developer-Controlled Wallets
5253

5354
For AWS and Google Cloud KMS options, follow the setup instructions in the respective sections below.
5455

@@ -178,6 +179,27 @@ An [AWS KMS Wallet](/references/wallets/v2/AwsKmsWallet) is a wallet securely st
178179
- GCP KMS Key ID (example: `0489da75-9830-4a5a-97e3-e4a6df7775b3`)
179180
- GCP KMS Version ID (example: `1`)
180181

182+
## Circle Wallet
183+
184+
[Circle Programmable Wallets](https://developers.circle.com/w3s/programmable-wallets) is a Wallet as a Service (WaaS) solution designed to simplify the creation and management of secure Web3 wallets and their private keys. Engine can create and transact with the wallet, but not delete it.
185+
186+
#### Setup
187+
188+
1. Create a Circle account at the [Circle Console](https://console.circle.com/signin).
189+
2. Navigate to [API & Client Keys](https://console.circle.com/api-keys).
190+
3. Create an API Key. (Either a standard key or a restricted key scoped to "Programmable Wallets" is required.) Do not enable the IP Allowlist. Store this key, it is not shown again.
191+
4. In the dashboard, navigate to **Configuration > Backend Wallets**.
192+
5. Select **Circle** and provide the following:
193+
- API Key (example: `API_KEY:...`)
194+
195+
<Callout varian="info">
196+
Circle API Keys are scoped to either Testnet or Mainnet. Backend wallets
197+
created with a testnet key will not work on the mainnet, and vice versa
198+
<br /> If you want to change between testnet and mainnet, you will need to
199+
update the API key configuration in engine, and recreate a wallet. with the
200+
Mainnet scope.
201+
</Callout>
202+
181203
## Create a wallet
182204

183205
For AWS or Google Cloud KMS wallets, you must provide your credentials.
@@ -186,6 +208,8 @@ For AWS or Google Cloud KMS wallets, you must provide your credentials.
186208
1. Select **Create**.
187209
1. (Optional) Provide a label to organize your wallets.
188210

211+
Circle wallets require creating a [Credential](/engine/features/wallet-credentials) first before creating a wallet.
212+
189213
## Import a wallet
190214

191215
For AWS or Google Cloud KMS wallets, you must provide your credentials.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import { createMetadata, Details } from "@doc";
2+
import { Callout } from "@doc";
3+
4+
export const metadata = createMetadata({
5+
title: "Wallet Credentials | thirdweb Engine",
6+
description:
7+
"Engine can securely store and manage wallet credentials for thirdweb backend wallets.",
8+
});
9+
10+
# Wallet Credentials
11+
12+
Wallet credentials are authentication details required to interact with different cloud providers and wallet services. They enable secure access to wallet functionality across various platforms.
13+
14+
<Callout variant="info">
15+
Currently, the credentials system has only been rolled out for Circle wallets.
16+
Default credentials are not yet supported. Existing wallets will continue to
17+
work as normal, but new wallet creations will use the new credential system
18+
after the rollout.
19+
</Callout>
20+
21+
## Overview
22+
23+
Each wallet in the system is associated with a credential that contains the necessary authentication details for its specific provider (AWS, GCP, etc.). These credentials are stored securely and can be either:
24+
25+
- Specified explicitly when creating a wallet
26+
- Used automatically through default credentials configured for each provider type
27+
28+
## Default Credentials
29+
30+
Each provider type (AWS, GCP, etc.) can have one default credential. When creating a wallet without specifying a credential, the system automatically uses the default credential for that provider type.
31+
32+
## Creating a Credential
33+
34+
Credentials are created in the dashboard and can be reused across multiple wallets of the same type.
35+
36+
### Create a credential
37+
38+
1. In the dashboard, navigate to **Configuration > Credentials**.
39+
2. Click on **Create**.
40+
3. Assign a name to the credential.
41+
4. Select the type of the credential.
42+
5. Populate the credential fields which are specific to the type.
43+
6. Click on **Create**.
44+
45+
## Usage
46+
47+
When creating a wallet, you can either:
48+
49+
1. Provide a specific credential ID to use custom authentication details
50+
2. Omit the credential ID to automatically use the default credential for your chosen provider
51+
52+
## Security
53+
54+
Credential details are stored encrypted securely in the database and are only accessible through authorized system operations. Once created, they are not retrievable. You can still view the credential (label, type), but you cannot access the credential details. This ensures that credentials are secure and cannot be used to gain unauthorized access to your wallets.

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ export const sidebar: SideBar = {
2828
name: "Backend Wallets",
2929
href: `${engineSlug}/features/backend-wallets`,
3030
},
31+
{
32+
name: "Wallet Credentials",
33+
href: `${engineSlug}/features/wallet-credentials`,
34+
},
3135
{
3236
name: "Contracts",
3337
href: `${engineSlug}/features/contracts`,

0 commit comments

Comments
 (0)