OWS — Open Wallet Standard
Rust implementation of the Open Wallet Standard for secure, local-first crypto wallet management.
Quick Install
|
This installs the ows CLI binary, plus Node.js and Python bindings if those runtimes are available.
Or clone and build from source (requires Rust 1.70+):
CLI Reference
| Command | Description |
|---|---|
ows wallet create |
Create a new wallet with addresses for all chains |
ows wallet list |
List all wallets in the vault |
ows wallet info |
Show vault path and supported chains |
ows sign message |
Sign a message with chain-specific formatting |
ows sign tx |
Sign a raw transaction |
ows mnemonic generate |
Generate a BIP-39 mnemonic phrase |
ows mnemonic derive |
Derive an address from a mnemonic |
ows update |
Update ows and bindings |
ows uninstall |
Remove ows from the system |
Language Bindings
The bindings are standalone — they embed the Rust core via native FFI. No CLI or install script required.
| Language | Package | Install |
|---|---|---|
| Node.js | @open-wallet-standard/core |
npm install @open-wallet-standard/core |
| Python | open-wallet-standard |
pip install open-wallet-standard |
import from "@open-wallet-standard/core";
const wallet = ;
console.log; // addresses for EVM, Solana, Bitcoin, Cosmos, Tron
const sig = ;
console.log;
Crates
| Crate | Description |
|---|---|
ows-core |
Types, CAIP-2/10 parsing, errors, config. Zero crypto dependencies. |
ows-signer |
ChainSigner trait, HD derivation, address derivation for EVM, Solana, Bitcoin, Cosmos, and Tron. |
ows-lib |
Library interface used by language bindings and the CLI. |
ows-cli |
The ows command-line tool. |
Supported Chains
- EVM (Ethereum, Polygon, etc.) — secp256k1, EIP-55 addresses, EIP-191 message signing
- Solana — Ed25519, base58 addresses
- Bitcoin — secp256k1, BIP-84 native segwit (bech32)
- Cosmos — secp256k1, bech32 addresses (configurable HRP)
- Tron — secp256k1, base58check addresses
License
See repository root for license information.