Wallet as a Service

A non-custodial wallet solution where users generate their private keys directly on their devices, ensuring only they have access. Fully integrated with social login and customizable branding for a seamless, personalized experience.

Non-custodial

Users have full control over transactions and signing from their wallets. Private keys are sharded, stay protected and never accessible by Mesh or developer.

Key sharding and encryption.
Private key is split into three shards, and encrypted with the user's password and recovery answer. Two out of the three key shards to be reconstructed for signing.
Runs on user's device.
Private keys are generated and reconstructed on the user's device, existing only in-memory within an isolated iframe. They never persist beyond the iframe's session, neither Mesh nor the developer have access to them.
Wallet

Social login

Login with social login is the onboarding flow users are used to, integrated into any application in just a few lines of code.

Discord, Twitter, and Google.
Supports multiple social login providers, with more to come.
Derive user wallet with valid JWT.
An additional security layer that only valid sessions tokens can derive a wallet.
Wallet

Fully functional wallet

Users can send and receive transactions, view their transaction history and their assets, delegate to stake pools and DReps.

Create transactions, stake and delegate to pools and DReps.
Users can create transactions, stake and delegate to pools and DReps, and view their staking rewards.
View transaction history and assets.
Users can view their transaction history and their assets
Wallet

Whitelabel and customizable

Customize the wallet to match brand and user experience. Customize logo, colors, and authentication providers.

Branded to match branding.
Customize the wallet to match branding and user experience.
Custom authentication providers.
Add custom authentication providers to the wallet, to match app's authentication flow.
Wallet

Recoverable and exportable

Users can recover their wallets if they forget their password or switch their devices. They can also export their private keys anytime to switch to another wallet.

Recoverable.
Users can recover their wallets if they forget their password or switch their devices.
Exportable.
Users can export their private keys anytime to switch to another wallet.
Wallet

CIP-30 compliant

Compliant with the CIP-30 standard, providing all the endpoints required to interact with the wallet.

CIP-30 compliant.
Compliant with Cardano browser wallet standards, compatible with existing applications codebases.
Expandable to multi-chain (future).
More standards and chains will be supported in the future.
_app.tsx
wallet.tsx
config.ts
const wallet = await Web3Wallet.enable(options);

// Get change address
const changeAddress = await wallet.getChangeAddress();
// Get wallet's UTXO
const utxos = await wallet.getUtxos();
// Sign transaction
const signedTx = await wallet.signTx(txCbor);
// Sign data
const signature = await wallet.signData(data);