Android app + browser extension · Mainnet
Kaspire

Your Kaspa universe. One secure wallet.

The Kaspa wallet that makes no compromises. Designed from the ground up for security and usability, Kaspire gives you complete control over your assets while supporting everything the Kaspa ecosystem has to offer. Kaspire is the first covenant-ready Kaspa wallet to support all L1 assets, encrypted WalletConnect for mobile and desktop (for the app), BIP39 passphrases and Argon2id-encrypted backups for industry-leading protection of your wallet data. The entire project is open source because in crypto, trust should always be earned through verification, not promises.

App v0.11.18Extension v0.3.20Kaspa Mainnet
Kaspire watch wallet showing the real balance and assets of the public Kaspa address
Explore Kaspire
KASKRC-20KRC-721KNSKCC20WALLETCONNECT

The complete wallet

Everything you need to move through Kaspa.

A focused mobile and desktop experience for the network's native coin, emerging asset standards and the dApps connecting them.

01

One wallet. Every L1 Kaspa asset.

Hold and move KAS, KRC20, KRC721, KNS and KCC20 covenant assets from one focused Android wallet or browser extension.

KASKRC-20KRC-721KNSKCC20
02

Native signing, human review.

Transactions are reconstructed in a pinned Rust core. Recipient, value, change, fee, mass and token state are bound to what you approve.

Rust coreReview hashFail closed
03

Built for real wallet history.

A rich activity feed opens every transfer in-app with sender, recipient, asset data, fees, inputs, outputs, DAA score and transaction ID.

ActivityTX detailsLocal node
04

Connect without surrendering control.

Scan a dApp's WalletConnect QR code directly inside Kaspire, inspect its verified origin and permissions, and manage active encrypted sessions. Every signature still needs fresh approval.

In-app QR pairingWalletConnectPer-request approval
05

Accounts and subwallets that travel with your seed.

Modern and legacy BIP-44 discovery restores both separate accounts and KasWare-compatible address-index subwallets under one recovery phrase.

111111Legacy 972AccountsSubwallets
06

Keep UTXOs under control.

See your wallet's UTXO count and consolidate fragmented outputs through a reviewed, authenticated self-transfer.

UTXO countCompoundFee preview

One clear flow

Review first. Authorize second. Broadcast last.

Kaspire turns untrusted network data into a locally constructed, human-readable transaction before a key can sign.

1BuildRust reconstructs the transaction.
2ReviewYou see the exact economic effect.
3AuthorizeBiometric or PIN approval is fresh.
4VerifyThe returned TX ID must match locally.

Security architecture

Self-custody, enforced in layers.

Security is a chain of controls across randomness, key storage, signing, authorization, network data, protocols and backups. Kaspire is built so no single service gets to decide what your wallet signs.

01 / Keys

Secure seed generation

New Kaspire wallets use 24-word English BIP-39 recovery phrases. A phrase represents 256 bits of entropy plus its BIP-39 checksum. The entropy is generated inside the shared Rust security core using the platform cryptographic random source: Android's operating-system CSPRNG in the app and Web Crypto in the browser extension—not timestamps, device IDs or application-level pseudo-random values.

Before storage, Kaspire asks the user to verify randomly selected recovery words. Sensitive recovery screens use Android FLAG_SECURE to block normal screenshots and recent-app previews.

02 / Recovery

BIP-39 passphrases and HD compatibility

An optional BIP-39 passphrase becomes part of seed derivation and creates a completely different wallet. Kaspire follows the BIP-39 standard with PBKDF2-HMAC-SHA512 and 2,048 iterations. Every character, space and capitalization choice matters.

Modern accounts follow m/44'/111111'/account'/change/index. Imports also discover legacy coin type 972, receive and change branches, and multiple accounts. The Rust core supports account numbers 0 through 100.

Kaspire keeps BIP-44 accounts and address-index subwallets distinct. For example, …/0'/0/1 is Subwallet 1 inside Account 0, while …/1'/0/0 is the first address of a separate Account 1. This restores the layout used by KasWare without silently changing derivation paths.

03 / Storage

Platform vault encryption

Every signing wallet is encrypted at rest with AES-256-GCM and a randomized initialization vector. In the Android app, the non-exportable wrapping key is generated in Android Keystore. On supported devices Kaspire first attempts StrongBox, then falls back to the device's secure Keystore implementation.

The browser extension stores secrets in a versioned local vault protected by an Argon2id-derived key and AES-256-GCM. Decrypted vault material exists only in the extension's isolated session context while unlocked and is discarded on locking or browser-session end. AES-GCM authenticates as well as encrypts: modified ciphertext fails instead of silently yielding corrupted secrets.

04 / Boundary

Platform-specific secret boundaries

In the Android app, recovery phrases and private keys stay out of Dart, WebViews, analytics and the clipboard. Creation, import, encrypted storage, HD derivation and signing are handled by Android's native layer and the Rust core. Only public addresses and reviewed transaction data return to Flutter.

