@hyperscale0/hsx 1.0.248 → 1.0.256

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/docs/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # HSX
2
2
 
3
+ Read [how Hyperscale fits](https://hyperscale0.ai/docs/runtime.md#how-hyperscale-fits) for provider authority and the shared operation API.
4
+
3
5
  HSX composes a company's objects, agreements and actions into a typed program.
4
6
  A repair approval can change state without moving money. A rental can collect a
5
7
  deposit and refund it under declared rules. Headers supply reusable instruments;
@@ -299,44 +301,6 @@ with typed input in the same transaction.
299
301
  The compiler removes branches excluded by fixed enum tunables. An invalid program reports its source line
300
302
  and a correction. No artifact is returned with diagnostics.
301
303
 
302
- ## Financing policies
303
-
304
- `financing.installments` keeps principal and fixed profit as claims from
305
- activation. The company chooses how profit is priced, where funding goes and when
306
- profit becomes earned. All choices use accounts, calculations and moves in the same
307
- two books.
308
-
309
- `pricing` has no default, so every plan states it. `amortizing` reads
310
- `profit_rate` as an annual rate on the declining balance: equal monthly
311
- instalments from standard annuity maths, interest and instalment rounded half up,
312
- the last instalment absorbing the rounding. 12,000 SAR at 18% over 12 months is
313
- 11 instalments of 1,100.16 SAR and a last one of 1,100.19 SAR, 13,201.95 SAR in
314
- total. `flat_total` reads `profit_rate` as one charge on principal for the whole
315
- term, rounded down and split evenly with the remainder in position 1: murabaha and
316
- fixed-fee pay-later. The same 12,000 SAR at 18% `flat_total` costs 14,160 SAR.
317
-
318
- | Tunable | Default | Selected behavior |
319
- | ---------------------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
320
- | `disburse_to` | `funds` | `funds` pays down payment and principal into the hold and confirms it. `borrower` credits principal to the borrower's balance. `seller` pays principal to the `seller` party at activation; after capital refunds every paid payment, capital's `unwind` debits it back from the seller and cancels open slices. |
321
- | `profit_earned` | `on_payment` | `on_payment` collects unearned profit on payment. `by_schedule` moves unearned claims to earned claims at each slice's date. `at_disbursement` makes that move at activation. Cash arrives only on payment. |
322
- | `apply` | `fines_profit_principal` | Visit each slice in position order; within that slice collect assessed fines by overdue date, evidenced costs, profit, then principal. `principal_profit` collects each slice in position order, principal before profit. `pro_rata` uses the slice's fixed principal:profit ratio (its own principal and profit under `amortizing`), caps each side by its collectible balance, and assigns the remainder without stranding cash. |
323
- | `payoff_rebate` | `100%` | Reverse this share of unearned profit to borrower debt. Collect the remainder and all earned profit with outstanding principal. |
324
- | `late_charge.fines_to` | `programOperator` | Receive fine cash and fund its refunds. |
325
- | `late_charge.costs_to` | `programOperator` | Receive evidenced recovery cash and fund its refunds. |
326
- | `collections.case.fee` | `20%` | After payment succeeds, transfer this share of the payment amount from plan capital to the agency. |
327
- | `lending.distribution.residual_to` | `programOperator` | Receive the cash remainder and own the claim loss remainder after weighted distribution. |
328
-
329
- Each slice owns separate unearned and earned claim accounts. Scheduled recognition
330
- uses a dated child record so a partial payment cannot disable the maturity clock.
331
- A normal payment collects only earned profit for the schedule and disbursement
332
- choices; payoff can also collect non-rebated unearned profit. Partial fines and
333
- costs stay assessed until their receivable reaches zero. Immutable receipts let
334
- a refund restore only what that payment collected. The plan's payment receipt
335
- records actual principal and profit after all ordered collections finish.
336
- Write-off moves principal and earned profit claims to loss and reverses unearned
337
- profit to debt. `write_off_after` sets how long a slice must be overdue before a capital-authorized
338
- write-off request can apply. There is no provision policy.
339
-
340
304
  ## Header branches and bounds
341
305
 
342
306
  A header may select action clauses at compile time:
@@ -416,28 +380,6 @@ On refusal, inspect `result.diagnostics`; no artifact is returned.
416
380
  [object example](../examples/library.hsx) shows authenticated role bindings.
417
381
  The [playground](https://hyperscale0.ai/playground/) compiles locally in the browser.
418
382
 
419
- ## Standard-library behavior
420
-
421
- Read the instrument's states, time gates and moves before promising a money
422
- outcome. A compiler pass does not prove that required actions are exposed,
423
- adapters are bound, participants have funds, or the flow can finish.
424
-
425
- | Instrument | Behavior |
426
- | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
427
- | `financing.installments` | `share` allocates collected profit to a cash payable owned by `capital`. It does not itself pay operator income. |
428
- | `financing.limits` | `per_borrower` caps outstanding principal. Both borrower and portfolio limits must be approved before disbursement; attaching them does not approve them. |
429
- | `lending.round` | The target is the linked plan's principal. Closing requires commitments and held funds to equal that amount. |
430
- | `lending.distribution` | Cash distribution needs an eligible recorded settlement, `prepare_cash`, one share record per funded commitment, then `distribute_cash`. Attaching it moves nothing. |
431
- | `insurance.cover.slice` | `collect` credits premium net of commission to the insurer account. The tenant retains commission. `refund` returns both portions; claims reserve insurer funds. External settlement uses the boundary protocol. |
432
- | `financing.installments`, `savings.circle` | Supply explicit date lists when creating agreements. A term count does not generate a monthly calendar. Savings supports at most 60 distinct member seats. |
433
- | `escrow.hold` | `fund` takes the whole price. Financing into pending escrow collects the remaining down payment and adds capital principal at disbursement; `fund` is not a down-payment checkout. |
434
- | `escrow.hold` | Acceptance timeout enters `disputed` without paying the seller. Delivery and return verification belong to `payee`; rebinding it also changes who receives accepted funds. |
435
- | `escrow.hold` | `deliver_within` (default `14d`) starts at funding. After it passes without delivery, an exposed `refund_undelivered` lets the payer take the whole held price back. Nothing runs it automatically. |
436
- | `wallet.balance` | `topup_fee` (default `0%`) takes a floored percentage of each top-up for the Company. At `1%`, a 100.00 top-up credits 99.00 and earns 1.00. |
437
- | `booking.reservation` | The balance is payable only from `deposit_paid`, so a cancelled booking never takes it. `middle_forfeit` and `late_forfeit` default to `0%`, so every cancellation returns all held money until the author sets them. At departure the clock completes a paid booking and lapses an unpaid one on `late_forfeit`. |
438
- | `financing.late_charge` | `fine` is a fixed money amount, not a percentage of overdue principal. |
439
- | `cards.card` | `spend_limit` is a per-authorization ceiling, not a monthly aggregate. Bind `person` to the cardholder's `holder`, such as `person: actor`; create refuses any other party. The person freezes, unfreezes and cancels; the issuer uses `issuer_freeze`, `issuer_unfreeze` and `issuer_cancel`, and only `issuer_unfreeze` lifts a block. |
440
-
441
383
  A seller-owned marketplace object can declare `entryActions: [create_order]`
442
384
  when `create_order` exposes an attachment's create action with its buyer bound
443
385
  to `actor`. This admits active enrolled customers to that action. The default
@@ -465,11 +407,9 @@ the bound party accounts. The aggregate caps still apply across all plans.
465
407
  The account primitive creates it automatically and shares it across the Product.
466
408
  Zero-tax escrow releases need no additional party setup.
467
409
 
468
- The financing, collections and lending samples expose payment creation, payment,
469
- refund and payoff quotes through the object's existing action routes. Record
470
- actions are private: the parent still runs them, but a caller sees one only
471
- after the program exposes it. A child alias names the full attachment path, for
472
- example:
410
+ A child action uses the object's existing operation routes. A caller sees it
411
+ only after the program exposes it; admission still checks authority, state and
412
+ provider evidence. A child alias names the full attachment path, for example:
473
413
 
474
414
  ```hsx
475
415
  expose enrolment.tuition.payment.create as create_payment
@@ -484,72 +424,12 @@ same object. The caller must satisfy the header's actor rule. Parties bind from
484
424
  the session and object ownership. Retry the same request with the same
485
425
  Idempotency-Key to retrieve its result without moving money again.
486
426
 
487
- Supply payment amount and identity at creation. Pass the quote instance as the
488
- parent payoff's `quote` input. For a late charge on a multi-instalment plan, select
489
- the overdue child with the creation input `slice`. Repayment uses the declared
490
- allocation order and payoff rebate; aliases do not change those terms.
491
-
492
- The [lending sample](../examples/lending.hsx) also exposes share creation. Callers
493
- still need dates, agreement inputs, funded wallets and eligible settlements.
494
427
  Every agreement reference is an optional creation input on an exposed create.
495
428
  With one matching agreement on the object the engine picks it; with several,
496
429
  such as a plan's slices or a lending round's settlements, the caller passes the
497
430
  chosen instance ID under the reference's name.
498
- Insurance needs premium-slice records and actions. Savings needs dated
499
- contribution records. Read each header's creation and lifecycle requirements.
500
-
501
- ## Checkout and reversals
502
-
503
- For financed checkout, expose `installments.collect_down_payment` after `create`
504
- and `sign`. It credits the linked pending escrow with the missing down payment.
505
- It does not disburse principal or activate the plan. The later `disburse` action
506
- uses that credit before collecting any remainder. Borrower-directed financing
507
- has no checkout collection action. The plan and escrow must agree on payer and
508
- price.
509
-
510
- Expose escrow `cancel` to return money credited before full funding. Plan `void`
511
- cancels the signed financing agreement but does not cancel its escrow. Between
512
- funding and delivery, the payee's `refund` returns the full price. After
513
- delivery, the default return path needs three separate aliases for
514
- `dispute`, `verify_return` and `refund`. The payee supplies return evidence and
515
- returns the full price to the payer. `accept` pays the payee instead.
516
- Marketplace order fulfillment alone does not execute any of these money actions.
517
-
518
- Expose `late_charge.create` to create an assessment with matching plan, slice
519
- and borrower. Only that existing assessment can reach clock-owned `assess` after
520
- grace. A payment can collect part of a fine without settling the rest. A recovery
521
- cost assessment is a separate record.
522
-
523
- ## Separate payments and states
524
-
525
- Bind `insurance.cover.broker` to the agency that receives commission. Collection
526
- pays the insurer's net premium and the broker's commission as two moves. Refunds
527
- reverse those same portions. The default broker, `programOperator`, is the
528
- Product's own company and needs no binding.
529
- `claim.deny` accepts only `submitted`; after approval, `pay` or expiry consumes
530
- the reservation. `claim_limit` is the sum insured, supplied per cover at creation:
531
- approved and paid claims on one cover never total more. `adapter` names a
532
- registered boundary adapter, `conformance_boundary` in sandbox. `covers` is
533
- optional; the attached object is already the insured thing.
534
-
535
- A booking cancellation refunds only its own held cash. Expose `cover.cancel`
536
- separately for eligible premium refunds before the paid period starts. Active
537
- and expired premium periods are excluded. A card transaction needs a captured
538
- authorization and its own record before refund, but no authorization-expiry wait.
539
-
540
- A booking runs two clock actions at departure. `complete` takes a `paid`
541
- booking and pays the held money to `operator`. `lapse` takes a booking still
542
- `reserved` or `deposit_paid` to `cancelled`: `operator` keeps `late_forfeit` of
543
- the held money and the customer gets the rest back. An unpaid balance at
544
- departure therefore costs the customer the same as `cancel_late`, and with the
545
- default `0%` it costs nothing. Nothing stays held after departure.
546
-
547
- A savings membership becomes `received` after its pot payout. Its contribution
548
- records become `paid` independently. Future contributions can remain pending
549
- after the member receives the pot; paying a contribution does not advance their
550
- payout seat. Late contributions remain eligible while the membership is
551
- `active` or `received` and the circle is `active`. These guards do not promise
552
- scheduler retries or permit a payout larger than the available cash.
431
+ Read each header's creation and lifecycle requirements. Financial decisions
432
+ come from a provider or the tenant's people; a header records their result.
553
433
 
554
434
  ## Posted economics in the money flows
555
435
 
@@ -162,497 +162,5 @@
162
162
  }
163
163
  ],
164
164
  "version": "2026-09-27.1"
165
- },
166
- {
167
- "currency": "USD",
168
- "declaredMeters": [
169
- "account.active_month",
170
- "instrument.event.count",
171
- "transfer.internal.count"
172
- ],
173
- "effectiveTableDigest": "f2845819ad077745ed5d0af924b33f34210b20da703522e78aa2629d9be5040e",
174
- "fixed": {
175
- "activationBaseMinor": "133300",
176
- "activationPerPointMinor": "2700",
177
- "monthlyBaseMinor": "26700",
178
- "monthlyPerPointMinor": "500",
179
- "weights": {
180
- "aggregate_invariant": 2,
181
- "flow": 1,
182
- "gate": 1,
183
- "instrument": 3,
184
- "move": 3,
185
- "provider_decision": 5,
186
- "timer": 1,
187
- "unwind": 4
188
- }
189
- },
190
- "rows": [
191
- {
192
- "bps": 0,
193
- "meter": "instrument.event.count",
194
- "payer": "product",
195
- "perEventMinor": "0",
196
- "settlement": "invoice",
197
- "signature": "calculate"
198
- },
199
- {
200
- "bps": 0,
201
- "meter": "instrument.event.count",
202
- "payer": "product",
203
- "perEventMinor": "0",
204
- "settlement": "invoice",
205
- "signature": "clock.deadline"
206
- },
207
- {
208
- "bps": 0,
209
- "meter": "instrument.event.count",
210
- "payer": "product",
211
- "perEventMinor": "0",
212
- "settlement": "invoice",
213
- "signature": "clock.due"
214
- },
215
- {
216
- "bps": 0,
217
- "meter": "instrument.event.count",
218
- "payer": "product",
219
- "perEventMinor": "0",
220
- "settlement": "invoice",
221
- "signature": "holds.reserve"
222
- },
223
- {
224
- "bps": 0,
225
- "meter": "instrument.event.count",
226
- "payer": "product",
227
- "perEventMinor": "0",
228
- "settlement": "invoice",
229
- "signature": "invoke"
230
- },
231
- {
232
- "bps": 0,
233
- "meter": "account.active_month",
234
- "payer": "product",
235
- "perEventMinor": "133",
236
- "settlement": "invoice",
237
- "signature": "meters.account.active_month"
238
- },
239
- {
240
- "bps": 0,
241
- "meter": "instrument.event.count",
242
- "payer": "product",
243
- "perEventMinor": "7",
244
- "settlement": "invoice",
245
- "signature": "meters.instrument.event.count"
246
- },
247
- {
248
- "bps": 0,
249
- "meter": "transfer.internal.count",
250
- "payer": "product",
251
- "perEventMinor": "7",
252
- "settlement": "invoice",
253
- "signature": "meters.transfer.internal.count"
254
- },
255
- {
256
- "bps": 0,
257
- "meter": "instrument.event.count",
258
- "payer": "product",
259
- "perEventMinor": "0",
260
- "settlement": "invoice",
261
- "signature": "moves.transfer.internal"
262
- },
263
- {
264
- "bps": 0,
265
- "meter": "instrument.event.count",
266
- "payer": "product",
267
- "perEventMinor": "0",
268
- "settlement": "invoice",
269
- "signature": "reminder.email"
270
- },
271
- {
272
- "bps": 0,
273
- "meter": "instrument.event.count",
274
- "payer": "product",
275
- "perEventMinor": "0",
276
- "settlement": "invoice",
277
- "signature": "requires.aggregate"
278
- },
279
- {
280
- "bps": 0,
281
- "meter": "instrument.event.count",
282
- "payer": "product",
283
- "perEventMinor": "0",
284
- "settlement": "invoice",
285
- "signature": "requires.compare"
286
- },
287
- {
288
- "bps": 0,
289
- "meter": "instrument.event.count",
290
- "payer": "product",
291
- "perEventMinor": "0",
292
- "settlement": "invoice",
293
- "signature": "requires.evidence"
294
- },
295
- {
296
- "bps": 0,
297
- "meter": "instrument.event.count",
298
- "payer": "product",
299
- "perEventMinor": "0",
300
- "settlement": "invoice",
301
- "signature": "requires.hours"
302
- },
303
- {
304
- "bps": 0,
305
- "meter": "instrument.event.count",
306
- "payer": "product",
307
- "perEventMinor": "0",
308
- "settlement": "invoice",
309
- "signature": "requires.state"
310
- },
311
- {
312
- "bps": 0,
313
- "meter": "instrument.event.count",
314
- "payer": "product",
315
- "perEventMinor": "0",
316
- "settlement": "invoice",
317
- "signature": "requires.unique"
318
- },
319
- {
320
- "bps": 0,
321
- "meter": "instrument.event.count",
322
- "payer": "product",
323
- "perEventMinor": "0",
324
- "settlement": "invoice",
325
- "signature": "unwinds.void"
326
- }
327
- ],
328
- "version": "2026-09-27.1"
329
- },
330
- {
331
- "currency": "EUR",
332
- "declaredMeters": [
333
- "account.active_month",
334
- "instrument.event.count",
335
- "transfer.internal.count"
336
- ],
337
- "effectiveTableDigest": "f741132e1aa38a860d855a83f20f12c0ec8a7ec5379117c407799e2012e63335",
338
- "fixed": {
339
- "activationBaseMinor": "125000",
340
- "activationPerPointMinor": "2500",
341
- "monthlyBaseMinor": "25000",
342
- "monthlyPerPointMinor": "500",
343
- "weights": {
344
- "aggregate_invariant": 2,
345
- "flow": 1,
346
- "gate": 1,
347
- "instrument": 3,
348
- "move": 3,
349
- "provider_decision": 5,
350
- "timer": 1,
351
- "unwind": 4
352
- }
353
- },
354
- "rows": [
355
- {
356
- "bps": 0,
357
- "meter": "instrument.event.count",
358
- "payer": "product",
359
- "perEventMinor": "0",
360
- "settlement": "invoice",
361
- "signature": "calculate"
362
- },
363
- {
364
- "bps": 0,
365
- "meter": "instrument.event.count",
366
- "payer": "product",
367
- "perEventMinor": "0",
368
- "settlement": "invoice",
369
- "signature": "clock.deadline"
370
- },
371
- {
372
- "bps": 0,
373
- "meter": "instrument.event.count",
374
- "payer": "product",
375
- "perEventMinor": "0",
376
- "settlement": "invoice",
377
- "signature": "clock.due"
378
- },
379
- {
380
- "bps": 0,
381
- "meter": "instrument.event.count",
382
- "payer": "product",
383
- "perEventMinor": "0",
384
- "settlement": "invoice",
385
- "signature": "holds.reserve"
386
- },
387
- {
388
- "bps": 0,
389
- "meter": "instrument.event.count",
390
- "payer": "product",
391
- "perEventMinor": "0",
392
- "settlement": "invoice",
393
- "signature": "invoke"
394
- },
395
- {
396
- "bps": 0,
397
- "meter": "account.active_month",
398
- "payer": "product",
399
- "perEventMinor": "125",
400
- "settlement": "invoice",
401
- "signature": "meters.account.active_month"
402
- },
403
- {
404
- "bps": 0,
405
- "meter": "instrument.event.count",
406
- "payer": "product",
407
- "perEventMinor": "6",
408
- "settlement": "invoice",
409
- "signature": "meters.instrument.event.count"
410
- },
411
- {
412
- "bps": 0,
413
- "meter": "transfer.internal.count",
414
- "payer": "product",
415
- "perEventMinor": "6",
416
- "settlement": "invoice",
417
- "signature": "meters.transfer.internal.count"
418
- },
419
- {
420
- "bps": 0,
421
- "meter": "instrument.event.count",
422
- "payer": "product",
423
- "perEventMinor": "0",
424
- "settlement": "invoice",
425
- "signature": "moves.transfer.internal"
426
- },
427
- {
428
- "bps": 0,
429
- "meter": "instrument.event.count",
430
- "payer": "product",
431
- "perEventMinor": "0",
432
- "settlement": "invoice",
433
- "signature": "reminder.email"
434
- },
435
- {
436
- "bps": 0,
437
- "meter": "instrument.event.count",
438
- "payer": "product",
439
- "perEventMinor": "0",
440
- "settlement": "invoice",
441
- "signature": "requires.aggregate"
442
- },
443
- {
444
- "bps": 0,
445
- "meter": "instrument.event.count",
446
- "payer": "product",
447
- "perEventMinor": "0",
448
- "settlement": "invoice",
449
- "signature": "requires.compare"
450
- },
451
- {
452
- "bps": 0,
453
- "meter": "instrument.event.count",
454
- "payer": "product",
455
- "perEventMinor": "0",
456
- "settlement": "invoice",
457
- "signature": "requires.evidence"
458
- },
459
- {
460
- "bps": 0,
461
- "meter": "instrument.event.count",
462
- "payer": "product",
463
- "perEventMinor": "0",
464
- "settlement": "invoice",
465
- "signature": "requires.hours"
466
- },
467
- {
468
- "bps": 0,
469
- "meter": "instrument.event.count",
470
- "payer": "product",
471
- "perEventMinor": "0",
472
- "settlement": "invoice",
473
- "signature": "requires.state"
474
- },
475
- {
476
- "bps": 0,
477
- "meter": "instrument.event.count",
478
- "payer": "product",
479
- "perEventMinor": "0",
480
- "settlement": "invoice",
481
- "signature": "requires.unique"
482
- },
483
- {
484
- "bps": 0,
485
- "meter": "instrument.event.count",
486
- "payer": "product",
487
- "perEventMinor": "0",
488
- "settlement": "invoice",
489
- "signature": "unwinds.void"
490
- }
491
- ],
492
- "version": "2026-09-27.1"
493
- },
494
- {
495
- "currency": "GBP",
496
- "declaredMeters": [
497
- "account.active_month",
498
- "instrument.event.count",
499
- "transfer.internal.count"
500
- ],
501
- "effectiveTableDigest": "12ed3fa44010e80ae20c114d7dd94f277686225c040576a8bb96d12a0fe5333a",
502
- "fixed": {
503
- "activationBaseMinor": "104200",
504
- "activationPerPointMinor": "2100",
505
- "monthlyBaseMinor": "20800",
506
- "monthlyPerPointMinor": "400",
507
- "weights": {
508
- "aggregate_invariant": 2,
509
- "flow": 1,
510
- "gate": 1,
511
- "instrument": 3,
512
- "move": 3,
513
- "provider_decision": 5,
514
- "timer": 1,
515
- "unwind": 4
516
- }
517
- },
518
- "rows": [
519
- {
520
- "bps": 0,
521
- "meter": "instrument.event.count",
522
- "payer": "product",
523
- "perEventMinor": "0",
524
- "settlement": "invoice",
525
- "signature": "calculate"
526
- },
527
- {
528
- "bps": 0,
529
- "meter": "instrument.event.count",
530
- "payer": "product",
531
- "perEventMinor": "0",
532
- "settlement": "invoice",
533
- "signature": "clock.deadline"
534
- },
535
- {
536
- "bps": 0,
537
- "meter": "instrument.event.count",
538
- "payer": "product",
539
- "perEventMinor": "0",
540
- "settlement": "invoice",
541
- "signature": "clock.due"
542
- },
543
- {
544
- "bps": 0,
545
- "meter": "instrument.event.count",
546
- "payer": "product",
547
- "perEventMinor": "0",
548
- "settlement": "invoice",
549
- "signature": "holds.reserve"
550
- },
551
- {
552
- "bps": 0,
553
- "meter": "instrument.event.count",
554
- "payer": "product",
555
- "perEventMinor": "0",
556
- "settlement": "invoice",
557
- "signature": "invoke"
558
- },
559
- {
560
- "bps": 0,
561
- "meter": "account.active_month",
562
- "payer": "product",
563
- "perEventMinor": "104",
564
- "settlement": "invoice",
565
- "signature": "meters.account.active_month"
566
- },
567
- {
568
- "bps": 0,
569
- "meter": "instrument.event.count",
570
- "payer": "product",
571
- "perEventMinor": "5",
572
- "settlement": "invoice",
573
- "signature": "meters.instrument.event.count"
574
- },
575
- {
576
- "bps": 0,
577
- "meter": "transfer.internal.count",
578
- "payer": "product",
579
- "perEventMinor": "5",
580
- "settlement": "invoice",
581
- "signature": "meters.transfer.internal.count"
582
- },
583
- {
584
- "bps": 0,
585
- "meter": "instrument.event.count",
586
- "payer": "product",
587
- "perEventMinor": "0",
588
- "settlement": "invoice",
589
- "signature": "moves.transfer.internal"
590
- },
591
- {
592
- "bps": 0,
593
- "meter": "instrument.event.count",
594
- "payer": "product",
595
- "perEventMinor": "0",
596
- "settlement": "invoice",
597
- "signature": "reminder.email"
598
- },
599
- {
600
- "bps": 0,
601
- "meter": "instrument.event.count",
602
- "payer": "product",
603
- "perEventMinor": "0",
604
- "settlement": "invoice",
605
- "signature": "requires.aggregate"
606
- },
607
- {
608
- "bps": 0,
609
- "meter": "instrument.event.count",
610
- "payer": "product",
611
- "perEventMinor": "0",
612
- "settlement": "invoice",
613
- "signature": "requires.compare"
614
- },
615
- {
616
- "bps": 0,
617
- "meter": "instrument.event.count",
618
- "payer": "product",
619
- "perEventMinor": "0",
620
- "settlement": "invoice",
621
- "signature": "requires.evidence"
622
- },
623
- {
624
- "bps": 0,
625
- "meter": "instrument.event.count",
626
- "payer": "product",
627
- "perEventMinor": "0",
628
- "settlement": "invoice",
629
- "signature": "requires.hours"
630
- },
631
- {
632
- "bps": 0,
633
- "meter": "instrument.event.count",
634
- "payer": "product",
635
- "perEventMinor": "0",
636
- "settlement": "invoice",
637
- "signature": "requires.state"
638
- },
639
- {
640
- "bps": 0,
641
- "meter": "instrument.event.count",
642
- "payer": "product",
643
- "perEventMinor": "0",
644
- "settlement": "invoice",
645
- "signature": "requires.unique"
646
- },
647
- {
648
- "bps": 0,
649
- "meter": "instrument.event.count",
650
- "payer": "product",
651
- "perEventMinor": "0",
652
- "settlement": "invoice",
653
- "signature": "unwinds.void"
654
- }
655
- ],
656
- "version": "2026-09-27.1"
657
165
  }
658
166
  ]