Concepts
The Embedded Wallets SDK is available as a React SDK and a pure JavaScript SDK.
-
The SDK uses TypeScript to interact with Coinbase MPC servers and sign transactions via 2-of-2 MPC.
-
Use a supported auth mechanism to identify users and create/restore wallets.
-
Each user can have only one embedded wallet per CDP project.
- For more information on how we identify users, see authentication.
-
An embedded wallet can have multiple addresses, each of which corresponds to a real onchain address.
-
Embedded wallets can only be accessed on the origin they are created on.
-
Different schemes, ports, hosts, and subdomains constitute different origins. See the MDN docs.
Examples:
- Wallets from
https://localhost:3000
are not accessible onhttp://localhost:3000
(schemes are not equal) - Wallets from
https://localhost:3000
are not accessible onhttps://localhost:3001
(ports are not equal) - Wallets from
https://www.my.app
are not accessible onhttps://my.app
(hosts are not equal) - Wallets from
https://my.app
are accessible onhttps://my.app/page
(paths are not a part of your origin)
- Wallets from
tip
If you have multiple domains (e.g., prod, staging, test, local), create separate CDP projects for each.