@open-wallet-standard/core 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +105 -0
- package/package.json +7 -6
package/README.md
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# @open-wallet-standard/core
|
|
2
|
+
|
|
3
|
+
Secure signing and wallet management for every chain. One vault, one interface — keys never leave your machine.
|
|
4
|
+
|
|
5
|
+
[](https://github.com/open-wallet-standard/core/actions/workflows/ci.yml)
|
|
6
|
+
[](https://www.npmjs.com/package/@open-wallet-standard/core)
|
|
7
|
+
[](https://github.com/open-wallet-standard/core/blob/main/LICENSE)
|
|
8
|
+
|
|
9
|
+
## Why OWS
|
|
10
|
+
|
|
11
|
+
- **Zero key exposure.** Private keys are encrypted at rest, decrypted only inside an isolated signing process. Agents and LLMs never see raw key material.
|
|
12
|
+
- **Every chain, one interface.** EVM, Solana, Bitcoin, Cosmos, Tron, TON — all first-class. CAIP-2/CAIP-10 addressing abstracts away chain-specific details.
|
|
13
|
+
- **Policy before signing.** A pre-signing policy engine gates every operation — spending limits, allowlists, chain restrictions — before any key is touched.
|
|
14
|
+
- **Built for agents.** MCP server, native SDK, and CLI. A wallet created by one tool works in every other.
|
|
15
|
+
|
|
16
|
+
## Install
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install @open-wallet-standard/core # Node.js SDK
|
|
20
|
+
npm install -g @open-wallet-standard/core # Node.js SDK + CLI (provides `ows` command)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
The package is **fully self-contained** — it embeds the Rust core via native FFI. Installing globally with `-g` also provides the `ows` CLI.
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
```javascript
|
|
28
|
+
import { createWallet, signMessage } from "@open-wallet-standard/core";
|
|
29
|
+
|
|
30
|
+
const wallet = createWallet("agent-treasury");
|
|
31
|
+
// => accounts for EVM, Solana, BTC, Cosmos, Tron, TON
|
|
32
|
+
|
|
33
|
+
const sig = signMessage("agent-treasury", "evm", "hello");
|
|
34
|
+
console.log(sig.signature);
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### CLI
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Create a wallet (derives addresses for all supported chains)
|
|
41
|
+
ows wallet create --name "agent-treasury"
|
|
42
|
+
|
|
43
|
+
# Sign a message
|
|
44
|
+
ows sign message --wallet agent-treasury --chain evm --message "hello"
|
|
45
|
+
|
|
46
|
+
# Sign a transaction
|
|
47
|
+
ows sign tx --wallet agent-treasury --chain evm --tx-hex "deadbeef..."
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Supported Chains
|
|
51
|
+
|
|
52
|
+
| Chain | Curve | Address Format | Derivation Path |
|
|
53
|
+
|-------|-------|----------------|-----------------|
|
|
54
|
+
| EVM (Ethereum, Polygon, etc.) | secp256k1 | EIP-55 checksummed | `m/44'/60'/0'/0/0` |
|
|
55
|
+
| Solana | Ed25519 | base58 | `m/44'/501'/0'/0'` |
|
|
56
|
+
| Bitcoin | secp256k1 | BIP-84 bech32 | `m/84'/0'/0'/0/0` |
|
|
57
|
+
| Cosmos | secp256k1 | bech32 | `m/44'/118'/0'/0/0` |
|
|
58
|
+
| Tron | secp256k1 | base58check | `m/44'/195'/0'/0/0` |
|
|
59
|
+
| TON | Ed25519 | raw/bounceable | `m/44'/607'/0'` |
|
|
60
|
+
|
|
61
|
+
## CLI Reference
|
|
62
|
+
|
|
63
|
+
| Command | Description |
|
|
64
|
+
|---------|-------------|
|
|
65
|
+
| `ows wallet create` | Create a new wallet with addresses for all chains |
|
|
66
|
+
| `ows wallet list` | List all wallets in the vault |
|
|
67
|
+
| `ows wallet info` | Show vault path and supported chains |
|
|
68
|
+
| `ows sign message` | Sign a message with chain-specific formatting |
|
|
69
|
+
| `ows sign tx` | Sign a raw transaction |
|
|
70
|
+
| `ows mnemonic generate` | Generate a BIP-39 mnemonic phrase |
|
|
71
|
+
| `ows mnemonic derive` | Derive an address from a mnemonic |
|
|
72
|
+
| `ows update` | Update ows and bindings |
|
|
73
|
+
| `ows uninstall` | Remove ows from the system |
|
|
74
|
+
|
|
75
|
+
## Architecture
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
Agent / CLI / App
|
|
79
|
+
│
|
|
80
|
+
│ OWS Interface (MCP / SDK / CLI)
|
|
81
|
+
▼
|
|
82
|
+
┌─────────────────────┐
|
|
83
|
+
│ Access Layer │ 1. Agent calls ows.sign()
|
|
84
|
+
│ ┌────────────────┐ │ 2. Policy engine evaluates
|
|
85
|
+
│ │ Policy Engine │ │ 3. Enclave decrypts key
|
|
86
|
+
│ │ (pre-signing) │ │ 4. Transaction signed
|
|
87
|
+
│ └───────┬────────┘ │ 5. Key wiped from memory
|
|
88
|
+
│ ┌───────▼────────┐ │ 6. Signature returned
|
|
89
|
+
│ │ Signing Enclave │ │
|
|
90
|
+
│ │ (isolated proc) │ │ The agent NEVER sees
|
|
91
|
+
│ └───────┬────────┘ │ the private key.
|
|
92
|
+
│ ┌───────▼────────┐ │
|
|
93
|
+
│ │ Wallet Vault │ │
|
|
94
|
+
│ │ ~/.ows/wallets/ │ │
|
|
95
|
+
│ └────────────────┘ │
|
|
96
|
+
└─────────────────────┘
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Documentation
|
|
100
|
+
|
|
101
|
+
The full spec and docs are available at [openwallet.sh](https://openwallet.sh) and in the [GitHub repo](https://github.com/open-wallet-standard/core).
|
|
102
|
+
|
|
103
|
+
## License
|
|
104
|
+
|
|
105
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-wallet-standard/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Node.js native bindings for the Open Wallet Standard",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -31,15 +31,16 @@
|
|
|
31
31
|
"@napi-rs/cli": "^2.18.0"
|
|
32
32
|
},
|
|
33
33
|
"optionalDependencies": {
|
|
34
|
-
"@open-wallet-standard/core-linux-x64-gnu": "0.3.
|
|
35
|
-
"@open-wallet-standard/core-linux-arm64-gnu": "0.3.
|
|
36
|
-
"@open-wallet-standard/core-darwin-x64": "0.3.
|
|
37
|
-
"@open-wallet-standard/core-darwin-arm64": "0.3.
|
|
34
|
+
"@open-wallet-standard/core-linux-x64-gnu": "0.3.1",
|
|
35
|
+
"@open-wallet-standard/core-linux-arm64-gnu": "0.3.1",
|
|
36
|
+
"@open-wallet-standard/core-darwin-x64": "0.3.1",
|
|
37
|
+
"@open-wallet-standard/core-darwin-arm64": "0.3.1"
|
|
38
38
|
},
|
|
39
39
|
"license": "MIT",
|
|
40
40
|
"files": [
|
|
41
41
|
"index.js",
|
|
42
42
|
"index.d.ts",
|
|
43
|
-
"bin/ows"
|
|
43
|
+
"bin/ows",
|
|
44
|
+
"README.md"
|
|
44
45
|
]
|
|
45
46
|
}
|