@x402api/agent-wallet-cli 0.2.1 → 0.2.2

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 CHANGED
@@ -8,6 +8,12 @@ USDC/USDT. x402api supplies the network fee asset, so buyers do not need ETH or
8
8
  SOL. TRON payment authorization returns `unsupported_profile` until that rail
9
9
  is launched.
10
10
 
11
+ The CLI runs on the buyer or agent host; merchant integrations do not host it
12
+ or receive its keys. A wallet's funded token balance is spend authority, and
13
+ `wallet create --maximum-payment-atomic N` can add a per-payment ceiling. The
14
+ ceiling is not a daily, cumulative, or merchant-specific permission and cannot
15
+ be updated in place in version 0.2.2.
16
+
11
17
  Run `x402api help --json` for the machine-readable command summary. Unlock
12
18
  material is accepted only from standard input or an owner-only file named by
13
19
  `X402API_WALLET_PASSWORD_FILE`; passphrases are never accepted as command-line
@@ -26,3 +32,6 @@ configured `X402API_NOTIFICATION_URL`. x402api resolves the verified refill
26
32
  contact, tenant display name, and purchased product from the subscription
27
33
  reference; the CLI never accepts an arbitrary recipient email or untrusted
28
34
  tenant/product display text.
35
+
36
+ The client contract is included in this package, but the hosted notification
37
+ endpoint is deployed separately and is not provided by the CLI package.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@x402api/agent-wallet-cli",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Command-line wallet for autonomous x402 purchases.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,6 +38,6 @@
38
38
  "lint": "tsc --noEmit -p tsconfig.json"
39
39
  },
40
40
  "dependencies": {
41
- "@x402api/agent-wallet-core": "0.2.1"
41
+ "@x402api/agent-wallet-core": "0.2.2"
42
42
  }
43
43
  }
package/skill/SKILL.md CHANGED
@@ -22,6 +22,11 @@ Install only the skill bundled with the exact CLI version. If it is not already
22
22
  installed, an operator can run `x402api skill install --output PATH --json`.
23
23
  The command refuses to overwrite an existing skill directory.
24
24
 
25
+ The `x402api` CLI runs on the buyer or agent host where its encrypted wallet is
26
+ stored. Merchant tools, including the WarpMetal reference integration, may
27
+ prepare requests and consume artifacts, but they do not host the CLI or receive
28
+ its private keys.
29
+
25
30
  Do not supply a passphrase on the command line. An operator must arrange
26
31
  `X402API_WALLET_PASSWORD_FILE` as an owner-only file or supervise
27
32
  `--password-stdin`. Never read, print, summarize, or paste that passphrase,
@@ -35,7 +40,8 @@ seed, private key, encrypted keystore, or complete payment signature.
35
40
  an address from another network or create a new wallet merely because an
36
41
  order is a renewal.
37
42
  4. Treat the funded balance as fully spendable by the autonomous agent, subject
38
- to any local per-payment ceiling.
43
+ to any local `maximumPaymentAtomic` per-payment ceiling. That ceiling is not
44
+ a daily, cumulative, or merchant-specific permission.
39
45
  5. Show the public address, exact network, supported asset, sponsored native
40
46
  fee currency, and requested token funding amount when funding is
41
47
  insufficient. Never ask the owner to fund ETH/SOL or reveal or import a
@@ -31,6 +31,12 @@ x402api wallet retire --wallet NAME --confirm NAME --json
31
31
  x402api wallet sweep --wallet NAME --to ADDRESS --json
32
32
  ```
33
33
 
34
+ `--maximum-payment-atomic` is an optional canonical decimal in atomic units for
35
+ the wallet's supported payment asset. It is enforced on each authorization and
36
+ returns `payment_limit_exceeded` when the exact amount is larger. It is not a
37
+ daily or cumulative budget. Version 0.2.2 sets it only at wallet creation and
38
+ does not provide a policy-update command.
39
+
34
40
  Unlocking commands additionally require `X402API_WALLET_PASSWORD_FILE` or an
35
41
  operator-supervised `--password-stdin`. Supported V1 networks are
36
42
  `eip155:8453`, `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`, and
@@ -42,7 +48,7 @@ operator-supervised `--password-stdin`. Supported V1 networks are
42
48
  x402api wallet notify-refill \
43
49
  --wallet NAME \
44
50
  --subscription-reference ID \
45
- --renew-by 2026-08-25T12:00:00.000Z \
51
+ --renew-by RFC3339_UTC_DEADLINE \
46
52
  --target-balance-atomic N \
47
53
  --reason renewal \
48
54
  --json
@@ -54,6 +60,10 @@ asset balance in atomic units, not the native fee balance. Results have status
54
60
  email recipient and derives tenant and product display data from the
55
61
  subscription; those values are intentionally not CLI arguments.
56
62
 
63
+ The client command is shipped, but this repository does not provide the hosted
64
+ notification endpoint. Configure `X402API_NOTIFICATION_URL` only for an
65
+ approved deployment of the server contract.
66
+
57
67
  ## Payment commands
58
68
 
59
69
  ```text
@@ -79,6 +89,8 @@ when a merchant-specific integration owns the request lifecycle.
79
89
  - `password_required`, `wallet_locked`: request operator unlock assistance;
80
90
  never request secret material in chat.
81
91
  - `wallet_storage_unsafe`, `payment_artifact_corrupt`: stop and escalate.
92
+ - `payment_limit_exceeded`: the exact payment exceeds the wallet's local
93
+ per-payment ceiling; do not split or reauthorize it to evade the limit.
82
94
  - `insufficient_asset_balance`: show exact funding instructions or request a
83
95
  registered refill notification.
84
96
  - `insufficient_network_fee_resources`: is not expected for a valid launch
@@ -47,8 +47,11 @@ never downgraded by a later transport or replay failure.
47
47
 
48
48
  ## Hosted refill endpoint
49
49
 
50
- The CLI posts a signed envelope to `X402API_NOTIFICATION_URL`. The signed
51
- intent includes:
50
+ The shipped CLI client posts a signed envelope to
51
+ `X402API_NOTIFICATION_URL`. This repository does not implement or deploy that
52
+ hosted endpoint. An approved server implementing the separate contract must be
53
+ available before a notification workflow is advertised. The signed intent
54
+ includes:
52
55
 
53
56
  - a domain-separated V1 kind and exact endpoint audience;
54
57
  - the subscription reference;
@@ -7,6 +7,11 @@ balance is the economic permission granted to the agent and may be spent at
7
7
  different compatible x402 merchants. Preserve separate keys and addresses for
8
8
  Base, Solana, and TRON.
9
9
 
10
+ An optional `maximumPaymentAtomic` value adds a local ceiling to each payment.
11
+ It does not limit aggregate or daily spend, restrict merchants, revoke existing
12
+ artifacts, or protect a wallet on a compromised same-user host. Version 0.2.2
13
+ sets this value only when creating a wallet and has no policy-update command.
14
+
10
15
  Show the exact network, token contract or mint, public address, and requested
11
16
  asset amount before funding. A correct address on the wrong network is not
12
17
  valid funding. Buyers do not fund ETH or SOL for launch-sponsored payments.