Skip to content
This repository has been archived by the owner on Aug 5, 2024. It is now read-only.

Commit

Permalink
Change embedded-wallet folder to in-app-wallet
Browse files Browse the repository at this point in the history
  • Loading branch information
Ian Mukherjee authored and Ian Mukherjee committed Apr 9, 2024
1 parent fa08361 commit bce27e6
Show file tree
Hide file tree
Showing 41 changed files with 35 additions and 35 deletions.
10 changes: 5 additions & 5 deletions src/app/connect/account-abstraction/how-it-works/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Smart accounts rely on code instead of private keys to secure and recover wallet

**A smart account is a type of Web3 wallet powered by smart contracts.**

This smart account is unlocked by a 'key' - a personal account. This key can be anything from a [MetaMask](/references/wallets/v2/MetaMaskWallet) wallet or even an [Embedded Wallet](../connect/embedded-wallet) and is used as a way to 'sign in' to the wallet.
This smart account is unlocked by a 'key' - a personal account. This key can be anything from a [MetaMask](/references/wallets/v2/MetaMaskWallet) wallet or even a [In-App Wallet](../connect/in-app-wallet) and is used as a way to 'sign in' to the wallet.

## Benefits of Smart Accounts

Expand All @@ -41,10 +41,10 @@ This factory contract is responsible for deploying individual user contracts whe

#### Types of Account and Account Factory

