Self-custody wallet · Android & iOS

NAKAMOTO

The origin of your money should sit at the center — with you. Keys generated on your device. No accounts. No custodians. Your seal, and no one else's.

SIGNED. SEALED. YOURS.
9:41●●●
CRYPTOS MAINNET
TOTAL BALANCE
1.4205 BTC
142,050,000 sats · ≈ $148,210
Send
Receive
Bitcoin
1.4205
+2.4%
Ethereum
12.08
+1.1%
CRYPTOS
4,200
+5.7%
WALLET
MESSAGES
BROWSE
PROFILE
Keys never leave your device
No accounts, no email
Open source · auditable
Signal-protocol messaging
No tracking · no ads
What it does

Everything in one seal

One app. Five capabilities. All sovereign.

Self-Custody Wallet

Your seed phrase is generated on-device and encrypted with Argon2id + AES-256-GCM before it ever touches storage. No server ever sees your keys. Send, receive, and swap across EVM and Cosmos chains from a single HD wallet.

BIP-39 · BIP-44 · EIP-55

E2E Encrypted Messaging

Direct messages and group channels use the Signal protocol — X3DH for key exchange and Double Ratchet for forward secrecy. Every message is sealed before it leaves your device. The server never sees plaintext.

X3DH · Double Ratchet · Sender Key

Built-in dApp Browser

A full Web3 browser with window.ethereum injection, EIP-1193 and EIP-6963 support. Resolves .cryptos and .hermes names on-chain. Every connect, sign, or transaction surfaces an approval sheet before your wallet acts.

EIP-1193 · EIP-6963 · On-chain DNS

AI Assistant

An on-board assistant helps you understand transactions, fees, and dApps in plain language. It is architecturally isolated from your encrypted messages — it can only see public channel content you explicitly share.

Privacy-isolated · Plain-language fees

Governance & Treasury

Vote on-chain from your phone. The governance dashboard surfaces active proposals, your voting power, and delegate status. The treasury dashboard shows community funds and recent decisions — all signed with your key.

On-chain voting · Delegation

Cross-Chain Bridge

Move assets between EVM and Cosmos networks directly from the wallet — no third-party bridge site needed. Fees are shown in plain language before you sign. The bridge contract is audited and open source.

EVM ↔ Cosmos · Plain-language fees
Getting started

Set up in under a minute

Step 01

Install

Download the APK directly from this page. No app store account needed. Install on any Android device running 8.0+.

Step 02

Create or import

Generate a fresh 12-word seed phrase, or paste an existing one to import a wallet you already control.

Step 03

Back up

Write your seed phrase down. That's it. No cloud backup, no email recovery — the phrase is your wallet, full stop.

Step 04

Withdraw & press your seal

Send your coins from the exchange to your new address. Your keys, your coins. Signed. Sealed. Yours.

Under the hood

The technology

Every layer is chosen for sovereignty, not convenience. If we disappeared tomorrow, your money wouldn't notice.

Key Management

  • BIP-39 mnemonic — 12 or 24 word seed phrase, generated with OS-provided entropy
  • secp256k1 HD derivation — BIP-44 paths for EVM (m/44'/60') and Cosmos (m/44'/118')
  • Argon2id keystore — passphrase-stretching before AES-256-GCM encryption on disk
  • Android Keystore / iOS Secure Enclave — hardware-backed key wrapping on supported devices
  • Biometric unlock — Face ID / fingerprint gates the keystore decryption, not a PIN fallback

Messaging Cryptography

  • X3DH — Extended Triple Diffie-Hellman for asynchronous session establishment
  • Double Ratchet — per-message forward secrecy; compromise of one key doesn't expose past messages
  • Sender Key — efficient group messaging without per-member re-encryption at each send
  • X25519 / AES-GCM — via CryptoKit on iOS, BouncyCastle on Android

Signing & Transactions

  • EIP-191 personal_sign — personal message signing with Ethereum prefix
  • EIP-712 typed data — structured data signing for dApp interactions
  • EIP-1193 provider — injected window.ethereum for full dApp compatibility
  • EIP-6963 multi-wallet — announces the wallet to dApps without global variable conflicts
  • Cosmos amino/direct — native Cosmos SDK transaction signing via bech32 addresses

Platform

  • Kotlin Multiplatform — one shared codebase for Android and iOS, no React Native or Flutter
  • Compose Multiplatform — native-performance UI from shared Kotlin on both platforms
  • Ktor — Kotlin-native HTTP/WebSocket client, no Java-only dependencies
  • SQLDelight — type-safe SQL compiled to Android SQLite + iOS SQLite
  • UnifiedPush / APNs — no Firebase; Android uses a self-hostable ntfy distributor
// Wallet interface — commonMain interface CryptoWallet { fun generateMnemonic(): String fun evmAddress(mnemonic: String): String fun cosmosAddress(mnemonic: String): String fun encryptMnemonic( mnemonic: String, password: String ): EncryptedKeystore // Argon2id+AES-GCM fun signEvmTransfer(...): String fun signTypedData(...): String }
Supported networks

Multi-chain, one key

One BIP-44 seed phrase derives addresses across all supported networks. Switch chains from the wallet's network picker — no new wallets to manage.

Bitcoin
Ethereum
Polygon
Avalanche
BNB Chain
Arbitrum
Optimism
Cosmos Hub
Cryptos Chain
Solana

EVM RPC endpoints are configurable · Cosmos chains added via chain registry · Testnet toggle in network picker

Privacy by design

What we don't collect

No accounts

There is no username, email, or phone number. You identify yourself to the network with a cryptographic key — nothing more.

No key upload

Your seed phrase and private keys are generated on your device and never transmitted. If you lose your phone, your backup phrase is your wallet.

No plaintext messages

Messages are encrypted before leaving your device. The relay server stores only ciphertext. Even we cannot read your conversations.

No Firebase

Android push uses UnifiedPush (ntfy), not Google Firebase. You can self-host your push relay. iOS uses Apple APNs — no Google services involved.

No tracking

No analytics SDK, no crash reporter phoning home, no ad network. The app makes no network calls except to your wallet's own RPC endpoints and the relay you configure.

No trust required

If the backend disappeared tomorrow, your wallet and message history on your device remain intact. The keys are yours, not ours.

Get Nakamoto

Press your seal.

Download the Android APK directly — no Play Store account needed. iOS is coming soon. Sideload in seconds: download, allow installs from unknown sources, install.

NAKAMOTO WALLET · v1.0 · ANDROID 8.0+ · ARM64 + X86_64

Android · APK
Download APK
FREE
iOS · App Store
Coming Soon
SOON

Sideloading on Android: Go to Settings → Apps → Special app access → Install unknown apps, select your browser or file manager, and enable it. Then open the downloaded APK. You can disable that permission again afterwards.