nodpay 0.2.23 → 0.2.24
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 +45 -41
- package/SKILL.md +11 -14
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,66 +1,70 @@
|
|
|
1
|
-
#
|
|
1
|
+
# NodPay — Trusted Agent Wallet
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> "Two minds, one wallet."
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
A multisig crypto wallet shared between humans and AI agents. Built on [Safe](https://safe.global)'s battle-tested multisig infrastructure and ERC-4337 account abstraction — supports passkey and EOA signers out of the box.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**For the full agent integration guide, see [nodpay.ai/skill.md](https://nodpay.ai/skill.md).**
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## Package Structure
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
This npm package (`nodpay`) is the **agent-facing CLI**. It is also published as a skill on [ClawHub](https://clawhub.ai/xhyumiracle/nodpay).
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Full guide
|
|
13
|
+
| Distribution | Contains | Audience |
|
|
14
|
+
|--------------|----------|----------|
|
|
15
|
+
| **npm** (`npx nodpay`) | CLI scripts + `SKILL.md` | Any AI agent |
|
|
16
|
+
| **ClawHub** (`clawhub install nodpay`) | `SKILL.md` only | OpenClaw agents |
|
|
17
|
+
| **nodpay.ai/skill.md** | `SKILL.md` via CDN proxy | All agent frameworks |
|
|
21
18
|
|
|
22
|
-
|
|
19
|
+
The CLI provides three commands:
|
|
23
20
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
4. User approves/rejects on their phone
|
|
21
|
+
```
|
|
22
|
+
nodpay keygen # Generate agent keypair (~/.nodpay/.env, chmod 600)
|
|
23
|
+
nodpay propose # Propose a transaction for human approval
|
|
24
|
+
nodpay txs # List and verify transactions for a wallet
|
|
25
|
+
```
|
|
30
26
|
|
|
31
|
-
##
|
|
27
|
+
## Quick Start
|
|
32
28
|
|
|
33
29
|
```bash
|
|
34
|
-
|
|
30
|
+
# 1. Generate key (public address only in stdout; key never exposed)
|
|
31
|
+
npx nodpay keygen
|
|
32
|
+
|
|
33
|
+
# 2. Propose a payment
|
|
34
|
+
npx nodpay propose \
|
|
35
|
+
--chain base \
|
|
36
|
+
--safe 0xWALLET \
|
|
37
|
+
--to 0xRECIPIENT \
|
|
38
|
+
--value-eth 0.01 \
|
|
39
|
+
--human-signer-passkey-x 0x... \
|
|
40
|
+
--human-signer-passkey-y 0x... \
|
|
41
|
+
--recovery-signer 0x...
|
|
42
|
+
|
|
43
|
+
# 3. Check pending transactions (with verification)
|
|
44
|
+
npx nodpay txs --safe 0xWALLET
|
|
35
45
|
```
|
|
36
46
|
|
|
37
|
-
|
|
47
|
+
## Security
|
|
38
48
|
|
|
39
|
-
|
|
49
|
+
All config lives in `~/.nodpay/` — zero `process.env` references in code.
|
|
40
50
|
|
|
41
|
-
|
|
51
|
+
- **Hardened Key Isolation:** private key written directly to `~/.nodpay/.env` (chmod 600), strictly excluded from stdout and agent context.
|
|
52
|
+
- **Zero Trust:** `txs` independently verifies every server response (decode calldata → recompute hash → recover signer → check owner set).
|
|
53
|
+
- **Threshold Security:** 2-of-3 multisig — agent cannot move funds unilaterally.
|
|
42
54
|
|
|
43
|
-
|
|
55
|
+
See [SKILL.md](./SKILL.md) for the complete Trust Model.
|
|
44
56
|
|
|
45
|
-
|
|
46
|
-
- No risk of leaking the key through prompt injection
|
|
47
|
-
- The agent only needs the public address (for wallet links)
|
|
48
|
-
|
|
49
|
-
## Env
|
|
57
|
+
## Related
|
|
50
58
|
|
|
51
|
-
|
|
|
52
|
-
|
|
53
|
-
| `
|
|
59
|
+
| Package | Description |
|
|
60
|
+
|---------|-------------|
|
|
61
|
+
| [`@nodpay/core`](https://www.npmjs.com/package/@nodpay/core) | Protocol primitives — hash, decode, verify (identity-agnostic) |
|
|
62
|
+
| [nodpay.ai](https://nodpay.ai) | Web app — wallet creation & transaction approval |
|
|
54
63
|
|
|
55
|
-
## Supported
|
|
64
|
+
## Supported Chains
|
|
56
65
|
|
|
57
66
|
Ethereum · Base · Arbitrum · Optimism · Polygon · Sepolia · Base Sepolia
|
|
58
67
|
|
|
59
|
-
## Related
|
|
60
|
-
|
|
61
|
-
- [`@nodpay/core`](https://www.npmjs.com/package/@nodpay/core) — Protocol primitives (hash, decode, verify)
|
|
62
|
-
- [nodpay.ai](https://nodpay.ai) — Web app
|
|
63
|
-
|
|
64
68
|
## License
|
|
65
69
|
|
|
66
70
|
MIT
|
package/SKILL.md
CHANGED
|
@@ -27,27 +27,24 @@ You propose payments, your human approves with one tap. 2-of-3 multisig — you
|
|
|
27
27
|
|
|
28
28
|
| Guarantee | How |
|
|
29
29
|
|-----------|-----|
|
|
30
|
-
| **Threshold Security** | Elimination of single point of failure
|
|
31
|
-
| **Zero Trust** | End-to-end verification
|
|
32
|
-
| **
|
|
33
|
-
| **Hardened Key Isolation** | `keygen` writes directly to `~/.nodpay/.env` (chmod 600). The CLI loads the key internally at runtime
|
|
34
|
-
| **Keyless & Non-Custodial Server** |
|
|
30
|
+
| **Threshold Security** | **Elimination of single point of failure:** authority keys are distributed between the agent, human, and a recovery signer (2-of-3 multisig). Ensures non-custodial control — the agent cannot move funds unilaterally. |
|
|
31
|
+
| **Zero Trust** | **End-to-end verification:** no party is implicitly trusted. Server validates signatures; client and CLI independently verify server responses (decode calldata → recompute hash → recover signer → check owner set). The blockchain serves as the canonical source of truth. |
|
|
32
|
+
| **Disaster Recovery** | **Key redundancy & continuity:** uses a locally-stored 12-word mnemonic as recovery signer. Any two of the three signers can reconstruct authority to unlock the wallet, ensuring the user is never locked out by a single lost credential. |
|
|
33
|
+
| **Hardened Key Isolation** | `keygen` writes directly to `~/.nodpay/.env` (chmod 600). The CLI loads the key internally at runtime. **Runtime Isolation:** it is strictly excluded from stdout and agent context to prevent accidental leakage. |
|
|
34
|
+
| **Keyless & Non-Custodial Server** | **Stateless relayer:** the server stores no private keys and maintains no session state that could compromise assets. All signing happens locally. Funds stay on-chain if the server goes offline. |
|
|
35
35
|
|
|
36
36
|
All wallet parameters (Safe address, passkey X/Y, recovery signer address) are public key material — safe to store, pass in URLs, and include in CLI flags.
|
|
37
37
|
|
|
38
|
-
**DO:** Use `npx nodpay keygen` to generate keys. Store wallet info in `~/.nodpay/wallets/`. Let the human approve every transaction.
|
|
39
|
-
**DON'T:** Generate keys manually. Put private keys in chat or code. Trust wallet info without verifying the agent address.
|
|
40
|
-
|
|
41
38
|
## Why NodPay
|
|
42
39
|
|
|
43
40
|
| Feature | How |
|
|
44
41
|
|---------|-----|
|
|
45
|
-
| Instant
|
|
46
|
-
| Zero
|
|
47
|
-
| Gasless
|
|
48
|
-
| Chain
|
|
49
|
-
|
|
|
50
|
-
|
|
|
42
|
+
| **Instant Onboarding** | **Counterfactual Deployment:** wallet addresses are deterministically generated via CREATE2, allowing the wallet to receive funds before any on-chain transaction occurs. |
|
|
43
|
+
| **Zero-Friction UX** | **WebAuthn Native Signer:** uses passkeys as an on-chain signer. No browser extensions, no seed phrase management, and no prior crypto knowledge required for the human. |
|
|
44
|
+
| **Gasless First Step** | **ERC-4337 Account Abstraction:** leveraging paymasters, the deployment gas for the first transaction is sponsored via UserOp, eliminating the "chicken-and-egg" gas problem. |
|
|
45
|
+
| **Multi-Chain Unified Identity** | **Deterministic Address Persistence:** uses the same salt and initCode to ensure the user maintains the exact same address across all supported L2s and sidechains. |
|
|
46
|
+
| **Provable Security** | **Trust-Minimized Architecture:** a 2-of-3 multisig quorum ensures that neither the agent nor the server has custody. All operations are on-chain verifiable. See Trust Model. |
|
|
47
|
+
| **Universal Compatibility** | **Framework-Agnostic CLI:** a standard Node interface (`npx nodpay`) that integrates seamlessly with any agentic framework, not just OpenClaw. |
|
|
51
48
|
|
|
52
49
|
---
|
|
53
50
|
|