@absol-labs/agent 0.12.0-rc.1 → 0.12.0-rc.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.
Files changed (113) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/commands/claim.d.ts +32 -0
  3. package/dist/cli/commands/claim.d.ts.map +1 -1
  4. package/dist/cli/commands/claim.js +115 -27
  5. package/dist/cli/commands/claim.js.map +1 -1
  6. package/dist/cli/commands/pay.d.ts +15 -0
  7. package/dist/cli/commands/pay.d.ts.map +1 -1
  8. package/dist/cli/commands/pay.js +131 -7
  9. package/dist/cli/commands/pay.js.map +1 -1
  10. package/dist/cli/commands/reclaim.d.ts.map +1 -1
  11. package/dist/cli/commands/reclaim.js +20 -4
  12. package/dist/cli/commands/reclaim.js.map +1 -1
  13. package/dist/cli/commands/refund.d.ts +19 -1
  14. package/dist/cli/commands/refund.d.ts.map +1 -1
  15. package/dist/cli/commands/refund.js +200 -27
  16. package/dist/cli/commands/refund.js.map +1 -1
  17. package/dist/cli/commands/status.d.ts.map +1 -1
  18. package/dist/cli/commands/status.js +11 -1
  19. package/dist/cli/commands/status.js.map +1 -1
  20. package/dist/cli/commands/watch.d.ts.map +1 -1
  21. package/dist/cli/commands/watch.js +2 -0
  22. package/dist/cli/commands/watch.js.map +1 -1
  23. package/dist/cli/context.d.ts +19 -0
  24. package/dist/cli/context.d.ts.map +1 -1
  25. package/dist/cli/deps.d.ts +20 -0
  26. package/dist/cli/deps.d.ts.map +1 -1
  27. package/dist/cli/deps.js +14 -0
  28. package/dist/cli/deps.js.map +1 -1
  29. package/dist/cli/progress.d.ts +13 -1
  30. package/dist/cli/progress.d.ts.map +1 -1
  31. package/dist/cli/progress.js +7 -1
  32. package/dist/cli/progress.js.map +1 -1
  33. package/dist/cli/run.d.ts.map +1 -1
  34. package/dist/cli/run.js +26 -14
  35. package/dist/cli/run.js.map +1 -1
  36. package/dist/cli/status.d.ts +103 -0
  37. package/dist/cli/status.d.ts.map +1 -1
  38. package/dist/cli/status.js +310 -41
  39. package/dist/cli/status.js.map +1 -1
  40. package/dist/cli/wallet.d.ts +1 -1
  41. package/dist/cli/wallet.d.ts.map +1 -1
  42. package/dist/cli/wallet.js +28 -4
  43. package/dist/cli/wallet.js.map +1 -1
  44. package/dist/gateway/http-server.d.ts +17 -0
  45. package/dist/gateway/http-server.d.ts.map +1 -1
  46. package/dist/gateway/http-server.js +76 -9
  47. package/dist/gateway/http-server.js.map +1 -1
  48. package/dist/gateway/x402-opener-mode.d.ts +39 -2
  49. package/dist/gateway/x402-opener-mode.d.ts.map +1 -1
  50. package/dist/gateway/x402-opener-mode.js +169 -36
  51. package/dist/gateway/x402-opener-mode.js.map +1 -1
  52. package/dist/mcp/server.d.ts +12 -0
  53. package/dist/mcp/server.d.ts.map +1 -1
  54. package/dist/mcp/server.js +28 -9
  55. package/dist/mcp/server.js.map +1 -1
  56. package/dist/mcp/x402-tools.d.ts +8 -3
  57. package/dist/mcp/x402-tools.d.ts.map +1 -1
  58. package/dist/mcp/x402-tools.js +126 -6
  59. package/dist/mcp/x402-tools.js.map +1 -1
  60. package/dist/sdk/client.d.ts +13 -0
  61. package/dist/sdk/client.d.ts.map +1 -1
  62. package/dist/sdk/client.js +15 -0
  63. package/dist/sdk/client.js.map +1 -1
  64. package/dist/x402-buyer/pay.d.ts +22 -0
  65. package/dist/x402-buyer/pay.d.ts.map +1 -1
  66. package/dist/x402-buyer/pay.js +33 -3
  67. package/dist/x402-buyer/pay.js.map +1 -1
  68. package/dist/x402-opener/facilitator-entry.js +4 -1
  69. package/dist/x402-opener/facilitator-entry.js.map +1 -1
  70. package/dist/x402-opener/facilitator-server.d.ts +29 -0
  71. package/dist/x402-opener/facilitator-server.d.ts.map +1 -1
  72. package/dist/x402-opener/facilitator-server.js +67 -1
  73. package/dist/x402-opener/facilitator-server.js.map +1 -1
  74. package/dist/x402-opener/refund-relay.d.ts +30 -4
  75. package/dist/x402-opener/refund-relay.d.ts.map +1 -1
  76. package/dist/x402-opener/refund-relay.js +123 -22
  77. package/dist/x402-opener/refund-relay.js.map +1 -1
  78. package/dist/x402-opener/scheme.d.ts +79 -0
  79. package/dist/x402-opener/scheme.d.ts.map +1 -1
  80. package/dist/x402-opener/scheme.js +326 -40
  81. package/dist/x402-opener/scheme.js.map +1 -1
  82. package/dist/x402-opener/terms.d.ts +61 -1
  83. package/dist/x402-opener/terms.d.ts.map +1 -1
  84. package/dist/x402-opener/terms.js +94 -2
  85. package/dist/x402-opener/terms.js.map +1 -1
  86. package/docs/cli.md +87 -9
  87. package/docs/mcp-reference.md +18 -2
  88. package/docs/quickstart.md +3 -3
  89. package/docs/x402.md +150 -10
  90. package/package.json +3 -3
  91. package/src/cli/commands/claim.ts +167 -32
  92. package/src/cli/commands/pay.ts +150 -8
  93. package/src/cli/commands/reclaim.ts +25 -5
  94. package/src/cli/commands/refund.ts +231 -33
  95. package/src/cli/commands/status.ts +11 -1
  96. package/src/cli/commands/watch.ts +4 -0
  97. package/src/cli/context.ts +16 -0
  98. package/src/cli/deps.ts +37 -0
  99. package/src/cli/progress.ts +21 -2
  100. package/src/cli/run.ts +26 -13
  101. package/src/cli/status.ts +440 -43
  102. package/src/cli/wallet.ts +44 -7
  103. package/src/gateway/http-server.ts +96 -8
  104. package/src/gateway/x402-opener-mode.ts +234 -37
  105. package/src/mcp/server.ts +43 -11
  106. package/src/mcp/x402-tools.ts +171 -7
  107. package/src/sdk/client.ts +25 -0
  108. package/src/x402-buyer/pay.ts +41 -3
  109. package/src/x402-opener/facilitator-entry.ts +4 -1
  110. package/src/x402-opener/facilitator-server.ts +101 -1
  111. package/src/x402-opener/refund-relay.ts +150 -20
  112. package/src/x402-opener/scheme.ts +459 -41
  113. package/src/x402-opener/terms.ts +155 -2
