The software way
Your 12 words sit in browser memory. One piece of malware and the wallet is drained.
single point of failure
Base
Marmo splits your key across a USB drive, a non-custodial co-signer, and an authenticator app β on Base. No single party holds enough to move your funds. Every payment routes through stealth addresses, so your balance and counterparties stay private.
Base
Base
Base
Base
Your 12 words sit in browser memory. One piece of malware and the wallet is drained.
single point of failureA $150 proprietary box, shipped to your door, locked to one vendor's chip.
expensive & proprietary
The Marmo waySplit the key across hardware you already own, on Base. Math replaces the secure element. Every payment is private by default.
sovereign, private & freeAn encrypted shard written to any standard flash or hard drive. Cold by default, portable by nature. Unplug it and the wallet sleeps.
A non-custodial server that holds exactly one shard and signs blind, without seeing your transaction. Fully hacked, it still cannot move a single coin.
An authenticator app, not a seed phrase. No twelve words to lose. Lose the drive and your authenticator code plus the co-signer bring the wallet back.
The app composes your transaction and hands the bytes to your shards.
The drive signs, then the co-signer signs after you approve. Two of three.
The partial signatures merge into one signature, indistinguishable from a normal wallet.
The chain validates the quorum and finalizes. A single shard would be rejected.
A normal multisig announces itself on-chain. Marmo does not. Threshold signing makes your wallet look like any ordinary account. Add stealth addresses and your payments become unlinkable β private by cryptography, never by policy.
Threshold signatures collapse your 2-of-3 into one ordinary signature. Nobody can tell you use Marmo, your threshold, or your co-signer.
The co-signer enforces your policy against a zero-knowledge proof. It approves the spend without ever seeing the transaction or profiling you.
Fresh stealth addresses (ERC-5564) per payment keep your inflows unlinkable. Every inbound lands at a unique one-time address β no two payments share an on-chain link back to you.
No one can link your payments to your wallet β not even the sender.
Copy your stealth meta-address from Marmo. Post it anywhere β in a bio, on social, in a contract. It is designed to be public.
Anyone derives a one-time address from your meta-address. Only you can recognise it as yours. On-chain it looks like a random unrelated wallet.
Your wallet scans the chain silently. Incoming stealth payments are recognised and swept to your account β no manual claiming.
Recovery rides on your authenticator app, not twelve words on a sticky note. Lose the drive, open Google Authenticator β your wallet comes back.
Desktop or Telegram β same address, same funds. Pick your surface, switch anytime.
Marmo builds on Base ERC-4337 smart accounts. The 2-of-3 threshold lives in a smart contract on-chain, enforced by the network β not by a script we wrote. No hand-rolled cryptography stands between you and your funds.
Marmo ships as an open SDK for Base. Split a wallet into shards, route through stealth addresses, and send private USDC β in a handful of lines.
import { createShards, MarmoAccount, sendPrivate } from "@usemarmo/base-sdk";
const shards = await createShards({ threshold: 2, total: 3 });
const account = await MarmoAccount.deploy(shards);
// private USDC β unlinkable, screened, non-custodial
await sendPrivate(account, { to: recipient, token: USDC, amount });
Detecting your platformβ¦
All builds and checksums on the releases page.