PRIVATUM documentation
A self-custodial wallet and open developer toolkit on Robinhood Chain. Send, receive, and swap USDC and USDT privately. Your key is split into three shards, so no single party — not even PRIVATUM — can move your funds.
Executive summary
Storing crypto today forces an unacceptable compromise. Hot wallets hold your entire private key in one place, so one malware infection drains everything. Hardware wallets cost $150+, run proprietary firmware, and add real friction. Neither gives you privacy: every transaction, balance, and counterparty stays permanently exposed on a public ledger.
PRIVATUM splits the private key mathematically across three independent shards with a 2-of-3 quorum. No single device or server can spend your funds, and transactions are shielded by default. It ships on two surfaces: a cross-platform native desktop app built on Tauri v2 for macOS, Windows and Linux, and @privatum/robinhood-chain-sdk, an audited Viem-based TypeScript SDK that lets any developer embed 2-of-3 threshold self-custody.
Why Robinhood Chain
Robinhood Chain is a permissionless, Ethereum-compatible Layer-2 built on Arbitrum Dedicated Blockchains, with ETH as its native gas token. It targets onchain financial infrastructure and tokenized real-world assets while supporting standard EVM tooling and ERC-4337 account abstraction.
The problem
Every existing wallet fails on at least one of three vectors: security, cost and accessibility, or privacy.
| Vulnerability | Magnitude | Root cause |
|---|---|---|
| Hot-wallet drains | Entire balance lost in an instant | Complete private key in one browser extension or plaintext file |
| Hardware friction & cost | $150+ per unit, shipping delays | Reliance on proprietary secure-element hardware |
| Seed-phrase loss | Irreversible loss of assets | 12/24-word phrases, single backup point, no quorum recovery |
| Zero on-chain privacy | Every transfer and balance is public | Transparent ledger state with no default shielding |
| Custodial risk | Frozen accounts, insolvencies, withdrawal halts | A centralized third party holds the keys |
What PRIVATUM does
Private send
Transfer USDC or USDT to any .privatum handle or raw Robinhood Chain address.
Stealth receive
Share your handle publicly. Payments arrive at dynamic, unlinkable one-time addresses via ERC-5564 stealth addresses.
In-wallet swaps
Swap between supported stablecoins and tokens natively through Robinhood Chain DEX aggregation.
2-of-3 custody
The signing key is split into three independent shards. Any two must cooperate to spend; one shard alone is powerless.
Graceful recovery
Lose your machine or drive shard and the remaining two — co-signer plus passkey — restore full access.
Two surfaces only
A hardened native desktop client and an open SDK. No browser extension, no custodial web app.
Architecture
PRIVATUM separates core shard and cryptographic lifecycle management from chain-specific execution. Supporting a future L2 or L1 means authoring one adapter — the desktop UI and co-signing infrastructure never change.
User surfaces
Desktop App (Tauri v2) | Open SDK
PRIVATUM Core
- Shard lifecycle management (Drive / Co-signer / Passkey)
- Threshold signature orchestration
- Co-signer protocol & policy enforcement engine
Execution layer
Robinhood Chain adapter (ERC-4337) | DEX aggregation
| Layer | Component | Responsibility |
|---|---|---|
| Core | Open SDK | Shard creation, import, wallet composition, transaction signing, network submission. |
| Core | Co-signer service | Stores Shard B encrypted at rest; enforces spending limits and multi-factor triggers; co-signs approved transactions. |
| Core | Desktop client | Manages local Shard A on disk or keychain, executes user commands, renders the UI via Tauri v2. |
| Adapter | Robinhood Chain adapter | Implements ERC-4337 account abstraction, validates quorum, settles threshold signatures. |
| Integration | DEX aggregator | Routes swaps across Robinhood Chain liquidity for best execution. |
The shard model
At wallet initialization three shards are generated independently in a secure key-generation ceremony. The full private key is never assembled or stored anywhere.
Client
Encrypted local file on the desktop filesystem or OS keychain. Defends against server-side compromise — PRIVATUM cannot sign without local confirmation.
Co-signer
PRIVATUM secure co-signer service (isolated HSM / encrypted store). Defends against a stolen laptop — possession alone cannot drain funds.
Recovery
Passkey via WebAuthn / Secure Enclave. Defends against disk failure — B + C combine to rotate keys or recover access.
- Compromise of 1 shard: zero attacker spend authority.
- Loss of 1 shard: complete recovery from the remaining two.
- Non-custodial invariant: PRIVATUM holds exactly one shard, so it never has custody of your assets.
How a transaction signs
- Build. The desktop app or SDK composes the unsigned payload and generates the signing bytes.
- Client signs (Shard A). The client decrypts Shard A locally using user credentials and produces the first partial signature.
- Co-signer signs (Shard B). The partial signature and intent go over TLS to the co-signer API, which authenticates the session, verifies policy constraints such as daily volume and velocity limits, and produces the second partial signature.
- Combine. The two partial signatures merge mathematically into a single valid aggregate signature.
- Settle. The transaction is submitted through ERC-4337 bundlers; the smart contract validates the quorum and executes.
Security model
Guarantees are enforced by cryptography and on-chain contracts, not by promises.
| Threat | Outcome | Defense |
|---|---|---|
| Physical theft of laptop | Prevented | Attacker has Shard A only; the co-signer rejects requests without valid session auth and a secondary challenge. |
| Device malware infection | Contained | Co-signer validates outbound parameters against safety policies — rate limits and anomaly detection. |
| PRIVATUM server breach | Prevented | Attacker obtains Shard B only, which cannot authorize anything alone. |
| Hard drive failure or loss | Recovered | Passkey (Shard C) combines with Shard B to restore access. |
| Malicious operator | Neutralized | PRIVATUM holds exactly 1 of 3 shards and has zero unilateral authority. |
Signing relies on partial threshold signature combination and never assembles the private key into memory on a single machine. Client and co-signer environments stay strictly decoupled.
Privacy framework
Privacy is handled in two sequential planes: making the wallet setup indistinguishable on-chain, then keeping financial activity confidential.
Plane one — invisible setup
Threshold ECDSA: the 2-of-3 scheme aggregates off-chain into a standard single ECDSA signature, so the account looks like an ordinary single-key wallet.
Blind co-signing: the co-signer validates against policy using zero-knowledge proofs, verifying limits without recording or profiling the transaction graph.
Plane two — confidential activity
Stealth addresses (ERC-5564): senders derive one-time addresses from your public meta-address, so explorers cannot correlate incoming payments.
Screened privacy pools: association-set proofs verify assets come from clean, non-illicit sources before entering or exiting pools.
Desktop application
Rather than a browser extension or web app, the primary client is a native desktop application engineered with Tauri v2.
PRIVATUM Desktop Application
Frontend: React / Tailwind UI
Core backend: Tauri v2 (Rust core)
- OS keychain / hardware secure storage integration
- Local AES-GCM encrypted Shard A management
- Direct RPC & co-signer TLS communication
- Attack surface reduction: immune to extension hijacking, web injection and tab snooping.
- OS-level key storage: Shard A rests in macOS Keychain, Windows Credential Manager or Linux Secret Service.
- Lightweight footprint: native OS webviews instead of a bundled Chromium runtime.
- Full toolkit: send and receive USDC/USDT, native DEX swaps, shard health monitoring and backup verification, passkey recovery setup and rotation.
The open SDK
@privatum/robinhood-chain-sdk is an open-source TypeScript SDK built on Viem. Developers generate shards, assemble 2-of-3 wallets, and submit threshold transactions programmatically.
npm install @privatum/robinhood-chain-sdk
import { createShards, createWallet, sendTransfer } from "@privatum/robinhood-chain-sdk";
// 1. Generate the three shards (client, co-signer, passkey)
const shards = await createShards({ passkey: true });
// 2. Compose the 2-of-3 wallet on Robinhood Chain
const wallet = await createWallet({
chainId: 4663,
shards: [shards.client, shards.cosigner, shards.recovery],
threshold: 2,
});
// 3. Send USDC privately — signing is orchestrated for you
const receipt = await sendTransfer(wallet, {
token: "USDC",
to: "ops.privatum",
amount: "620.00",
});
The SDK is in progress and ships with audited cryptographic primitives. Package name and repository are provisional.
Network & surfaces
| Property | Robinhood Chain mainnet |
|---|---|
| Network type | Permissionless, Ethereum-compatible Layer-2 |
| Underlying stack | Arbitrum Dedicated Blockchains |
| Native gas token | ETH |
| Chain ID | 4663 |
| Block explorer | robinhoodchain.blockscout.com |
| Account abstraction | ERC-4337 supported |
| Surface | Detail |
|---|---|
| Desktop application | macOS, Windows, Linux — Tauri v2 native client |
| Open SDK | @privatum/robinhood-chain-sdk — repository to be announced |
| Co-signer API | Endpoint to be announced |
| Security reports | Contact to be announced |
Status & roadmap
| Capability | State | Detail |
|---|---|---|
| Co-signer service | Live | Non-custodial, encrypted shard at rest, automated policy enforcement |
| Desktop wallet | Live | Native macOS, Windows and Linux client on Tauri v2 |
| Robinhood Chain adapter | In progress | ERC-4337 smart accounts, 2-of-3 verification, passkey recovery |
| Open SDK | In progress | TypeScript, Viem-based, audited cryptographic primitives |
| Swaps | In progress | DEX aggregation for low-slippage USDC & USDT routing |
| Threshold privacy | Roadmap | Threshold ECDSA, blind co-signing via ZK proofs, ERC-5564 stealth addresses |
Path: Robinhood Chain custody → native privacy → multichain. See the roadmap timeline for phase detail.