@@ -1 +1 @@
1
- {"version":3,"file":"scheme.js","sourceRoot":"","sources":["../../src/x402-opener/scheme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheme.js","sourceRoot":"","sources":["../../src/x402-opener/scheme.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,51 @@ export interface OpenerTerms {
32
32
  /** Seconds. */
33
33
  readonly maxDuration: bigint;
34
34
  }
35
+ /**
36
+ * Which opener contract a factory deploys: `"stream"` (`X402StreamOpener`,
37
+ * 4-field terms, the whole payment funds a stream) or `"upfront"`
38
+ * (`X402UpfrontStreamOpener`, 6-field terms: a fixed `price` whose
39
+ * non-refundable `upfrontAmount` is paid to the seller at settlement and whose
40
+ * remainder funds a stream). Decided by WHICH configured factory a quote names,
41
+ * never by the wire fields alone.
42
+ */
43
+ export type OpenerKind = "stream" | "upfront";
44
+ /** `termsVersion` of each opener kind's `extra.metrikStreamOpener` (as the SDK checks it). */
45
+ export declare const OPENER_TERMS_VERSION: {
46
+ readonly stream: "stream-1";
47
+ readonly upfront: "upfront-1";
48
+ };
49
+ /**
50
+ * The 6-field terms of an `X402UpfrontStreamOpener` (metrik-contracts#54),
51
+ * mirroring the Solidity struct. Every field is committed by the `payTo`.
52
+ */
53
+ export interface UpfrontOpenerTerms extends OpenerTerms {
54
+ /** The exact x402 amount: the opener accepts this value and nothing else. */
55
+ readonly price: bigint;
56
+ /** NON-REFUNDABLE part paid to the seller (net of the protocol fee) at settlement. `<= price`. */
57
+ readonly upfrontAmount: bigint;
58
+ }
59
+ /** The refundable, metered part of an upfront opener's price (the stream deposit). */
60
+ export declare function upfrontRefundable(terms: UpfrontOpenerTerms): bigint;
61
+ /** True when an upfront opener opens no stream at all (`upfrontAmount == price`). */
62
+ export declare function isUpfrontOnly(terms: UpfrontOpenerTerms): boolean;
63
+ /**
64
+ * The upfront terms a gateway may quote: exactly the factory's
65
+ * `validateTerms` (via `@absol-labs/shared`'s `validateUpfrontTerms`, so a
66
+ * `payTo` no transaction can deploy is never quoted), a fixed non-zero price,
67
+ * and a metered part (`price - upfrontAmount`) the stream can actually earn
68
+ * (`<= ratePerSecond * maxDuration`) — the SDK buyer refuses anything else.
69
+ */
70
+ export declare function assertValidUpfrontTerms(terms: UpfrontOpenerTerms): void;
71
+ /** Solidity-tuple view of 6-field upfront terms for viem contract calls. */
72
+ export declare function upfrontTermsTuple(terms: UpfrontOpenerTerms): {
73
+ readonly operator: Address;
74
+ readonly serviceRef: Hex;
75
+ readonly ratePerSecond: bigint;
76
+ readonly maxDuration: bigint;
77
+ readonly price: bigint;
78
+ readonly upfrontAmount: bigint;
79
+ };
35
80
  /** JSON-safe projection of {@link OpenerTerms} plus the factory that prices them. */
36
81
  export interface OpenerTermsExtra {
37
82
  readonly factory: Address;
@@ -39,6 +84,12 @@ export interface OpenerTermsExtra {
39
84
  readonly serviceRef: Hex;
40
85
  readonly ratePerSecond: string;
41
86
  readonly maxDuration: string;
87
+ /** Upfront openers only: the exact price (base units). */
88
+ readonly price?: string;
89
+ /** Upfront openers only: the non-refundable per-call part (base units). */
90
+ readonly upfrontAmount?: string;
91
+ /** `stream-1` / `upfront-1`; optional, must match the factory's kind when present. */
92
+ readonly termsVersion?: string;
42
93
  /**
43
94
  * Informational only (metrik-agent#119): where the payer gets unearned money
44
95
  * back without ETH, as a template containing `{streamId}`. Never used for
@@ -70,14 +121,23 @@ export declare function maxEarnable(terms: OpenerTerms): bigint;
70
121
  */
71
122
  export declare function assertValidPrice(price: bigint, terms: OpenerTerms): void;
72
123
  export declare function termsToExtra(factory: Address, terms: OpenerTerms): OpenerTermsExtra;
124
+ /** The 402 `extra.metrikStreamOpener` terms of an upfront opener quote. */
125
+ export declare function upfrontTermsToExtra(factory: Address, terms: UpfrontOpenerTerms): OpenerTermsExtra;
73
126
  /**
74
127
  * Reads opener terms from an untrusted `PaymentRequirements.extra`. Every field
75
128
  * is re-validated; unknown keys under the opener object are rejected so the
76
- * wire shape cannot drift silently.
129
+ * wire shape cannot drift silently. `price` / `upfrontAmount` are returned as
130
+ * `upfront` when present (both or neither); whether they are REQUIRED or
131
+ * FORBIDDEN depends on the factory's kind, which only the caller knows.
77
132
  */
78
133
  export declare function termsFromExtra(extra: unknown): {
79
134
  readonly factory: Address;
80
135
  readonly terms: OpenerTerms;
136
+ readonly upfront?: {
137
+ readonly price: bigint;
138
+ readonly upfrontAmount: bigint;
139
+ };
140
+ readonly termsVersion?: string;
81
141
  };
82
142
  /** Chain id encoded in an `eip155:<id>` CAIP-2 identifier. Throws otherwise. */
83
143
  export declare function chainIdFromNetwork(network: string): number;
@@ -1 +1 @@
1
- {"version":3,"file":"terms.d.ts","sourceRoot":"","sources":["../../src/x402-opener/terms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terms.d.ts","sourceRoot":"","sources":["../../src/x402-opener/terms.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { InvalidUpfrontTermsError, validateUpfrontTerms, } from "@absol-labs/shared";
1
2
  import { getAddress, isAddress, isHex } from "viem";
2
3
  /**
3
4
  * Shared vocabulary of the x402 v2 escrow-opener path (metrik-agent#116).
@@ -32,6 +33,58 @@ const MAX_LINK_LENGTH = 2048;
32
33
  export const OPENER_EXTRA_KEY = "metrikStreamOpener";
33
34
  /** `uint64` ceiling for `maxDuration`. */
34
35
  const MAX_UINT64 = (1n << 64n) - 1n;
36
+ /** `termsVersion` of each opener kind's `extra.metrikStreamOpener` (as the SDK checks it). */
37
+ export const OPENER_TERMS_VERSION = {
38
+ stream: "stream-1",
39
+ upfront: "upfront-1",
40
+ };
41
+ /** The refundable, metered part of an upfront opener's price (the stream deposit). */
42
+ export function upfrontRefundable(terms) {
43
+ return terms.price - terms.upfrontAmount;
44
+ }
45
+ /** True when an upfront opener opens no stream at all (`upfrontAmount == price`). */
46
+ export function isUpfrontOnly(terms) {
47
+ return terms.price > 0n && terms.upfrontAmount === terms.price;
48
+ }
49
+ /**
50
+ * The upfront terms a gateway may quote: exactly the factory's
51
+ * `validateTerms` (via `@absol-labs/shared`'s `validateUpfrontTerms`, so a
52
+ * `payTo` no transaction can deploy is never quoted), a fixed non-zero price,
53
+ * and a metered part (`price - upfrontAmount`) the stream can actually earn
54
+ * (`<= ratePerSecond * maxDuration`) — the SDK buyer refuses anything else.
55
+ */
56
+ export function assertValidUpfrontTerms(terms) {
57
+ assertValidTerms(terms);
58
+ try {
59
+ validateUpfrontTerms({
60
+ operator: getAddress(terms.operator),
61
+ serviceRef: terms.serviceRef.toLowerCase(),
62
+ ratePerSecond: terms.ratePerSecond,
63
+ maxDuration: terms.maxDuration,
64
+ price: terms.price,
65
+ upfrontAmount: terms.upfrontAmount,
66
+ });
67
+ }
68
+ catch (error) {
69
+ throw new InvalidOpenerTermsError(error instanceof InvalidUpfrontTermsError || error instanceof Error
70
+ ? error.message
71
+ : String(error));
72
+ }
73
+ if (terms.price <= 0n) {
74
+ throw new InvalidOpenerTermsError("an upfront opener needs a fixed price > 0");
75
+ }
76
+ if (upfrontRefundable(terms) > maxEarnable(terms)) {
77
+ throw new InvalidOpenerTermsError(`the metered part ${upfrontRefundable(terms)} (price - upfrontAmount) exceeds ratePerSecond * maxDuration (${maxEarnable(terms)})`);
78
+ }
79
+ }
80
+ /** Solidity-tuple view of 6-field upfront terms for viem contract calls. */
81
+ export function upfrontTermsTuple(terms) {
82
+ return {
83
+ ...termsTuple(terms),
84
+ price: terms.price,
85
+ upfrontAmount: terms.upfrontAmount,
86
+ };
87
+ }
35
88
  /** True for an absolute http(s) URL of sane length. */
36
89
  export function isHttpLink(value) {
37
90
  if (typeof value !== "string" || value.length > MAX_LINK_LENGTH)
@@ -106,10 +159,25 @@ export function termsToExtra(factory, terms) {
106
159
  maxDuration: terms.maxDuration.toString(),
107
160
  };
108
161
  }
162
+ /** The 402 `extra.metrikStreamOpener` terms of an upfront opener quote. */
163
+ export function upfrontTermsToExtra(factory, terms) {
164
+ return {
165
+ factory: getAddress(factory),
166
+ termsVersion: OPENER_TERMS_VERSION.upfront,
167
+ operator: getAddress(terms.operator),
168
+ serviceRef: terms.serviceRef.toLowerCase(),
169
+ ratePerSecond: terms.ratePerSecond.toString(),
170
+ maxDuration: terms.maxDuration.toString(),
171
+ price: terms.price.toString(),
172
+ upfrontAmount: terms.upfrontAmount.toString(),
173
+ };
174
+ }
109
175
  /**
110
176
  * Reads opener terms from an untrusted `PaymentRequirements.extra`. Every field
111
177
  * is re-validated; unknown keys under the opener object are rejected so the
112
- * wire shape cannot drift silently.
178
+ * wire shape cannot drift silently. `price` / `upfrontAmount` are returned as
179
+ * `upfront` when present (both or neither); whether they are REQUIRED or
180
+ * FORBIDDEN depends on the factory's kind, which only the caller knows.
113
181
  */
114
182
  export function termsFromExtra(extra) {
115
183
  if (typeof extra !== "object" || extra === null) {
@@ -126,6 +194,9 @@ export function termsFromExtra(extra) {
126
194
  "serviceRef",
127
195
  "ratePerSecond",
128
196
  "maxDuration",
197
+ "price",
198
+ "upfrontAmount",
199
+ "termsVersion",
129
200
  "refundUrl",
130
201
  "docsUrl",
131
202
  ]);
@@ -156,7 +227,28 @@ export function termsFromExtra(extra) {
156
227
  maxDuration: parseUintString(record.maxDuration, "maxDuration"),
157
228
  };
158
229
  assertValidTerms(terms);
159
- return { factory: getAddress(factory), terms };
230
+ const termsVersion = record.termsVersion;
231
+ if (termsVersion !== undefined &&
232
+ (typeof termsVersion !== "string" || termsVersion.length > 64)) {
233
+ throw new InvalidOpenerTermsError("termsVersion must be a short string");
234
+ }
235
+ if ((record.price === undefined) !== (record.upfrontAmount === undefined)) {
236
+ throw new InvalidOpenerTermsError("price and upfrontAmount must be given together (an upfront opener's terms) or not at all");
237
+ }
238
+ const upfront = record.price === undefined
239
+ ? undefined
240
+ : {
241
+ price: parseUintString(record.price, "price"),
242
+ upfrontAmount: parseUintString(record.upfrontAmount, "upfrontAmount"),
243
+ };
244
+ return {
245
+ factory: getAddress(factory),
246
+ terms,
247
+ ...(upfront === undefined ? {} : { upfront }),
248
+ ...(termsVersion === undefined
249
+ ? {}
250
+ : { termsVersion: termsVersion }),
251
+ };
160
252
  }
161
253
  /** Chain id encoded in an `eip155:<id>` CAIP-2 identifier. Throws otherwise. */
162
254
  export function chainIdFromNetwork(network) {
@@ -1 +1 @@
1
- {"version":3,"file":"terms.js","sourceRoot":"","sources":["../../src/x402-opener/terms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terms.js","sourceRoot":"","sources":["../../src/x402-opener/terms.ts"],"names":[],"mappings":"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"}
package/docs/cli.md CHANGED
@@ -325,8 +325,8 @@ claim cannot be true. Every rendering of it is labelled unverified, in human out
325
325
  ### `metrik open`
326
326
 
327
327
  ```bash
328
- metrik open --service <serviceRef> --rate 0.000001 --budget 0.27 --duration 1h
329
- metrik open --service <serviceRef> --rate 1 --budget 270000 --duration 3600 --units atomic
328
+ metrik open --service <serviceRef> --rate 0.0001 --budget 0.36 --duration 1h
329
+ metrik open --service <serviceRef> --rate 100 --budget 360000 --duration 3600 --units atomic
330
330
  metrik open ... --dry-run
331
331
  ```
332
332
 
@@ -459,6 +459,21 @@ escrow that grace is 900 seconds and immutable. An operator who has earned but n
459
459
  loses it at that moment, and the only defence is to `metrik claim` before it — which
460
460
  requires knowing the deadline exists.
461
461
 
462
+ **A stream with nothing left for anyone reads as finished.** Once a stream has stopped
463
+ (closed, or past expiry) and the operator's claimed amount — or on V3 the proven
464
+ high-water — already covers the whole deposit, both buyer exits would revert
465
+ `NothingToReclaim`, so `reclaimed` stays `false` forever. `status` renders it the way it
466
+ renders a reclaimed stream: `buyer side finished`, the operator's settled / claimed /
467
+ unclaimed amounts, and none of the buyer-reclaimable, escape-hatch or deadline rows. The
468
+ JSON sets `buyerSideFinished: true` and `finalSettlement.finishedBy: "deposit-exhausted"`
469
+ (`"reclaimed"` for a reclaimed stream). An unreadable proven high-water never makes a
470
+ stream look finished.
471
+
472
+ **Proven value is stated from chain.** On V3, when the latest checkpoint no longer contains
473
+ the stream but `provenCumulativeOf` is non-zero, `verified accrual` states that proven
474
+ amount (read from the escrow) instead of "not checkpointed yet", and `operator claimable`
475
+ is what `claimProven` would pay (`claimableSource: "proven-on-chain"` in the JSON).
476
+
462
477
  StreamEscrowV2 has exactly two states, `active` and `closed`. There is no paused state
463
478
  and the CLI never renders one.
464
479
 
@@ -587,8 +602,8 @@ everyone who ran it. It is left out until that constraint lifts.
587
602
  ```bash
588
603
  metrik pay https://x402.example/transform --json '{"text":"# hi"}' --max-amount 0.1
589
604
  metrik pay <url> [--json <body> | --data <body>] [--method POST] [--header "K: V"] \
590
- --max-amount <usdc> [--max-rate <usdc/s>] [--max-duration <s>] [--min-duration <s>] \
591
- [--operator <address>] [--units atomic]
605
+ --max-amount <usdc> [--max-rate <usdc/s>] [--max-upfront <usdc>] [--max-duration <s>] \
606
+ [--min-duration <s>] [--operator <address>] [--units atomic]
592
607
  ```
593
608
 
594
609
  Pays any **x402 v2 `exact`** endpoint through `@absol-labs/sdk/x402`'s `payWithX402`,
@@ -598,6 +613,19 @@ authorization lifetime, a plain transfer to the seller refused). A Metrik seller
598
613
  payment opens an escrow stream with `deposit = price`; the seller earns
599
614
  `ratePerSecond x verified seconds`, capped at the deposit.
600
615
 
616
+ **Upfront ("minimum charge") quotes.** A seller may instead quote the upfront opener:
617
+ the price splits into a **non-refundable** per-call charge (`upfrontAmount`, paid to the
618
+ seller at settlement whatever is delivered) and a **refundable**, metered part (`price -
619
+ upfrontAmount`, escrowed as above — the most any refund can return). `metrik pay` prints
620
+ the split before it signs (`quote: … = … NON-REFUNDABLE per-call charge + … metered and
621
+ refundable`) and again in the result (`non-refundable` / `refundable` rows; JSON
622
+ `openerKind`, `price`, `upfrontAmount`, `refundableAmount`, `upfrontFee`, `upfrontOnly`).
623
+ `--max-upfront <usdc>` caps the non-refundable part (the SDK's `maxUpfrontAmount`;
624
+ default 0.10 USDC, `0` refuses any upfront charge, never above the price ceiling). When
625
+ `upfrontAmount == price` no stream opens: the payment is **final**, `streamId` is
626
+ `null`, and no refund or reclaim command is printed, because there is nothing to
627
+ refund.
628
+
601
629
  The payer needs **USDC only, no gas** (the facilitator's relayer submits the
602
630
  authorization). A Privy wallet cannot pay: its broker does not sign EIP-3009.
603
631
 
@@ -608,7 +636,7 @@ like `metrik open`, inside the SDK's `onQuote` hook, after the SDK's own checks
608
636
 
609
637
  | Mandate cap | Checked against |
610
638
  | ---------------------- | ---------------------------------------------- |
611
- | `maxPerStreamUsdc` | the quote's `amount` (= the deposit) |
639
+ | `maxPerStreamUsdc` | the quote's `amount` (the whole price) |
612
640
  | `maxTotalUsdc` | spent so far + `amount` |
613
641
  | `maxRatePerSecondUsdc` | `ratePerSecond` (how fast the seller can earn) |
614
642
  | `maxDurationSeconds` | `maxDuration` (the stream window) |
@@ -630,6 +658,8 @@ establishes the outcome on-chain (USDC `authorizationState`, the opener's
630
658
  `StreamOpenedFor` log for that nonce), exits `4`, and says whether the money left
631
659
  the payer — with the `streamId` and the recovery command when the stream is found.
632
660
  It never reports "nothing moved" unless the authorization was unused and expired.
661
+ For an upfront-only payment it says the money left the payer as a final, non-refundable
662
+ charge with nothing to recover.
633
663
 
634
664
  A quote naming a **legacy** deployment's factory (for example a seller still on
635
665
  StreamEscrowV2 after the default moved to V3) is refused by the SDK unless you pass
@@ -637,13 +667,18 @@ StreamEscrowV2 after the default moved to V3) is refused by the SDK unless you p
637
667
  escrow, and the printed recovery command carries `--escrow <legacy escrow>`.
638
668
 
639
669
  `--json <body>` is the request body (curl-style, sets `content-type: application/json`);
640
- a bare `--json` still selects JSON output, and both can be combined. The output is the
670
+ `--json-body <body>` is accepted as an alias (give the body once, with either). A bare
671
+ `--json` still selects JSON output, and both can be combined. The output is the
641
672
  response, the `streamId`, the opener, the deposit and rate, `minEarnSeconds` (after how
642
- many verified seconds nothing is left to reclaim) and the **refund URL**.
673
+ many verified seconds nothing is left to reclaim) and the **refund URL**. When the
674
+ facilitator's `PAYMENT-RESPONSE` header (relayed by the seller) carries the settlement
675
+ transaction hash, it is printed as `settlement tx` and returned as
676
+ `settlementTransaction` with `settlementTransactionSource: "PAYMENT-RESPONSE"`: the
677
+ facilitator's relayer broadcast it, not the payer, and the CLI reports it as given.
643
678
  **Refunds are not automatic** — see `metrik refund`.
644
679
 
645
680
  Exit codes: `2` usage (including no ceiling), `3` refused by the mandate or the SDK
646
- (nothing signed), `4` the settlement failed after signing (the error says whether the
681
+ (nothing signed, including an upfront part above `--max-upfront`), `4` the settlement failed after signing (the error says whether the
647
682
  authorization was used and how to cancel it; see [x402.md](./x402.md)).
648
683
 
649
684
  ### `metrik refund`
@@ -664,6 +699,26 @@ checked against the transaction receipt on the configured chain. `--refund-url`
664
699
  the full URL `metrik pay` printed, a `{streamId}` template or the relay's origin; it can
665
700
  also come from `METRIK_AGENT_REFUND_URL`.
666
701
 
702
+ `--close` needs the key that paid, and nothing else: it signs an off-chain EIP-712
703
+ `Close` message, so the key needs no ETH or USDC. It is skipped (nothing signed, no
704
+ wallet read) when the relay reports the stream already closed.
705
+
706
+ **An upfront-only payment has nothing to refund.** `metrik refund 0x000…000` (stream id
707
+ 0, what an upfront-only payment amounts to) prints "Nothing to refund" and exits `0`
708
+ without reading the chain, contacting a relay or signing anything; the JSON carries
709
+ `finished: true`, `finishedReason: "upfront-only"`, `nothingToRefund: true`. For a
710
+ partial-upfront payment the stream is refunded as usual, but only its deposit (`price -
711
+ upfrontAmount`) can come back.
712
+
713
+ **A finished recovery exits `0`.** When the stream is already closed and reclaimed, or
714
+ the relay reports nothing to reclaim (`409 nothing-to-reclaim`: the verified delivery
715
+ covers the whole deposit), `refund` says "Already finished … nothing to recover" and
716
+ exits `0`; the JSON carries `finished: true`, `finishedReason` (`reclaimed` or
717
+ `nothing-to-reclaim`), `nothingToRecover: true`, and `closeSkipped` / `reclaimSkipped`
718
+ naming why a requested step sent nothing. It never suggests a gas-spending recovery when
719
+ nothing is recoverable. Real failures (relay down, settlement window still open, wrong
720
+ payer) still exit `3`.
721
+
667
722
  Nothing is refunded automatically, and the relay is a convenience: a payer can always
668
723
  recover on-chain without it (`metrik close` as the payer, with gas; `metrik reclaim` by
669
724
  anyone).
@@ -696,6 +751,11 @@ reason`. The pre-flight **fails open**: a read that does not answer never blocks
696
751
  reclaim, because refusing to return a buyer's deposit over a dropped view call is worse
697
752
  than a wasted simulation.
698
753
 
754
+ **What `reclaim` prints for the operator.** The `operator entitled` row is the amount
755
+ the reclaim fixed as the operator's. No USDC moves to the operator at reclaim: the
756
+ operator claims it separately with `metrik claim`, and the protocol fee is taken at that
757
+ claim. `--json` keeps the field name `settledCumulative`.
758
+
699
759
  **`reclaim` waits, by design.** `reclaimWithProof` reverts with `SettlementWindowOpen`
700
760
  until a checkpoint whose `checkedAt` is at or after the stream's stop time has posted.
701
761
  That is the normal ordering of a checkpoint rail, not a fault — in practice the first
@@ -752,6 +812,21 @@ learn a fact that was already free. Same for a missing checkpoint: accrual lives
752
812
  oracle's proof, never in the stream tuple, so no proof means no claim is possible yet and
753
813
  the command says that instead of paying for `NothingToClaim()`.
754
814
 
815
+ **On StreamEscrowV3 it falls back to `claimProven` automatically.** The escrow keeps a
816
+ proven high-water (`provenCumulativeOf`) for every stream, and `claimProven` pays
817
+ `provenCumulative − claimedCumulative` (net of the fee) with no proof. That is the only
818
+ way to collect proven value whose checkpoint root has rotated out of the retained set (or
819
+ that a later root regressed below). `claim` asks the escrow what each path would pay
820
+ (`claimableFor` at the current proof's cumulative, and at the proven high-water), sends the
821
+ larger, and prefers `claimWithProof` on a tie because it also raises the high-water. When
822
+ both pay zero it exits `4` without broadcasting — "nothing to claim" when everything proven
823
+ is already claimed. The JSON names the path in `method` (`claimWithProof` / `claimProven`)
824
+ and adds `provenCumulative`; `verifiedCumulative` is `null` when there was no current proof.
825
+ There is no flag: `claimProven` pays only an amount already proven against a signed root
826
+ and recorded on-chain, to the same operator, under the same mandate check, so it can never
827
+ pay more than a proof claim could have — and an opt-in would leave a seller reading "nothing
828
+ provable" while their proven earnings sat stranded.
829
+
755
830
  ### `metrik reclaim-unverified`
756
831
 
757
832
  ```bash
@@ -816,7 +891,10 @@ wallet, mandate denied), `4` the operation failed.
816
891
  and the oracle fetch — an HTTP call the RPC transport does not cover — has its own 20s
817
892
  budget that names the endpoint when it expires. Any command still working after 8 seconds
818
893
  starts a heartbeat on stderr with the elapsed time, repeating every 10s, because with no
819
- output at all a slow endpoint and a wedged process are indistinguishable. The heartbeat is
894
+ output at all a slow endpoint and a wedged process are indistinguishable. While a command
895
+ is in a deliberate, announced wait — `reclaim` retrying until the oracle's next checkpoint
896
+ (`attempt n/N`), `refund` letting the relay wait out the settlement window, `watch`
897
+ polling — the heartbeat names that wait instead of blaming a slow RPC. The heartbeat is
820
898
  stderr in both modes, so `--json` stdout stays a single parseable document.
821
899
 
822
900
  Read paths time out; **broadcasts do not.** A transaction that has been sent may already be
@@ -170,7 +170,9 @@ substitute for it.
170
170
 
171
171
  Arguments: `url` (https; http only for localhost), optional `method`, `headers`,
172
172
  `body`, `maxAmountUsdc`, `maxRatePerSecondUsdc` (base units; these can only TIGHTEN
173
- the server mandate) and `minDurationSeconds`. Pays through `@absol-labs/sdk/x402`'s
173
+ the server mandate), `minDurationSeconds` and `maxUpfrontAmountUsdc` (the cap on the
174
+ non-refundable part of an upfront quote, passed to the SDK as `maxUpfrontAmount`;
175
+ default 100000 = 0.10 USDC, `"0"` refuses any upfront charge). Pays through `@absol-labs/sdk/x402`'s
174
176
  `payWithX402` with every SDK protection intact, and is gated exactly like
175
177
  `hire_verified_service`: the same server mandate, the same cumulative spend, the
176
178
  same per-owner serialization. The payment's opener terms are checked by
@@ -181,6 +183,16 @@ A caller-supplied `PAYMENT-SIGNATURE` / `X-PAYMENT` header is refused. The resul
181
183
  carries the response (bounded), `streamId`, `opener`, `refundUrl`, the deposit and
182
184
  rate, and `refundIsAutomatic: false`.
183
185
 
186
+ **Upfront ("minimum charge") quotes.** The price splits into a non-refundable per-call
187
+ charge (`upfrontAmount`, paid to the seller at settlement) and a metered, refundable
188
+ deposit (`price - upfrontAmount`). The mandate counts the WHOLE price as spend; the
189
+ upfront part is non-recoverable. The result describes the split (`openerKind`,
190
+ `priceUsdc`, `nonRefundableUsdc`, `refundableUsdc`, `upfrontFeeUsdc`, `upfrontOnly`) and
191
+ the stream record carries `nonRefundableUsdc`. An **upfront-only** payment
192
+ (`upfrontAmount == price`) opens no stream: `streamId` is `null`, no stream (and no
193
+ reservation) is recorded — only a non-stream charge that keeps counting against
194
+ `maxTotalUsdc` and shows in `list_streams` as such — and the payment is final.
195
+
184
196
  ### `refund_status` / `refund`
185
197
 
186
198
  Arguments: `streamId`, optional `refundUrl` (not needed for a stream this server
@@ -189,7 +201,11 @@ this wallet signs the opener's `Close`, authorized on the mandate owner's signat
189
201
  alone like `reclaim_unspent`) and `reclaim` (default `true`; the permissionless
190
202
  reclaim, the refund always goes to the payer). Every relay success is verified
191
203
  against the transaction receipt. A settlement window that is still open is reported
192
- with when to retry. Nothing is refunded automatically.
204
+ with when to retry. Nothing is refunded automatically. For an upfront-only payment —
205
+ `streamId` 0, or the charge key `x402_pay` recorded — both tools answer "nothing to
206
+ refund" (not an error) without contacting a relay or signing anything. The default
207
+ refund client is given read-only chain access, so it can prove an opener's kind
208
+ on-chain and sign an upfront opener's `Close` under its own EIP-712 domain.
193
209
 
194
210
  The three x402 tools are **opt-in**: set `METRIK_AGENT_X402=1` to register them
195
211
  (any other value, or none, leaves them off).