Step 1
Request
Agent calls ows_sign via MCP, REST, or SDK with a chain ID and transaction object.
Every CLI, agent, and script implements its own key management. The result: keys scattered everywhere with no shared security. OWS is a unified local storage format to create, sign, and manage wallets securely across every tool and chain.
One command creates addresses for every supported chain
When every tool owns its own keys, nobody owns security.
6 formats1 standard
plaintext keysAES-256-GCM
per-tool silosshared vault
Six principles that make OWS different from every wallet SDK, cloud API, and ad-hoc keystore that came before it.
01
Your keys live in ~/.ows/ — not in a browser extension, not in the cloud, not scattered across tool-specific config directories.
02
No HTTP. No vendor lock-in. No authentication flows. No rate limits. OWS runs entirely on your machine.
03
One wallet, every chain. Create BTC, ETH, SOL, ATOM, TON, TRON addresses from a single seed.
04
Your keys. Your device. No remote signing. No custodians. No third-party access.
05
Agents never see plaintext keys. Instead, they authenticate with scoped API tokens.
06
Works with any tool that speaks JSON. CLI, MCP, SDK, REST — same wallet, same security model.
Agents talk to the Access Layer. The Access Layer enforces policies before any key material is touched, and never exposes key material upstream.
OWS Interface
MCP · SDK · CLI · REST
Policy Engine
Evaluate limits, allowlists, chain rules
Signer
mlock · zeroize · key wiped after use
Wallet Vault
~/.ows/wallets/
Signed Transaction
Key wiped · returned to caller
Step 1
Agent calls ows_sign via MCP, REST, or SDK with a chain ID and transaction object.
Step 2
Spending limits, allowlists, chain restrictions, and simulation requirements are evaluated before any key is touched.
Step 3
Key is decrypted, transaction signed, key immediately wiped. Signed transaction returned to caller.
Step 4
If RPC URLs are configured, the signed transaction is broadcast on-chain and the transaction hash is returned.
No configuration files, no cloud setup, no SDK initialization ceremony. Install, create, sign.
Install
npm install -g @open-wallet-standard/core
Create wallet
ows wallet create --name my-agent
That's it. No environment variables, no config files, no authentication flows. Your wallet is encrypted with a password you provide, stored locally at ~/.ows/, and ready to use.
OWS vs cloud wallet APIs vs traditional keystores.
OWS builds on proven cryptographic and interoperability standards.
Spec structure, scheme/network/transport separation, contribution templates
Policy engine design, key sharding concepts, CAIP-2 chain identifiers
ActionProvider/WalletProvider pattern, MCP tool exposure
Proven encrypted storage format since 2015
Chain-agnostic identifiers for chains, accounts, and methods
Session keys, programmable validation, paymaster sponsorship
TEE-based signing, sub-100ms latency targets
lock/unlock/import/export interface patterns
Feature-based capability registration
Dual-key model, on-chain policy enforcement
Decentralized key management, IPFS-published policies
Session authorization model, relay architecture
No new primitives. OWS doesn't invent new cryptography or chain-specific abstractions. It implements existing standards in a composable, agent-friendly way. If a BIP or CAIP proposal exists, OWS uses it.
Read the spec. Build an implementation. Join the standard.