Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Local, policy-gated signing and wallet management for every chain.
## Why OWS

- **Local key custody.** Private keys stay encrypted at rest and are decrypted only inside the OWS signing path after the relevant checks pass. Current implementations harden in-process memory handling and wipe key material after use.
- **Every chain, one interface.** EVM, Solana, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, Filecoin — all first-class. CAIP-2/CAIP-10 addressing abstracts away chain-specific details.
- **Every chain, one interface.** EVM, Solana, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, Filecoin, Nano, NEAR — all first-class. CAIP-2/CAIP-10 addressing abstracts away chain-specific details.
- **Policy before signing.** A pre-signing policy engine gates agent (API key) operations before decryption — chain allowlists, expiry, and optional custom executables.
- **Built for agents.** Native SDK and CLI today. A wallet created by one tool works in every other.

Expand Down Expand Up @@ -56,7 +56,7 @@ ows sign tx --wallet agent-treasury --chain 8453 --tx "02f8..."
import { createWallet, signMessage } from "@open-wallet-standard/core";

const wallet = createWallet("agent-treasury");
// => accounts for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, and XRPL
// => accounts for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Spark, Filecoin, Sui, XRPL, Nano, and NEAR

const sig = signMessage("agent-treasury", "evm", "hello");
console.log(sig.signature);
Expand All @@ -66,7 +66,7 @@ console.log(sig.signature);
from ows import create_wallet, sign_message

wallet = create_wallet("agent-treasury")
# => accounts for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, and XRPL
# => accounts for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Spark, Filecoin, Sui, XRPL, Nano, and NEAR

sig = sign_message("agent-treasury", "evm", "hello")
print(sig["signature"])
Expand Down Expand Up @@ -110,6 +110,8 @@ Agent / CLI / App
| Spark (Bitcoin L2) | secp256k1 | spark: prefixed | `m/84'/0'/0'/0/0` |
| Filecoin | secp256k1 | f1 base32 | `m/44'/461'/0'/0/0` |
| XRPL | secp256k1 | base58check | `m/44'/144'/0'/0/0`|
| Nano (XNO) | Ed25519 | nano_ prefixed | `m/44'/165'/0'` |
| NEAR | Ed25519 | implicit hex (64 chars) | `m/44'/397'/0'` |

## CLI Reference

Expand Down
1 change: 1 addition & 0 deletions bindings/node/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ ows sign tx --wallet agent-treasury --chain evm --tx "deadbeef..."
| XRPL | secp256k1 | Base58Check (`r...`) | `m/44'/144'/0'/0/0` |
| Spark (Bitcoin L2) | secp256k1 | spark: prefixed | `m/84'/0'/0'/0/0` |
| Filecoin | secp256k1 | f1 base32 | `m/44'/461'/0'/0/0` |
| Nano (XNO) | Ed25519 | nano_ prefixed | `m/44'/165'/0'` |
| NEAR | Ed25519 | implicit hex (64 chars) | `m/44'/397'/0'` |

## CLI Reference
Expand Down
1 change: 1 addition & 0 deletions bindings/python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ print(sig["signature"])
| XRPL | secp256k1 | Base58Check (`r...`) | `m/44'/144'/0'/0/0` |
| Spark (Bitcoin L2) | secp256k1 | spark: prefixed | `m/84'/0'/0'/0/0` |
| Filecoin | secp256k1 | f1 base32 | `m/44'/461'/0'/0/0` |
| Nano (XNO) | Ed25519 | nano_ prefixed | `m/44'/165'/0'` |
| NEAR | Ed25519 | implicit hex (64 chars) | `m/44'/397'/0'` |

## Architecture
Expand Down
4 changes: 4 additions & 0 deletions docs/07-supported-chains.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ OWS groups chains into families that share a cryptographic curve and address der
| XRPL | secp256k1 | 144 | `m/44'/144'/0'/0/{index}` | Base58Check (`r...`) | `xrpl` |
| Spark | secp256k1 | 8797555 | `m/84'/0'/0'/0/{index}` | `spark:` + compressed pubkey hex | `spark` |
| Filecoin | secp256k1 | 461 | `m/44'/461'/0'/0/{index}` | `f1` + base32(blake2b-160) | `fil` |
| Nano | ed25519 | 165 | `m/44'/165'/{index}'` | `nano_` prefixed | `nano` |
| NEAR | ed25519 | 397 | `m/44'/397'/{index}'` | 64-char lowercase hex of pubkey (implicit account) | `near` |

## Known Networks
Expand Down Expand Up @@ -74,6 +75,7 @@ Each network has a canonical chain identifier. Endpoint discovery and transport
| XRPL | `xrpl:mainnet` |
| Spark | `spark:mainnet` |
| Filecoin | `fil:mainnet` |
| Nano | `nano:mainnet` |
| NEAR | `near:mainnet` |
| NEAR (testnet) | `near:testnet` |

Expand Down Expand Up @@ -107,6 +109,7 @@ xrpl-testnet → xrpl:testnet
xrpl-devnet → xrpl:devnet
spark → spark:mainnet
filecoin → fil:mainnet
nano → nano:mainnet
near → near:mainnet
near-testnet → near:testnet
```
Expand All @@ -133,6 +136,7 @@ Master Seed (512 bits via PBKDF2)
├── m/44'/144'/0'/0/0 → XRPL Account 0
├── m/84'/0'/0'/0/0 → Spark Account 0
├── m/44'/461'/0'/0/0 → Filecoin Account 0
├── m/44'/165'/0' → Nano Account 0
└── m/44'/397'/0' → NEAR Account 0
```

Expand Down
2 changes: 1 addition & 1 deletion docs/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ pip install open-wallet-standard # Python

## Create a wallet

A single command derives addresses for every supported chain — EVM, Solana, Sui, Bitcoin, Cosmos, Tron, and TON.
A single command derives addresses for every supported chain — EVM, Solana, Sui, Bitcoin, Cosmos, Tron, TON, Nano, and NEAR.

```bash
ows wallet create --name "agent-treasury"
Expand Down
1 change: 1 addition & 0 deletions readme/partials/supported-chains.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@
| XRPL | secp256k1 | Base58Check (`r...`) | `m/44'/144'/0'/0/0` |
| Spark (Bitcoin L2) | secp256k1 | spark: prefixed | `m/84'/0'/0'/0/0` |
| Filecoin | secp256k1 | f1 base32 | `m/44'/461'/0'/0/0` |
| Nano (XNO) | Ed25519 | nano_ prefixed | `m/44'/165'/0'` |
| NEAR | Ed25519 | implicit hex (64 chars) | `m/44'/397'/0'` |