diff --git a/.gitignore b/.gitignore
index 3f1f7b5ac79..58a5ad7bd84 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
node_modules
-docs/dist
\ No newline at end of file
+docs/dist
+.DS_Store
+pnpm-lock.yaml
\ No newline at end of file
diff --git a/docs/pages/guides/webgl-guide.mdx b/docs/pages/guides/webgl-guide.mdx
index cc46fbaa3cc..8a9c63bbbe8 100644
--- a/docs/pages/guides/webgl-guide.mdx
+++ b/docs/pages/guides/webgl-guide.mdx
@@ -22,7 +22,7 @@ The tools will enable you to perform:
- [4. Deploy a remote minter and mint in-game tokens](/guides/webgl-guide#4-deploy-a-remote-minter--mint-in-game-achievement-tokens): Perform gasless relayed transactions with Cloudflare workers
- [5. Leverage items in-game](/guides/webgl-guide#5-leverage-items-in-game): Integrate collectibles in the game using the Sequence Indexer
- [6. Burn in-game achievement tokens](/guides/webgl-guide#6-burn-in-game-achievement-tokens): Burn game achievements with wagmi
-- [7. (Optional) Integrate In-Game Wallet into Sequence Kit](/guides/webgl-guide#7-optional-integrate-in-game-wallet-into-sequence-kit): Enable smooth UX without the use of signer signed messages
+- [7. (Optional) Integrate Embedded Wallet into Sequence Kit](/guides/webgl-guide#7-optional-integrate-in-game-wallet-into-sequence-kit): Enable smooth UX without the use of signer signed messages
## 1. Project setup with webpack
@@ -534,9 +534,9 @@ async fetchTokensFromBurn(tokenID){
And you're done, you can view a full example of the code [here](https://github.com/0xsequence-demos/template-webgl-js-sequence-kit-starter)
-## 7. (Optional) Integrate In-Game Wallet into Sequence Kit
+## 7. (Optional) Integrate Embedded Wallet into Sequence Kit
-If you'd like to smooth the user journey to allow no user transaction signing across the board, you can enable an In-Game Wallet by updating your configuration of your Sequence Kit react component.
+If you'd like to smooth the user journey to allow no user transaction signing across the board, you can enable an Embedded Wallet by updating your configuration of your Sequence Kit react component.
By accomplishing this, we reduce a pop-up when burning tokens with `wagmi`, since rewarding achievement tokens and minting collectibles are completed using a cloudflare relayer for gasless transactions.
@@ -608,5 +608,5 @@ And that's it, no more integration is required for transaction flows to complete
---
- To learn more about In-Game Wallets, see [here](/solutions/wallets/embedded-wallet/01-overview)
+ To learn more about Embedded Wallets, see [here](/solutions/wallets/embedded-wallet/01-overview)
\ No newline at end of file
diff --git a/docs/pages/sdk/unreal/01-overview.mdx b/docs/pages/sdk/unreal/01-overview.mdx
index a192bc3f614..14046d4ac57 100644
--- a/docs/pages/sdk/unreal/01-overview.mdx
+++ b/docs/pages/sdk/unreal/01-overview.mdx
@@ -4,7 +4,7 @@ slug: /unreal-waas-sdk
# Introduction
-The Sequence Unreal In-Game Wallet SDK provides full Sequence [In-Game Wallet](/solutions/wallets/embedded-wallet/01-overview) and [Indexer](/api/indexer/overview) integration for games built on the Unreal Framework.
+The Sequence Unreal Embedded Wallet SDK provides full Sequence [Embedded Wallet](/solutions/wallets/embedded-wallet/01-overview) and [Indexer](/api/indexer/overview) integration for games built on the Unreal Framework.
This SDK follows [Semantic Versioning](https://semver.org/) (`major.minor.patch`). While we're still in `0.x.y` builds, API breaking changes can be made at any time. After `1.0.0`, breaking changes will always cause a `major` version increment, non-breaking new features will cause a `minor` version increment, and bugfixes will cause a `patch` version increment.
diff --git a/docs/pages/solutions/builder/embedded-wallet.mdx b/docs/pages/solutions/builder/embedded-wallet.mdx
new file mode 100644
index 00000000000..19b2a6157e8
--- /dev/null
+++ b/docs/pages/solutions/builder/embedded-wallet.mdx
@@ -0,0 +1,42 @@
+# Embedded Wallet in Builder
+You can configure a [Sequence Embedded Wallet](/solutions/wallets/embedded-wallet/01-overview) in Builder and integrate your own OAuth accounts to enable easy onboarding to your games. Configuration page in Builder [is available here](https://sequence.build/project/default/wallet/embedded-wallet).
+
+## Login Providers
+Sequence Embedded Wallet supports the following login providers:
+
+### Google Auth
+If you would like to support Google Auth, you need to make sure that a project is configured at your [Google Cloud Console](https://console.cloud.google.com/) along with the proper OAuth 2.0 client ID. You can find the relevant section under APIs & Services > [Credentials](https://console.cloud.google.com/apis/credentials). After setting up the proper origins and redirect URIs for your project, copy the Client ID and paste it into the Google Client ID field after adding a Google login provider.
+
+You can find a detailed tutorial on [how to configure Google Auth here](https://developers.google.com/identity/gsi/web/guides/get-google-api-clientid).
+
+### Apple Auth
+If you would like to offer Apple Auth, you need to make sure that an application is configured at your [Apple Developer Console](https://developer.apple.com/account) account. More information on how to configure Sign in with Apple [can be found here](https://developer.apple.com/help/account/configure-app-capabilities/configure-sign-in-with-apple-for-the-web/). Once you have all requirements completed, share the unique identifier for the Services ID you created as part of your onboarding package after adding an Apple login provider.
+
+## Allowed Origins
+This additional security measure will prevent unauthorized usage of your WaaS configuration outside of domains you whitelisted. Add any development and production URLs under Allowed Origins. By default all subpaths under theses hosts will be allowed.
+
+You must define allowed origins with a valid scheme (i.e. `https`).
+
+## Recovery Wallet
+WaaS requires the public address for a recovery wallet that you control. This recovery wallet will be used for recovering user wallets in a disaster scenario, so it must be controlled by you and must be kept safe at all times.
+
+We recommend that:
+
+- You use [Gnosis Safe](https://safe.global/) for setting up the wallet
+- You ensure you have at least 2, ideally 3+ signers configured and required for every transaction
+- Every signer is protected by a hardware wallet
+
+Once the recovery wallet is setup properly, provide the public address for it. Recovery wallet cannot be modified once your configuration is saved.
+
+## Initial Configuration and Update Code
+Once you have all information prepared, go ahead and create your Embedded Wallet configuration. During initial setup, Builder will provide you with an update code. This code will be required for all subsequent modifications to your Embedded Wallet configuration, so it must be stored safely.
+
+## Configuration Changes
+To make modifications to your Embedded Wallet configuration, navigate to the Embedded Wallet section again and make the necessary changes. Then click "Save Configuration" and enter your update code to deploy the changes.
+
+## SDK Integrations
+Now that you have your Embedded Wallet configuration up, go ahead and follow our guides on how to integrate with the SDKs:
+
+- [TypeScript SDK](/solutions/wallets/embedded-wallet/01-overview)
+- [Unity SDK](/sdk/unity/01-overview)
+- [Unreal SDK](/sdk/unreal/01-overview)
diff --git a/docs/pages/solutions/wallets/embedded-wallet/01-overview.mdx b/docs/pages/solutions/wallets/embedded-wallet/01-overview.mdx
index 466d32e3c79..92b6e29643d 100644
--- a/docs/pages/solutions/wallets/embedded-wallet/01-overview.mdx
+++ b/docs/pages/solutions/wallets/embedded-wallet/01-overview.mdx
@@ -4,6 +4,14 @@ Sequence Embedded Wallet (or Wallet-as-a-Service) enables the creation, manageme
Sequence Embedded Wallet offers real non-custodial wallets and the system guarantees that each created wallet can only be accessed with the consent of the owner of the wallet. This is made possible by utilizing the power of [AWS Nitro Enclaves](https://aws.amazon.com/ec2/nitro/nitro-enclaves/) to handle sensitive data in a secure environment that nobody can access - not even Sequence.
-At the same time, the smooth user experience makes them forget they are interacting with Web3. All the aspects of it are controlled by you, with no popups or interruptions, the wallet abstracted away by a few SDK or API calls.
+## Try a Demo
+
+:::info
+Try out the seamless onboarding of Sequence Embedded Wallet [here](https://waas-demo.sequence.xyz/)
+:::
+
+Once you are ready dive into implementation, follow the [quickstart guide](/solutions/wallets/embedded-wallet/02-quickstart).
+
+## Architecture overview
Project-scoped wallets on your terms but with unmatched security giving your users peace of mind? Yes, now you can eat your cake and have it too.
diff --git a/docs/pages/solutions/wallets/embedded-wallet/02-quickstart.mdx b/docs/pages/solutions/wallets/embedded-wallet/02-quickstart.mdx
index 895f57a7d7b..f0b7c646eb5 100644
--- a/docs/pages/solutions/wallets/embedded-wallet/02-quickstart.mdx
+++ b/docs/pages/solutions/wallets/embedded-wallet/02-quickstart.mdx
@@ -1,51 +1,51 @@
# Quickstart
-## Try a Demo
+You can quickly try out a Sequence Embedded Wallet integration before doing a complete configuration specific to your application. There are several ways to test out the features:
-:::info
-Try out seamless UX of our embedded wallet at our [demo](https://0xsequence.github.io/demo-waas-auth/)
-:::
+- Try out [Sequence WaaS demo](https://waas-demo.sequence.xyz/), showcasing a sample authentication and transaction flow leveraging Sequence Kit for web applications
+- Play with [Aviator](https://0xsequence.github.io/waas-airplane-demo/), a complete WebGL game built using Embedded Wallet, leveraging [Sequence Marketplace API](/solutions/marketplaces/orderbook/01-overview) as well as [serverless Cloudflare Worker](/guides/templates/03-mint-collectibles-serverless) for minting
+- Browse [Jelly Forest source code](https://github.com/0xsequence-demos/jelly-forest), our Unity WaaS SDK demo implementation that natively runs on iOS and Android
-## Template
+You can also do a quick integration of Embedded Wallet into your own application by using the following test configuration keys:
-:::info
-Get started quickly with a [template](https://github.com/0xsequence/demo-waas-auth) leveraging our embedded wallet.
-:::
+- Project Access Key: `AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI`
+- WaaS Configuration Key: `eyJwcm9qZWN0SWQiOjE2ODE1LCJycGNTZXJ2ZXIiOiJodHRwczovL3dhYXMuc2VxdWVuY2UuYXBwIn0=`
-## Getting Started
+These will leverage Sequence's own Google and Apple test authentication configurations and are whitelisted for `localhost` usage only. They cannot be used in a production setup.
-### SDK Installation
+To see how to integrate these keys into a sample demo application, you can browse the [Demo WaaS repository](https://github.com/0xsequence/demo-waas-auth).
+
+You can also view SDK-specific guides here:
+
+- [TypeScript SDK](/solutions/wallets/embedded-wallet/02-quickstart)
+- [Unity SDK](/sdk/unity/01-overview)
+- [Unreal SDK](/sdk/unreal/01-overview)
-We provide TypeScript and Unity SDKs for the Embedded Wallet authentication system. You can install the TypeScript SDK with:
+When you are ready to configure your own Embedded Wallet, you can [follow the Builder guide here](/solutions/builder/embedded-wallet).
+
+## Getting Started with TypeScript SDK
+
+### SDK Installation
+You can install the TypeScript SDK with:
```bash
pnpm install @0xsequence/waas
```
-For more information on the Unity Embedded Wallet SDK, please refer to the TODO add link [Unity SDK documentation](#TODO)
-
### Project Setup
-
-Sequence Embedded Wallet is currently only available as a closed beta. To start using the Embedded Wallet SDKs, you'll need to contact the Sequence team and acquire API credentials. Once this is done, you will be provided with two keys:
-
-- Project access key
-- Embedded Wallet configuration key
+You can test out the library with the Project Access Key and WaaS Configuration Key provided above. Once you are ready to configure your own Embedded Wallet, follow [the Builder guide here](/solutions/builder/embedded-wallet).
### Library Setup
-
To start using Sequence Embedded Wallet SDK, you'll need to create a new instance of the `waas` class:
```typescript
-import { SequenceWaaS } from "@0xsequence/waas";
-
-const waas = new SequenceWaaS(
- {
- projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
- waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
- network: "mumbai",
- },
- defaults.TEST
-);
+import { SequenceWaaS } from '@0xsequence/waas'
+
+const waas = new SequenceWaaS({
+ projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
+ waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
+ network: 'arbitrum-nova'
+})
```
Note that the library is operational, but it can't be used to interact with any wallet until you have authenticated **as a user**.
diff --git a/docs/pages/solutions/wallets/embedded-wallet/examples/03-manage-sessions.mdx b/docs/pages/solutions/wallets/embedded-wallet/examples/03-manage-sessions.mdx
index 7839f2dd5b5..3e5afbc0281 100644
--- a/docs/pages/solutions/wallets/embedded-wallet/examples/03-manage-sessions.mdx
+++ b/docs/pages/solutions/wallets/embedded-wallet/examples/03-manage-sessions.mdx
@@ -13,34 +13,31 @@ This means you don't need to implement an account system yourself; instead, you
Signing in and signing up are the same operation; the account is automatically created if it doesn't already exist.
```ts
-import { SequenceWaaS } from "@0xsequence/waas";
+import { SequenceWaaS } from '@0xsequence/waas'
-const waas = new SequenceWaaS(
- {
- projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
- waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
- network: "mumbai",
- },
- defaults.TEST
-);
+const waas = new SequenceWaaS({
+ projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
+ waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
+ network: 'arbitrum-nova'
+})
// Get a sessionHash
-const sessionHash = await waas.getSessionHash();
+const sessionHash = await waas.getSessionHash()
// Get an idToken using the social auth provider of your choice
// (Google, Facebook, Twitter, etc.)
// Note: remember to pass the sessionHash as a nonce!
// Then sign in with Sequence WaaS
-const res = await waas.signIn({ idToken }, "MacBook Pro - Chrome");
+const res = await waas.signIn({ idToken }, "MacBook Pro - Chrome")
-console.log(res);
+console.log(res)
```
```json
{
"sessionId": "0x63A21cCa14ed7454B9cF6466af422B5c597c6b57",
- "wallet": "0xd6043fe6f06d90ec2cB36cA5CD1B193A8515f350"
+ "wallet": "0xd6043fe6f06d90ec2cB36cA5CD1B193A8515f350",
}
```
@@ -59,36 +56,23 @@ To open a session using an email, you will need to provide an email for the user
Once the `idToken` is obtained, the session can be opened as usual.
```ts
-import { SequenceWaaS } from "@0xsequence/waas";
-
-// Define the user's email address
-const email = "user@example.com";
+import { SequenceWaaS } from '@0xsequence/waas'
-const waas = new SequenceWaaS(
- {
- projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
- waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
- network: "mumbai",
- },
- defaults.TEST
-);
+const waas = new SequenceWaaS({
+ projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
+ waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
+ network: 'arbitrum-nova'
+})
-// This will send an email to the user with an OTP
-const { instance } = await waas.email.initiateAuth({ email });
+// Send validation email to the user with an OTP code
+const { instance } = await waas.email.initiateAuth({ email })
+const sessionHash = await sequence.getSessionHash()
-// Obtain the OTP from the user
-const answer = "123456";
-
-const sessionHash = await sequence.getSessionHash();
-const { idToken } = await waas.email.finalizeAuth({
- instance,
- answer,
- email,
- sessionHash,
-});
+// Obtain OTP code from user and pass to finalizeAuth for validation
+const { idToken } = await waas.email.finalizeAuth({ instance, answer, email, sessionHash })
// Log in using the idToken, as usual
-await waas.signIn({ idToken }, "Apple Vision Pro - Chrome");
+await waas.signIn({ idToken })
```
### Google / Apple Auth
@@ -98,67 +82,64 @@ Google and Apple auth are directly supported by the SDK. The `idToken` is obtain
Begin with a simple `main.tsx` file that sets up the WaaS SDK, the router, and the Google OAuth provider.
```ts
-import { SequenceWaaS } from "@0xsequence/waas";
-import { GoogleOAuthProvider } from "@react-oauth/google";
-import { createHashRouter, RouterProvider } from "react-router-dom";
+import { SequenceWaaS } from '@0xsequence/waas'
+import { GoogleOAuthProvider } from '@react-oauth/google'
+import { createHashRouter, RouterProvider } from 'react-router-dom'
-const waas = new SequenceWaaS(
- {
- projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
- waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
- network: "mumbai",
- },
- defaults.TEST
-);
+const waas = new SequenceWaaS({
+ projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
+ waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
+ network: 'arbitrum-nova'
+})
export const router = createHashRouter([
{
- path: "/login",
- element: ,
+ path: '/login',
+ element:
},
{
- path: "/",
- element: ,
- },
-]);
+ path: '/',
+ element:
+ }
+])
-ReactDOM.createRoot(document.getElementById("root")!).render(
+ReactDOM.createRoot(document.getElementById('root')!).render(
-
-
-
+
+
+
-);
+)
```
The `useSessionHash` hook is used to obtain a session hash that is used to prevent replay attacks. The `sequence.getSessionHash` function is used to obtain the session hash, and the `sequence.onSessionStateChanged` function is used to update the session hash when the session state changes.
```ts
-import { sequence } from "./main";
+import { sequence } from './main'
import { useEffect, useState } from "react";
export function useSessionHash() {
- const [sessionHash, setSessionHash] = useState("");
- const [error, setError] = useState(undefined);
-
- useEffect(() => {
- const handler = async () => {
- try {
- setSessionHash(await sequence.getSessionHash());
- } catch (error) {
- console.error(error);
- setError(error);
- }
- };
- handler();
- return sequence.onSessionStateChanged(handler);
- }, [setSessionHash, setError]);
-
- return {
- sessionHash,
- error,
- loading: !!sessionHash,
- };
+ const [sessionHash, setSessionHash] = useState("")
+ const [error, setError] = useState(undefined)
+
+ useEffect(() => {
+ const handler = async () => {
+ try {
+ setSessionHash(await sequence.getSessionHash())
+ } catch (error) {
+ console.error(error)
+ setError(error)
+ }
+ }
+ handler()
+ return sequence.onSessionStateChanged(handler)
+ }, [setSessionHash, setError])
+
+ return {
+ sessionHash,
+ error,
+ loading: !!sessionHash,
+ }
}
```
@@ -205,21 +186,18 @@ export default Login
This function returns a list of sessions for the current user and only includes sessions that are still valid.
```ts
-import { SequenceWaaS } from "@0xsequence/waas";
+import { SequenceWaaS } from '@0xsequence/waas'
-const waas = new SequenceWaaS(
- {
- projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
- waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
- network: "mumbai",
- },
- defaults.TEST
-);
+const waas = new SequenceWaaS({
+ projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
+ waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
+ network: 'arbitrum-nova'
+})
-await waas.signIn({ idToken }, "MacBook Pro - Chrome");
+await waas.signIn({ idToken }, "MacBook Pro - Chrome")
-const sessions = await waas.listSessions();
-console.log(sessions);
+const sessions = await waas.listSessions()
+console.log(sessions)
```
```json
@@ -258,19 +236,16 @@ console.log(sessions);
A session can be closed using the `id` of the session. Any session can be closed from any device with an active session.
```ts
-import { SequenceWaaS } from "@0xsequence/waas";
+import { SequenceWaaS } from '@0xsequence/waas'
-const waas = new SequenceWaaS(
- {
- projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
- waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
- network: "mumbai",
- },
- defaults.TEST
-);
+const waas = new SequenceWaaS({
+ projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
+ waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
+ network: 'arbitrum-nova'
+})
-await waas.signIn({ idToken }, "MacBook Pro - Chrome");
+await waas.signIn({ idToken }, "MacBook Pro - Chrome")
-const sessions = await waas.listSessions();
-await waas.dropSession({ sessionId: sessions[0].id });
+const sessions = await waas.listSessions()
+await waas.dropSession({ sessionId: sessions[0].id })
```
diff --git a/docs/pages/solutions/wallets/embedded-wallet/examples/04-use-wallets.mdx b/docs/pages/solutions/wallets/embedded-wallet/examples/04-use-wallets.mdx
index f70b575572e..ad0232f5bdf 100644
--- a/docs/pages/solutions/wallets/embedded-wallet/examples/04-use-wallets.mdx
+++ b/docs/pages/solutions/wallets/embedded-wallet/examples/04-use-wallets.mdx
@@ -15,9 +15,8 @@ const waas = new SequenceWaaS(
{
projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
- network: "mumbai",
- },
- defaults.TEST
+ network: "arbitrum-nova",
+ }
);
await waas.signIn({ idToken }, "Session name");
@@ -40,9 +39,8 @@ const waas = new SequenceWaaS(
{
projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
- network: "mumbai",
- },
- defaults.TEST
+ network: "arbitrum-nova",
+ }
);
await waas.signIn({ idToken }, "Session name");
@@ -90,9 +88,8 @@ const waas = new SequenceWaaS(
{
projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
- network: "mumbai",
- },
- defaults.TEST
+ network: "arbitrum-nova",
+ }
);
await waas.signIn({ idToken }, "Session name");
@@ -182,9 +179,8 @@ const waas = new SequenceWaaS(
{
projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
- network: "mumbai",
- },
- defaults.TEST
+ network: "arbitrum-nova",
+ }
);
await waas.signIn({ idToken });
@@ -226,9 +222,8 @@ const waas = new SequenceWaaS(
{
projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
- network: "mumbai",
- },
- defaults.TEST
+ network: "arbitrum-nova",
+ }
);
await waas.signIn({ idToken });
diff --git a/docs/pages/solutions/wallets/embedded-wallet/examples/06-transaction-receipts.mdx b/docs/pages/solutions/wallets/embedded-wallet/examples/06-transaction-receipts.mdx
index f832e374088..3484a28b495 100644
--- a/docs/pages/solutions/wallets/embedded-wallet/examples/06-transaction-receipts.mdx
+++ b/docs/pages/solutions/wallets/embedded-wallet/examples/06-transaction-receipts.mdx
@@ -13,9 +13,8 @@ const waas = new SequenceWaaS(
{
projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
- network: "mumbai",
- },
- defaults.TEST
+ network: "arbitrum-nova",
+ }
);
await waas.signIn({ idToken }, "Session name");
@@ -94,9 +93,8 @@ const waas = new SequenceWaaS(
{
projectAccessKey: `${process.env.PROJECT_ACCESS_KEY}`,
waasConfigKey: `${process.env.WAAS_CONFIG_KEY}`,
- network: "mumbai",
- },
- defaults.TEST
+ network: "arbitrum-nova",
+ }
);
await waas.signIn({ idToken }, "Session name");
diff --git a/docs/pages/solutions/wallets/overview.mdx b/docs/pages/solutions/wallets/overview.mdx
index 078b4b885f6..20604f14fdb 100644
--- a/docs/pages/solutions/wallets/overview.mdx
+++ b/docs/pages/solutions/wallets/overview.mdx
@@ -1,25 +1,24 @@
# Sequence Wallets Overview
-Sequence offers multiple wallet options to integrate into your products, chiefly we call these our **In-Game Wallet** and our **Universal Wallet** which are both completely non-custodial.
+Sequence offers multiple wallet options to integrate into your products, chiefly we call these our **Embedded Wallet** and our **Universal Wallet** which are both completely non-custodial.
### What are the differences between these options?
-
-The **In-Game Wallet** is primarily focused on delivering a traditional game experience that is headless with no mandatory pop-ups, modals, transaction signing, or other additional distractions take players out of them trying to enjoy the game. Users can login with common social logins or other authentication providers and simply jump into the experience. We provide native support for a variety of popular game engines such as Unreal and Unity as well as Typescript support so you can stay within your preferred framework for building games or experiences.
+The **Embedded Wallet** is primarily focused on delivering a traditional game experience that is headless with no mandatory pop-ups, modals, transaction signing, or other additional distractions take players out of them trying to enjoy the game. Users can login with common social logins or other authentication providers and simply jump into the experience. We provide native support for a variety of popular game engines such as Unreal and Unity as well as Typescript support so you can stay within your preferred framework for building games or experiences.
![Wallets](/img/wallets.png)
Conversely, our **Universal Wallet** is geared more towards native blockchain users with a focus on games and gaming assets. Existing blockchain users will feel right at home where you can leverage our wallet infrastructure for creating great experiences for web3 users, complete with a Typescript SDK for easy integration.
### What are the benefits of each and how can I leverage them?
-All integrations provide non-custodial smart contract wallets with account abstraction advantages like optionality for gasless transactions. We recommend our **In-Game Wallet** if you are focused on a seamless, headless web2/2.5-like experience for your players or our **Universal Wallet** for prioritizing web2.5/web3 native users.
+All integrations provide non-custodial smart contract wallets with account abstraction advantages like optionality for gasless transactions. We recommend our **Embedded Wallet** if you are focused on a seamless, headless web2/2.5-like experience for your players or our **Universal Wallet** for prioritizing web2.5/web3 native users.
Best of all, our wallet connector called [SequenceKit](/sdk/sequence-kit/01-overview) integrates both options in a convenient, customizable UI written in Typescript, which you can leverage to cater to users with an existing wallet such as Metamask and millions of potential new users that want the convenience of social login.
### Getting Started
Please check out [Sequence Builder](https://sequence.build) to create a project and select Wallets to get started. This will provide the corresponding code snippets with our convenient SDKs to get started.
-Alternatively, our quickstart page for [In-Game Wallets](/solutions/wallets/embedded-wallet/02-quickstart) and [Universal Wallets](/solutions/wallets/universal-wallet/02-quickstart) has all the templates, demos, and common integration patterns needed to accelerate your development.
+Alternatively, our quickstart page for [Embedded Wallets](/solutions/wallets/embedded-wallet/02-quickstart) and [Universal Wallets](/solutions/wallets/universal-wallet/02-quickstart) has all the templates, demos, and common integration patterns needed to accelerate your development.
diff --git a/nav.ts b/nav.ts
index 118b5d6e2fb..a0ad0346011 100644
--- a/nav.ts
+++ b/nav.ts
@@ -69,7 +69,7 @@ export const sidebar = {
text: 'Wallets',
items: [
{ text: 'Overview', link: '/solutions/wallets/overview' },
- { text: 'In-Game Wallet', collapsed: true, items: [
+ { text: 'Embedded Wallet', collapsed: true, items: [
{text: 'Overview', link: '/solutions/wallets/embedded-wallet/01-overview'},
{text: 'Quickstart', link: '/solutions/wallets/embedded-wallet/02-quickstart'},
{text: 'Examples', collapsed: true, items: [
@@ -155,12 +155,13 @@ export const sidebar = {
text: 'Builder Console',
collapsed: true,
items: [
- { text: 'Overview', link: '/solutions/builder/overview' },
- { text: 'Get Started', link: '/solutions/builder/getting-started' },
+ {text: 'Overview', link: '/solutions/builder/overview'},
+ {text: 'Get Started', link: '/solutions/builder/getting-started'},
{text: 'Project Management', link: '/solutions/builder/project-management'},
{text: 'Contracts', link: '/solutions/builder/contracts'},
{text: 'Gas Tank', link: '/solutions/builder/gas-tank'},
{text: 'Wallet SDKs', link: '/solutions/builder/wallet-sdks'},
+ {text: 'Embedded Wallet', link: '/solutions/builder/embedded-wallet'},
{text: 'Node Gateway', link: '/solutions/builder/node-gateway'},
{text: 'Marketplaces', link: '/solutions/builder/marketplaces'},
{text: 'Indexer', link: '/solutions/builder/indexer'},
@@ -253,7 +254,7 @@ export const sidebar = {
{
text: 'Templates',
items: [
- { text: 'In-Game Wallet Demo', link: '/guides/templates/template-embedded-wallet' },
+ { text: 'Embedded Wallet Demo', link: '/guides/templates/template-embedded-wallet' },
{ text: 'Build a Backend Transaction Manager', link: '/guides/templates/02-building-relaying-server' },
{ text: 'Serverless Minting of Collectibles', link: '/guides/templates/03-mint-collectibles-serverless' }
// { text: 'Marketplace API Demo', link: '/guides/templates/template-marketplace-api' }