Skip to main content



# npm
npm install --save marble-sdk
# yarn
yarn add marble-sdk
# pnpm
pnpm i marble-sdk


Integrating Marble takes seconds. Here's an abbreviated overview of what you need to do:

import { Marble } from "marble-sdk";
import { ethers } from "ethers";

const marble = new Marble();

// Step 1: Authenticate user (sign up or login)
const response = await marbleClient.auth.loginWithEmailPassword();

// Step 2: Connect to ethers provider and get a signer
const provider = new ethers.providers.Web3Provider(marble.rpcProvider);
const signer = provider.getSigner();

// Step 3: Sign a message
const result = await signer.signMessage("Hello Marble World!");


Marble Wallet is a self-custodial wallet that does not require extensions or seed phrases. Developers can use Marble Wallet to build seamless onboarding experiences for their users, similar to the ones provided by Coinbase or Reddit's self-custodial wallet.

Developers can offer wallet-onboarding, a fiat on-ramp, and pre-built UI components to their users, all in a single package. Marble Wallet can improve onboarding for users to your app by up to 90%.

Advantages of Marble Wallet:

  • Email-based authentication. No seed phrases, extensions, or apps required.
  • Embedded fiat on-ramp.
  • Pre-built and highly customizable UI components (fiat on-ramp/send/receive/swap/bridge/price oracles/ERC-20/NFTs tokens).
  • Cross-app compatible. Marble is not an application specific wallet.
  • Multi-chain by design.
  • Cross-platform. Marble runs on the web, mobile, and desktop.
  • Out-of-the-box support for WalletConnect.
  • Secured by Multi Party Computation (MPC).

And some upcoming features:

  • Support for Sui, Cosmos, Solana and other chains.
  • Mobile, Unity, and Unreal support.
  • Swap and bridge support within the wallet.

Do you want any features expedited? Email us at so that we can prioritize them.