In the extension, the encrypted vault and unlocked session are isolated inside extension-owned storage and background contexts; websites can reach only the bounded window.kaspireprovider. Seed generation, derivation, transaction review and signing use the packaged Rust WebAssembly core. Neither platform exposes private keys or recovery phrases to dApps.

05 / Approval

Fresh authorization for value-moving actions

In the app, sending assets, compounding UTXOs, signing messages, importing, exporting or deleting wallets require fresh biometric or Kaspire PIN approval. In the extension, value-moving and signing requests open an extension-owned review and require the unlocked encrypted vault. Connecting a dApp never pre-authorizes a later transaction on either platform.

The optional 4–8 digit PIN uses PBKDF2-HMAC-SHA256, a random salt and 210,000 iterations. Repeated failures trigger an escalating temporary lockout. The PIN is an authorization verifier; Android Keystore remains responsible for seed encryption.

06 / Signing

Untrusted RPC, deterministic construction

Kaspire treats node and indexer responses as untrusted input. The Rust core verifies UTXO ownership, sender scripts, outpoints, amounts and coinbase state, then independently selects inputs, builds outputs and change, calculates mass and derives the fee.

The server never chooses the final signed recipient output, change output or fee. Watch-only addresses remain isolated and can never silently fall back to another stored signing wallet.

07 / Integrity

Review-hash and transaction-ID binding

Preparation produces a canonical review containing network, sender, recipient, value, inputs, outputs, change, fee, mass, scripts, payload and token state. A SHA-256 review hash binds the user's approval to those exact fields.

The signer reconstructs everything and rejects any mismatch. After broadcast, the node-returned transaction ID must equal the ID calculated locally from the signed transaction.

08 / Protocols

Typed token and covenant flows

KRC-20, KRC-721 and KNS operations use locally constructed canonical commit/reveal payloads with separate authorization. Reveal data is bound to the expected commit address, script, amount and outpoint.

KCC20 is deliberately typed rather than generic. Kaspire requires verified discovery and complete live-cell mapping, recompiles the vendored SilverScript template, enforces token and KAS conservation, checks ownership transitions and Toccata limits, and executes every signed input locally before broadcast.

09 / dApps

Narrow dApp authority on mobile and desktop

Kaspire Mobile uses encrypted WalletConnect v2 sessions and advertises only a small, versioned Kaspa method set. The browser extension uses an origin-bound window.kaspire provider with an explicit, bounded method registry. Unknown methods, invalid chains, unauthorized origins and watch-only signing accounts are rejected.

Mobile pairing topics are one-use and memory-only, pairing secrets are redacted, and results return through the encrypted session—not an arbitrary callback. Extension permissions are stored per exact web origin and can be disconnected independently. Personal signatures on both platforms follow KIP-5 and require fresh review.

10 / Backups

Memory-hard encrypted backups

New kaspire-backup-v2 exports in the Android app and browser extension derive a 256-bit key with Argon2id v1.3, a random 32-byte salt, 32 MiB of memory, three passes and parallelism one. The backup is encrypted and authenticated with AES-256-GCM.

Older PBKDF2-SHA256 backup-v1 files remain importable. Restore checks the format, exact KDF parameters, salt, GCM authentication, recovered address and every registered HD path before accepting the wallet.

11 / Delivery

Pinned packaged code and local infrastructure

The ARM64 and ARMv7 signing core is compiled into the Android app; the browser extension includes the corresponding Rust WebAssembly core inside its reviewed package. Both are pinned to Rusty Kaspa v2.0.1 and locked dependencies. The extension executes no remote code.

Kaspire defaults to its own HTTPS gateway, pruned Kaspa node and local indexer infrastructure. Network timeouts are enforced, while all signing-relevant responses still pass local validation.

Core principle“Network services may provide data, but they are never trusted to decide what the wallet signs.”

Kaspire downloads

Take control of your Kaspa wallet.

Choose the native Android app or the browser extension. Both use Kaspire's shared Rust security core and support Kaspa Mainnet.

Kaspire
Current release0.11.18 build 76
Platform
Android 11–16
Network
Kaspa Mainnet
Architectures
ARM64 · ARMv7
Package
space.kaspire.wallet
Download Android APK
SHA-2565550e1d9d57076852d1b5083858df945b15b3e275c49bc2b24e75734251746ea

Android may ask you to allow installation from your browser or file manager. Verify the checksum before installation.

Kaspire
Current browser extension0.3.20 build 20
Platform
Chrome · Chromium
Network
Kaspa Mainnet
Manifest
Manifest V3
Provider
window.kaspire
Add extension
Chrome Web Store IDldjonnkfjmcingabncepnibledcanmoe

Kaspire Wallet is live in the Chrome Web Store. Chrome installs verified updates automatically through the official listing.