Skip to main content

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.

  • 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 on http://localhost:3000 (schemes are not equal)
    • Wallets from https://localhost:3000 are not accessible on https://localhost:3001 (ports are not equal)
    • Wallets from https://www.my.app are not accessible on https://my.app (hosts are not equal)
    • Wallets from https://my.app are accessible on https://my.app/page (paths are not a part of your origin)
tip

If you have multiple domains (e.g., prod, staging, test, local), create separate CDP projects for each.

Was this helpful?