| Factory Type | Upgradeability | Expected Usage |
| -------------------------------------------------------------------- | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`Simple`](https://thirdweb.com/thirdweb.eth/AccountFactory) | Non-upgradeable | Developer wants to issue simple smart accounts to their users. They do not anticipate that users' wallets will need any feature upgrades. |
| [`Managed`](https://thirdweb.com/thirdweb.eth/ManagedAccountFactory) | Account upgrades controlled centrally by the app developer. | The developer wants to issue smart accounts to their users. They do anticipate feature upgrades to user wallets and want to push upgrades to user wallets for seamless/invisible UX upgrades. |
| Factory Type | Upgradeability | Expected Usage |
| -------------------------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`Simple`](https://thirdweb.com/thirdweb.eth/AccountFactory) | Non-upgradeable | Developer wants to issue simple smart accounts to their users. They do not anticipate that users wallets will need any feature upgrades. |
| [`Managed`](https://thirdweb.com/thirdweb.eth/ManagedAccountFactory) | Account upgrades controlled centrally by the app developer. | Developer wants to issue smart accounts to their users. They do anticipate feature upgrades to user wallets, and want to push upgrades to user wallets for seamless/invisible UX for upgrades. |

### Account Type Feature Comparison

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ export const metadata = createMetadata({
},
title: "Custom Auth Server | EmbeddedWallet",
description:
"Learn how to integrate your auth backend with our in-app wallets solution so you can onboard your users into web3 seamlessly.",
"Learn how to integrate your auth backend with our embedded wallets solution so you can onboard your users into web3 seamlessly.",
});

# Custom Auth Server

Learn how to integrate your auth backend with our in-app wallets solution so you can onboard your users into web3 seamlessly.
Learn how to integrate your auth backend with our embedded wallets solution so you can onboard your users into web3 seamlessly.

This guide will show you how to create your own Auth Server that is compatible with the `auth_endpoint` strategy. By doing so, you can have full control over user authentication and data security. This allows you to ensure that your application meets specific compliance requirements while also providing a customized sign-in experience.

Expand Down Expand Up @@ -148,7 +148,7 @@ Of course, you would use your own auth server instead of the one we provided. Th

### Setup

The following steps will show you how to create a simple auth server that can be used with the in-app wallet.
The following steps will show you how to create a simple auth server that can be used with the embedded wallet.

At a high level, the auth server will:

Expand Down Expand Up @@ -262,4 +262,4 @@ To deploy the server, you can use services such as [Zeet](https://zeet.co/) or [

### **Integrate In-App Wallets**

Refer top the [quickstart above](#5-minute-quickstart) to integrate the in-app wallet into your application.
Refer top the [quickstart above](#5-minute-quickstart) to integrate the embedded wallet into your application.
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ export const metadata = createMetadata({
},
title: "Create a Custom JWT Auth Server | InAppWalletWallet",
description:
"Learn how to integrate your auth backend with our in-app wallets solution so you can onboard your users into web3 seamlessly.",
"Learn how to integrate your auth backend with our embedded wallets solution so you can onboard your users into web3 seamlessly.",
});

# Create a Custom JWT Auth Server

Learn how to integrate your auth backend with our in-app wallets solution so you can onboard your users into web3 seamlessly.
Learn how to integrate your auth backend with our embedded wallets solution so you can onboard your users into web3 seamlessly.

This guide will show you how to create your own Auth Server that is compatible with the JWT auth strategy. By doing so, you can have full control over user authentication and data security. This allows you to ensure that your application meets specific compliance requirements while also providing a customized sign-in experience.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ To skip over the initialization steps, we will use the React Native TypeScript s
<Step title="Set up the custom JSON Web Keys link through dashboard">

1. Navigate to Wallets > [In-App Wallets](https://thirdweb.com/dashboard/wallets/embedded)
2. To use in-app wallets, choose an existing API key or create a new one. Learn more about API keys.
2. To use embedded wallets, choose an existing API key or create a new one. Learn more about API keys.

<DocImage src={ewCreateKey} />

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

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)?
### Do I need to build separate flows for embedded 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.).
However, you will need to provide a separate flow to create embedded wallets as you would with any wallet provider (WalletConnect, Coinbase Wallet, etc.).

### How do I troubleshoot unexpected console error messages?

Expand All @@ -31,37 +31,37 @@ If you continue to run into a console error, please contact us with more details

thirdweb can create up to 100 wallets/second by default and can support higher limits (up to 3,000 wallets/second) upon request.

### Where can users see assets in their in-app wallet?
### Where can users see assets in their embedded wallet?

Users can login to their in-app wallet at https://ews.thirdweb.com/wallet and see the assets held in it.
Users can login to their embedded wallet at https://ews.thirdweb.com/wallet and see the assets held in it.

### How do users connect to their in-app wallet in a third-party app?
### How do users connect to their embedded wallet in a third-party app?

Users can access it by choosing the thirdweb option in WalletConnect. They will have to choose which "app wallet" they want to connect to the app

### What login options does thirdweb support?

We support Google, Apple, Facebook and email out of the box, and in-app wallets can be configured to work with any Open ID Compatible authentication service. We will be adding out of the box support for more social login options soon.
We support Google, Apple, Facebook and email out of the box, and embedded wallets can be configured to work with any Open ID Compatible authentication service. We will be adding out of the box support for more social login options soon.

### How is pricing calculated for in-app wallets?
### How is pricing calculated for embedded wallets?

In-app wallets are billed based on "monthly active wallets". An active wallet is defined as a wallet where a user logs in during the billing period. In-app wallets are completely free up to 1,000 monthly active wallets, and $0.02 per wallet after that.

### Do you support gasless transactions?

Yes, you can easily use account abstraction with in-app wallets to enable sponsored (gasless) transactions.
Yes, you can easily use account abstraction with embedded wallets to enable sponsored (gasless) transactions.

### Is there a way to display the logged-in email address in the Connect component, similar to the wallet address?

Yes, we show the email by default in the details modal after you connect. To display the email anywhere else using React or React Native, [check out the code snippets for all platforms](/connect/embedded-wallet/how-to/interact-with-wallets#get-the-user-email).

### Does the In-App Wallet product use smart contract wallets?

The in-app wallet can be sued as a signer to a smart contract account (account abstraction), but it can also be used as a standalone EOA.
The embedded wallet can be sued as a signer to a smart contract account (account abstraction), but it can also be used as a standalone EOA.

### What happens if thirdweb ceases to exist? Will my users be able to access their wallets?

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.
In the event that thirdweb ceases to exist, we have committed to keeping our embedded 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.

# Custom JWT Auth FAQs

Expand All @@ -87,7 +87,7 @@ Soon, developers will be able to toggle on the option for users to add a backup

### How is the private key managed?

You can learn more about the architecture of how in-app wallets are created and stored [here](/connect/embedded-wallet/how-it-works)
You can learn more about the architecture of how embedded wallets are created and stored [here](/connect/embedded-wallet/how-it-works)

### What happens if thirdweb or my database gets breached?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export const metadata = createMetadata({
title: "Build a custom UI for connecting in-app wallets",
icon: "wallets",
},
title: "Build a custom UI for in-app wallets",
title: "Build a custom UI for embedded wallets",
description:
"You have full control with the connection hooks and functions to build your own UI",
});
Expand All @@ -22,11 +22,11 @@ export const metadata = createMetadata({

## Low level control to authenticate and connect wallets

You have full control with the connection hooks and functions to build your own UI. To use in-app wallets, you first choose a authentication strategy and then connect.
You have full control with the connection hooks and functions to build your own UI. To use embedded wallets, you first choose a authentication strategy and then connect.

## Starting from an example

View a fully functioning example of an in-app wallet with a custom UI:
View a fully functioning example of an embedded wallet with a custom UI:

<Stack>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import ConnectWalletHero from "./connect-wallet-hero.webp";
export const metadata = createMetadata({
title: "Connect users with In-App Wallet",
description:
"use the prebuilt connect UI components to authenticate users and connect in-app wallet",
"use the prebuilt connect UI components to authenticate users and connect embedded wallet",
image: {
title: "Connect users with In-App Wallet",
icon: "wallets",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ By combining [Account abstraction](/connect/account-abstraction) and [In-App Wal

Let's create an app that creates smart accounts for our users.

These smart accounts will require a **“personal wallet”** to access and initialize the wallet. For this personal wallet, we will of course use an in-app wallet.
These smart accounts will require a **“personal wallet”** to access and initialize the wallet. For this personal wallet, we will of course use an embedded wallet.

From the user's perspective, they will log in with their email or social account. Under the hood, an in-app wallet is created for them, and then a smart account is created and initialized using the in-app wallet.
From the user's perspective, they will log in with their email or social account. Under the hood, an embedded wallet is created for them, and then a smart account is created and initialized using the embedded wallet.

<DocImage src={ConnectCompat} />

Expand Down Expand Up @@ -99,7 +99,7 @@ export default function App() {
}
```

This will create an in-app wallet and a smart account for the user. The smart account will be initialized with the in-app wallet as the owner.
This will create an embedded wallet and a smart account for the user. The smart account will be initialized with the embedded wallet as the owner.

Pass your deployed `factoryAddress` to the `accountAbstraction` prop. This will allow the smart account to be be deployed only when the user sends their first transaction.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ export const metadata = createMetadata({
},
title: "Interact with the blockchain | thirdweb In-App Wallet",
description:
"One connected, in-app wallets can be used alongside the Contract SDK to interact with the blockchain",
"One connected, embedded wallets can be used alongside the Contract SDK to interact with the blockchain",
});

# Interact with the blockchain

One connected, in-app wallets can be used alongside the [Contract SDK](/contracts/interact/overview) to interact with the blockchain.
One connected, embedded wallets can be used alongside the [Contract SDK](/contracts/interact/overview) to interact with the blockchain.

## Initialize the SDK With Your Wallet

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export const metadata = createMetadata({
},
title: "Interact with In-App Wallet",
description:
"Learn how to interact with the in-app wallet using the React hooks or the EmbeddedWallet instance.",
"Learn how to interact with the embedded wallet using the React hooks or the EmbeddedWallet instance.",
});

# Interact with wallets
Expand Down
4 changes: 2 additions & 2 deletions src/app/unity/wallets/actions/getemail/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export const metadata = createMetadata({

# GetEmail

Gets the connected in-app wallet email if any.
Gets the connected embedded wallet email if any.

## Usage

Expand All @@ -17,4 +17,4 @@ string email = await sdk.Wallet.GetEmail();

## Return Value

Returns the email `string` of the connected in-app wallet if any, otherwise returns an empty string.
Returns the email `string` of the connected embedded wallet if any, otherwise returns an empty string.

0 comments on commit bce27e6

Please sign in to comment.