OWS handles the policy engine, key management, and signing. LEASH gives it a face — register your agents, configure spend limits, restrict chains, and watch every transaction in real time. Keys never leave ~/.ows/.
OpenWallet Standard handles policy enforcement, key security, and transaction signing. LEASH is the dashboard that lets you configure and observe all of it — no terminal required.
Clone the repo, install, and run. No accounts. No cloud. Everything runs locally on your machine.
Your Claw, Claude Code, Codex, or any other agent can manage wallets here. Copy one prompt that tells it to connect first, read wallet state next, and install only if needed.
You are about to install and use LEASH — the local dashboard for Open Wallet Standard (OWS). Follow every step in order.
STEP 1 — Install LEASH:
Run these commands in your terminal:
git clone https://github.com/Socialure/leash
cd leash/app
npm install
npm run dev
Wait until you see "Ready on http://localhost:3847". Then confirm with: curl http://localhost:3847/api/agents
STEP 2 — Register yourself as an agent:
Open http://localhost:3847 in a browser (or use the API directly):
POST to http://localhost:3847/api/agents with JSON body:
{ "name": "<your agent name>", "role": "<your role>", "spendLimit": 100, "chains": ["eip155:8453"] }
Save the "id" and "apiKey" fields from the response — you will need both.
STEP 3 — Use your wallet:
To simulate or sign a transaction, POST to http://localhost:3847/api/simulate:
{ "agentId": "<your agent id>", "chain": "eip155:8453", "amount": 10, "action": "swap" }
LEASH will approve or deny based on your spend policy. Raw keys never leave the vault.
STEP 4 — Report back:
Confirm: your agent name, wallet ID, spend limit, allowed chains, and API key (first 8 chars only). If any step failed, report the exact error message.localhost:3847.git clone https://github.com/Socialure/leash
cd leash/app
npm install
npm run dev# Or use the OWS CLI directly
ows wallet create --name agent-treasury
ows policy create --wallet agent-treasury \
--limit 100 --chains eip155:8453// Node.js — @open-wallet-standard/sdk
import { OWSClient } from '@open-wallet-standard/sdk'
const ows = new OWSClient({ apiKey: process.env.OWS_KEY })
const { txHash } = await ows.sign({
chain: 'eip155:8453', // Base
to: '0xrecipient',
value: '0.01',
unit: 'eth'
})LEASH doesn't replace OWS — it exposes it. Every feature you see maps directly to an OWS primitive. The standard does the work; LEASH makes it accessible.