From 49d2cbc6a6e1b1d39f18ea84ee17e410ef895947 Mon Sep 17 00:00:00 2001 From: Conny Brunnkvist Date: Wed, 29 Apr 2026 17:09:31 +0700 Subject: [PATCH] docs: advertise Nano (XNO) as a supported chain MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add Nano to every chain enumeration across docs, README, templates, partials, and the ows skill — including the canonical supported-chains spec, HD derivation tree, shorthand alias table, and all generated binding READMEs (regenerated via readme/generate.sh). --- README.md | 7 ++++--- bindings/node/README.md | 5 +++-- bindings/python/README.md | 5 +++-- docs/07-supported-chains.md | 6 +++++- docs/quickstart.md | 2 +- ows/README.md | 5 +++-- ows/crates/ows-cli/README.md | 5 +++-- ows/crates/ows-core/README.md | 5 +++-- ows/crates/ows-lib/README.md | 5 +++-- ows/crates/ows-signer/README.md | 5 +++-- readme/partials/supported-chains.md | 3 ++- readme/partials/why-ows.md | 2 +- readme/templates/node.md | 2 +- readme/templates/ows.md | 5 +++-- readme/templates/python.md | 2 +- skills/ows/SKILL.md | 5 +++-- 16 files changed, 42 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 9321762e..f8a0b6f7 100644 --- a/README.md +++ b/README.md @@ -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 — 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. @@ -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, Filecoin, Sui, XRPL, and Nano const sig = signMessage("agent-treasury", "evm", "hello"); console.log(sig.signature); @@ -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, Filecoin, Sui, XRPL, and Nano sig = sign_message("agent-treasury", "evm", "hello") print(sig["signature"]) @@ -110,6 +110,7 @@ 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'` | ## CLI Reference diff --git a/bindings/node/README.md b/bindings/node/README.md index 3d95ce8f..69f08231 100644 --- a/bindings/node/README.md +++ b/bindings/node/README.md @@ -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 — 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. @@ -31,7 +31,7 @@ Using viem, `@solana/web3.js`, or the Tether WDK? Install [`@open-wallet-standar 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, Filecoin, Sui, XRPL, and Nano const sig = signMessage("agent-treasury", "evm", "hello"); console.log(sig.signature); @@ -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'` | ## CLI Reference diff --git a/bindings/python/README.md b/bindings/python/README.md index 3209f29c..5e20fe78 100644 --- a/bindings/python/README.md +++ b/bindings/python/README.md @@ -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 — 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. @@ -28,7 +28,7 @@ The package is **fully self-contained** — it embeds the Rust core via native F 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, Filecoin, Sui, XRPL, and Nano sig = sign_message("agent-treasury", "evm", "hello") print(sig["signature"]) @@ -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'` | ## Architecture diff --git a/docs/07-supported-chains.md b/docs/07-supported-chains.md index 2ebab67d..3522cf6a 100644 --- a/docs/07-supported-chains.md +++ b/docs/07-supported-chains.md @@ -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` | ## Known Networks @@ -73,6 +74,7 @@ Each network has a canonical chain identifier. Endpoint discovery and transport | XRPL | `xrpl:mainnet` | | Spark | `spark:mainnet` | | Filecoin | `fil:mainnet` | +| Nano | `nano:mainnet` | Implementations MAY ship convenience endpoint defaults, but those defaults are deployment choices rather than OWS interoperability requirements. @@ -104,6 +106,7 @@ xrpl-testnet → xrpl:testnet xrpl-devnet → xrpl:devnet spark → spark:mainnet filecoin → fil:mainnet +nano → nano:mainnet ``` Aliases MUST be resolved to full CAIP-2 identifiers before any processing. They MUST NOT appear in wallet files, policy files, or audit logs. @@ -127,7 +130,8 @@ Master Seed (512 bits via PBKDF2) ├── m/44'/784'/0'/0'/0' → Sui Account 0 ├── 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'/461'/0'/0/0 → Filecoin Account 0 + └── m/44'/165'/0' → Nano Account 0 ``` For mnemonic-based wallets, a single mnemonic derives accounts across all supported chains. Those wallet files store the encrypted mnemonic, and the signer derives the appropriate private key using each chain's coin type and derivation path. Wallets imported from raw private keys instead store encrypted curve-key material directly. diff --git a/docs/quickstart.md b/docs/quickstart.md index 8e6bb516..49f62d29 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -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, and Nano. ```bash ows wallet create --name "agent-treasury" diff --git a/ows/README.md b/ows/README.md index cfa82041..6121912f 100644 --- a/ows/README.md +++ b/ows/README.md @@ -57,7 +57,7 @@ The bindings are **standalone** — they embed the Rust core via native FFI. No import { createWallet, signMessage } from "@open-wallet-standard/core"; const wallet = createWallet("my-wallet"); -console.log(wallet.accounts); // addresses for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, and XRPL +console.log(wallet.accounts); // addresses for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, XRPL, and Nano const sig = signMessage("my-wallet", "evm", "hello"); console.log(sig.signature); @@ -68,7 +68,7 @@ console.log(sig.signature); | 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, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, and Filecoin. | +| `ows-signer` | ChainSigner trait, HD derivation, address derivation for EVM, Solana, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, Filecoin, and Nano. | | `ows-lib` | Library interface used by language bindings and the CLI. | | `ows-pay` | x402 payment flows, service discovery, and funding helpers. | | `ows-cli` | The `ows` command-line tool. | @@ -85,6 +85,7 @@ console.log(sig.signature); - **Spark** (Bitcoin L2) — secp256k1, spark: prefixed addresses - **XRPL** — secp256k1, Base58Check r-addresses - **Filecoin** — secp256k1, f1 base32 addresses +- **Nano** (XNO) — Ed25519, nano_ prefixed addresses ## License diff --git a/ows/crates/ows-cli/README.md b/ows/crates/ows-cli/README.md index cfa82041..6121912f 100644 --- a/ows/crates/ows-cli/README.md +++ b/ows/crates/ows-cli/README.md @@ -57,7 +57,7 @@ The bindings are **standalone** — they embed the Rust core via native FFI. No import { createWallet, signMessage } from "@open-wallet-standard/core"; const wallet = createWallet("my-wallet"); -console.log(wallet.accounts); // addresses for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, and XRPL +console.log(wallet.accounts); // addresses for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, XRPL, and Nano const sig = signMessage("my-wallet", "evm", "hello"); console.log(sig.signature); @@ -68,7 +68,7 @@ console.log(sig.signature); | 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, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, and Filecoin. | +| `ows-signer` | ChainSigner trait, HD derivation, address derivation for EVM, Solana, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, Filecoin, and Nano. | | `ows-lib` | Library interface used by language bindings and the CLI. | | `ows-pay` | x402 payment flows, service discovery, and funding helpers. | | `ows-cli` | The `ows` command-line tool. | @@ -85,6 +85,7 @@ console.log(sig.signature); - **Spark** (Bitcoin L2) — secp256k1, spark: prefixed addresses - **XRPL** — secp256k1, Base58Check r-addresses - **Filecoin** — secp256k1, f1 base32 addresses +- **Nano** (XNO) — Ed25519, nano_ prefixed addresses ## License diff --git a/ows/crates/ows-core/README.md b/ows/crates/ows-core/README.md index cfa82041..6121912f 100644 --- a/ows/crates/ows-core/README.md +++ b/ows/crates/ows-core/README.md @@ -57,7 +57,7 @@ The bindings are **standalone** — they embed the Rust core via native FFI. No import { createWallet, signMessage } from "@open-wallet-standard/core"; const wallet = createWallet("my-wallet"); -console.log(wallet.accounts); // addresses for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, and XRPL +console.log(wallet.accounts); // addresses for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, XRPL, and Nano const sig = signMessage("my-wallet", "evm", "hello"); console.log(sig.signature); @@ -68,7 +68,7 @@ console.log(sig.signature); | 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, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, and Filecoin. | +| `ows-signer` | ChainSigner trait, HD derivation, address derivation for EVM, Solana, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, Filecoin, and Nano. | | `ows-lib` | Library interface used by language bindings and the CLI. | | `ows-pay` | x402 payment flows, service discovery, and funding helpers. | | `ows-cli` | The `ows` command-line tool. | @@ -85,6 +85,7 @@ console.log(sig.signature); - **Spark** (Bitcoin L2) — secp256k1, spark: prefixed addresses - **XRPL** — secp256k1, Base58Check r-addresses - **Filecoin** — secp256k1, f1 base32 addresses +- **Nano** (XNO) — Ed25519, nano_ prefixed addresses ## License diff --git a/ows/crates/ows-lib/README.md b/ows/crates/ows-lib/README.md index cfa82041..6121912f 100644 --- a/ows/crates/ows-lib/README.md +++ b/ows/crates/ows-lib/README.md @@ -57,7 +57,7 @@ The bindings are **standalone** — they embed the Rust core via native FFI. No import { createWallet, signMessage } from "@open-wallet-standard/core"; const wallet = createWallet("my-wallet"); -console.log(wallet.accounts); // addresses for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, and XRPL +console.log(wallet.accounts); // addresses for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, XRPL, and Nano const sig = signMessage("my-wallet", "evm", "hello"); console.log(sig.signature); @@ -68,7 +68,7 @@ console.log(sig.signature); | 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, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, and Filecoin. | +| `ows-signer` | ChainSigner trait, HD derivation, address derivation for EVM, Solana, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, Filecoin, and Nano. | | `ows-lib` | Library interface used by language bindings and the CLI. | | `ows-pay` | x402 payment flows, service discovery, and funding helpers. | | `ows-cli` | The `ows` command-line tool. | @@ -85,6 +85,7 @@ console.log(sig.signature); - **Spark** (Bitcoin L2) — secp256k1, spark: prefixed addresses - **XRPL** — secp256k1, Base58Check r-addresses - **Filecoin** — secp256k1, f1 base32 addresses +- **Nano** (XNO) — Ed25519, nano_ prefixed addresses ## License diff --git a/ows/crates/ows-signer/README.md b/ows/crates/ows-signer/README.md index cfa82041..6121912f 100644 --- a/ows/crates/ows-signer/README.md +++ b/ows/crates/ows-signer/README.md @@ -57,7 +57,7 @@ The bindings are **standalone** — they embed the Rust core via native FFI. No import { createWallet, signMessage } from "@open-wallet-standard/core"; const wallet = createWallet("my-wallet"); -console.log(wallet.accounts); // addresses for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, and XRPL +console.log(wallet.accounts); // addresses for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, XRPL, and Nano const sig = signMessage("my-wallet", "evm", "hello"); console.log(sig.signature); @@ -68,7 +68,7 @@ console.log(sig.signature); | 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, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, and Filecoin. | +| `ows-signer` | ChainSigner trait, HD derivation, address derivation for EVM, Solana, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, Filecoin, and Nano. | | `ows-lib` | Library interface used by language bindings and the CLI. | | `ows-pay` | x402 payment flows, service discovery, and funding helpers. | | `ows-cli` | The `ows` command-line tool. | @@ -85,6 +85,7 @@ console.log(sig.signature); - **Spark** (Bitcoin L2) — secp256k1, spark: prefixed addresses - **XRPL** — secp256k1, Base58Check r-addresses - **Filecoin** — secp256k1, f1 base32 addresses +- **Nano** (XNO) — Ed25519, nano_ prefixed addresses ## License diff --git a/readme/partials/supported-chains.md b/readme/partials/supported-chains.md index 8f34caf9..e61bc40e 100644 --- a/readme/partials/supported-chains.md +++ b/readme/partials/supported-chains.md @@ -11,4 +11,5 @@ | Sui | Ed25519 | 0x + BLAKE2b-256 hex | `m/44'/784'/0'/0'/0'` | | 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` | \ No newline at end of file +| Filecoin | secp256k1 | f1 base32 | `m/44'/461'/0'/0/0` | +| Nano (XNO) | Ed25519 | nano_ prefixed | `m/44'/165'/0'` | \ No newline at end of file diff --git a/readme/partials/why-ows.md b/readme/partials/why-ows.md index d6e8771a..54ddcb9e 100644 --- a/readme/partials/why-ows.md +++ b/readme/partials/why-ows.md @@ -1,6 +1,6 @@ ## 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 — 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. \ No newline at end of file diff --git a/readme/templates/node.md b/readme/templates/node.md index 69e18efc..8d90ddaa 100644 --- a/readme/templates/node.md +++ b/readme/templates/node.md @@ -26,7 +26,7 @@ Using viem, `@solana/web3.js`, or the Tether WDK? Install [`@open-wallet-standar 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, Filecoin, Sui, XRPL, and Nano const sig = signMessage("agent-treasury", "evm", "hello"); console.log(sig.signature); diff --git a/readme/templates/ows.md b/readme/templates/ows.md index 5fbe64c4..bf25740c 100644 --- a/readme/templates/ows.md +++ b/readme/templates/ows.md @@ -36,7 +36,7 @@ The bindings are **standalone** — they embed the Rust core via native FFI. No import { createWallet, signMessage } from "@open-wallet-standard/core"; const wallet = createWallet("my-wallet"); -console.log(wallet.accounts); // addresses for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, and XRPL +console.log(wallet.accounts); // addresses for EVM, Solana, Bitcoin, Cosmos, Tron, TON, Filecoin, Sui, XRPL, and Nano const sig = signMessage("my-wallet", "evm", "hello"); console.log(sig.signature); @@ -47,7 +47,7 @@ console.log(sig.signature); | 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, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, and Filecoin. | +| `ows-signer` | ChainSigner trait, HD derivation, address derivation for EVM, Solana, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, Filecoin, and Nano. | | `ows-lib` | Library interface used by language bindings and the CLI. | | `ows-pay` | x402 payment flows, service discovery, and funding helpers. | | `ows-cli` | The `ows` command-line tool. | @@ -64,6 +64,7 @@ console.log(sig.signature); - **Spark** (Bitcoin L2) — secp256k1, spark: prefixed addresses - **XRPL** — secp256k1, Base58Check r-addresses - **Filecoin** — secp256k1, f1 base32 addresses +- **Nano** (XNO) — Ed25519, nano_ prefixed addresses ## License diff --git a/readme/templates/python.md b/readme/templates/python.md index 624174d4..518ed137 100644 --- a/readme/templates/python.md +++ b/readme/templates/python.md @@ -23,7 +23,7 @@ The package is **fully self-contained** — it embeds the Rust core via native F 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, Filecoin, Sui, XRPL, and Nano sig = sign_message("agent-treasury", "evm", "hello") print(sig["signature"]) diff --git a/skills/ows/SKILL.md b/skills/ows/SKILL.md index 5e0f688d..925652b4 100644 --- a/skills/ows/SKILL.md +++ b/skills/ows/SKILL.md @@ -1,6 +1,6 @@ --- name: ows -description: Secure, local-first multi-chain wallet management — create wallets, derive addresses, sign messages and transactions across EVM, Solana, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, and Filecoin via CLI, Node.js, or Python. +description: Secure, local-first multi-chain wallet management — create wallets, derive addresses, sign messages and transactions across EVM, Solana, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, Filecoin, and Nano via CLI, Node.js, or Python. version: 1.3.2 metadata: openclaw: @@ -33,7 +33,7 @@ Use this skill when the user asks to: - Create, import, list, delete, or manage crypto wallets - Derive blockchain addresses from a mnemonic -- Sign messages or transactions for EVM, Solana, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, or Filecoin +- Sign messages or transactions for EVM, Solana, XRPL, Sui, Bitcoin, Cosmos, Tron, TON, Spark, Filecoin, or Nano - Broadcast signed transactions to a chain - Generate BIP-39 mnemonic phrases - Fund a wallet with USDC (MoonPay) or check token balances @@ -56,6 +56,7 @@ Use this skill when the user asks to: | Spark (Bitcoin L2) | `spark` | secp256k1 | spark: prefixed | | XRPL | `xrpl` | secp256k1 | Base58Check (`r...`) | | Filecoin | `filecoin` | secp256k1 | f1 secp256k1 | +| Nano (XNO) | `nano` | Ed25519 | nano_ prefixed | ## Installation