open-wallet-standard/core/ows

Claude Code and agent skill by open-wallet-standard/core

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

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, Nano, NEAR, and Cardano via CLI, Node.js, or Python.

Install

npx vskill@latest install open-wallet-standard/core/ows

SKILL.md

OWS — Open Wallet Standard

Secure, offline-first multi-chain wallet management. Private keys are encrypted at rest (AES-256-GCM, scrypt KDF) and decrypted only after policy checks pass, then immediately wiped from memory — the caller never sees the raw key.

Available as CLI, Node.js SDK (@open-wallet-standard/core), and Python SDK (open-wallet-standard).

When to use

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, Filecoin, Nano, NEAR, or Cardano
  • Broadcast signed transactions to a chain
  • Generate BIP-39 mnemonic phrases
  • Fund a wallet with USDC (MoonPay) or check token balances
  • Make paid requests to x402-enabled API endpoints or discover x402 services
  • Create and manage policies for API key access control
  • Create, list, or revoke API keys for agent access to wallets
  • Work with @open-wallet-standard/core or open-wallet-standard in code

Supported Chains

ChainParameterCurveAddress Format
EVM (Ethereum, Polygon, Base, etc.)evmsecp256k1EIP-55 checksummed
SolanasolanaEd25519base58
Bitcoinbitcoinsecp256k1BIP-84 bech32
Cosmoscosmossecp256k1bech32
Trontronsecp256k1base58check
TONtonEd25519raw/bounceable
SuisuiEd255190x + BLAKE2b-256 hex
Spark (Bitcoin L2)sparksecp256k1spark: prefixed
XRPLxrplsecp256k1Base58Check (r...)
Filecoinfilecoinsecp256k1f1 secp256k1
NEARnear, near-testnetEd25519implicit hex (64 chars)
CardanocardanoEd25519-BIP32 (CIP-1852)Shelley Bech32 base (addr1…)

Installation

bash
# CLI (one-liner)
curl -fsSL https://docs.openwallet.sh/install.sh | bash
# Node.js SDK (global install also provides the ows CLI)
npm install @open-wallet-standard/core
# Python SDK
pip install open-wallet-standard

CLI

Wallet Management
bash
# Create (--show-mnemonic to display the phrase for backup)
ows wallet create --name "my-wallet"
ows wallet create --name "my-wallet" --words 24 --show-mnemonic
# Import from mnemonic (via stdin or OWS_MNEMONIC env)
echo "goose puzzle decorate ..." | ows wallet import --name "imported" --mnemonic
# Import from private key (via stdin or OWS_PRIVATE_KEY env)
echo "4c0883a691..." | ows wallet import --name "from-evm" --private-key
echo "9d61b19d..." | ows wallet import --name "from-sol" --private-key --chain solana
# Import explicit keys for all three curves (via env vars)
OWS_SECP256K1_KEY="4c0883a691..." OWS_ED25519_KEY="9d61b19d..." OWS_ED25519_BIP32_KEY="cafe..." \
ows wallet import --name "all-curves"
# List / info / export / delete / rename
ows wallet list
ows wallet info
ows wallet export --wallet "my-wallet"
ows wallet delete --wallet "my-wallet" --confirm
ows wallet rename --wallet "my-wallet" --new-name "treasury"
Signing

The --wallet flag can also be set via OWS_WALLET env var. Use --json for structured output, --index N to select an HD account index, and optional --address that will be used to sign the message (e.g. stake/base/enterprise address on Cardano).

bash
# Sign a message
ows sign message --wallet "my-wallet" --chain evm --message "hello world"
ows sign message --wallet "my-wallet" --chain solana --message "hello" --json
# Sign a message with EIP-712 typed data (EVM only)
ows sign message --wallet "my-wallet" --chain evm --message "" --typed-data '{"types":...}'
# Sign a raw transaction
ows sign tx --wallet "my-wallet" --chain evm --tx "02f8..."
# Sign and broadcast
ows sign send-tx --wallet "my-wallet" --chain evm --tx "02f8..." --rpc-url "https://..."
Funding
bash
# Create a MoonPay deposit (auto-converts to USDC on target chain)
ows fund deposit --wallet "my-wallet" --chain base --token USDC
# Check token balances
ows fund balance --wallet "my-wallet" --chain base
Payments (x402)
bash
# Make a paid request to an x402-enabled API endpoint
ows pay request https://api.example.com/data --wallet "my-wallet"
ows pay request https://api.example.com/data --wallet "my-wallet" --method POST --body '{"key":"value"}'
# Discover x402-enabled services from the Bazaar directory
ows pay discover
ows pay discover --query "weather" --limit 10
Policies
bash
# Register a policy from a JSON file
ows policy create --file policy.json
# List / show / delete policies
ows policy list
ows policy show --id "policy-id"
ows policy delete --id "policy-id" --confirm
API Keys
bash
# Create an API key for agent access (scoped to wallets + policies)
ows key create --name "claude-agent" --wallet "my-wallet" --policy "policy-id"
ows key create --name "tmp-key" --wallet "my-wallet" --expires-at "2026-04-01T00:00:00Z"
# List all API keys (tokens are never shown)
ows key list
# Revoke an API key
ows key revoke --id "key-id" --confirm
Mnemonic Utilities
bash
ows mnemonic generate --words 12
OWS_MNEMONIC="word1 word2 ..." ows mnemonic derive --chain evm
System
bash
ows update # Update to latest version
ows update --force # Force re-download
ows uninstall # Remove CLI (keep wallet data)
ows uninstall --purge # Remove CLI + all wallet data
ows config show # Show config and RPC endpoints

Node.js SDK

npm install @open-wallet-standard/core — native NAPI bindings, Rust core runs in-process.

Quick start:

javascript
import { createWallet, signMessage } from "@open-wallet-standard/core";
const wallet = createWallet("my-wallet");
const sig = signMessage("my-wallet", "evm", "hello world");

Full API reference, types, and examples: see {baseDir}/references/node.md


Python SDK

pip install open-wallet-standard — native PyO3 bindings, Rust core runs in-process.

Quick start:

python
from open_wallet_standard import create_wallet, sign_message
wallet = create_wallet("my-wallet")
sig = sign_message("my-wallet", "evm", "hello world")

Full API reference, return types, and examples: see {baseDir}/references/python.md


Vault Layout

~/.ows/
bin/
ows # CLI binary
wallets/
<uuid>/
wallet.json # Encrypted keystore (AES-256-GCM, scrypt KDF)
meta.json # Name, chains, created_at
policies/
<id>.json # Policy definitions
keys/
<id>.json # API key metadata (token hash, scoped wallets/policies)

Security Model

  • Keys encrypted at rest with AES-256-GCM (scrypt N=2^16, r=8, p=1)
  • Keys decrypted only after policy checks pass, then immediately wiped from memory
  • Caller never sees raw private key during signing
  • Optional passphrase adds second encryption layer
  • Universal wallets: single mnemonic derives addresses for all supported chains via BIP-44 HD paths
  • API keys use HKDF-SHA256 for token-based decryption; tokens shown once at creation, only hashes stored

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
368
Repository forks
95
7-day trend score
30

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 18 Aug 2026, 2 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/open-wallet-standard/core/ows/badge)](https://verified-skill.com/skills/open-wallet-standard/core/ows)

Something wrong with this skill or its page? Tell us.