xytara 3.9.6 → 3.9.7
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/RELEASE_NOTES.md +10 -4
- package/package.json +1 -1
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
`xytara` 3.9.
|
|
1
|
+
`xytara` 3.9.7 adds sub-cent pricing and closes several ways to pay less than a call's price.
|
|
2
2
|
|
|
3
|
-
- **
|
|
4
|
-
- **
|
|
5
|
-
- **
|
|
3
|
+
- **Sub-cent prices** — provider offers can be priced from $0.001 to $100.00 in $0.001 steps. The price is held exactly in USDC base units (`price_atomic`, `amount_atomic`; 1 cent = 10000) through the quote, the x402 challenge, credits and the provider ledger; nothing is rounded through cents.
|
|
4
|
+
- **x402 per-payment minimum** — one x402 payment for a provider tool is at least `XYTARA_X402_MIN_PER_CALL_ATOMIC` (default 5000 = $0.005), which covers the facilitator's per-settlement fee. The 402, the catalog and the MCP tool text say so, and prepaid credits pay the exact price (at least 1 credit). The provider's share is always computed on its own price.
|
|
5
|
+
- **Exact provider ledger** — shares accrue exactly in base units (a $0.001 call at 80% earns $0.0008); existing balances carry over exactly; payouts still move whole cents and keep the remainder. A sub-cent balance blocks removal like any other.
|
|
6
|
+
- **Cents rails** — native signed, BOLT, L402, MPP and Stripe checkout refuse a sub-cent amount instead of rounding it, and L402 / BOLT refuse calls an open-network provider runs before issuing any invoice (their fixed sat price is not bound to the quote). Gateway-signed L402 / BOLT payments accrue the quote they are bound to.
|
|
7
|
+
- **Paying less than the price, closed** — a stored `quote_id` only pays for the request it priced (otherwise 409 `quote_request_mismatch`), quotes live at most 15 minutes, credits must be whole units and a caller cannot declare fewer than the price of real work (400 `credit_units_below_price`), a provider tool cannot ride a multi-task call (400 `multi_task_provider_call_unsupported`), and testnet USDC never buys work an open-network provider runs or accrues a share.
|
|
8
|
+
- **Routing** — a third-party provider that declares `tool_names` serves exactly those tools; a lane-wide third party does not claim named tools on a lane the operator's own provider serves; built-in integration ids never route to a third party; first-party provider ids are reserved for the operator; an offer-priced call runs on the provider that priced it first; when another provider runs it after failover, that provider earns on no more than its own price.
|
|
9
|
+
- **Records** — payment records carry `amount_atomic` and `settled_amount_atomic`; ledger cents totals are derived from base units (no drift).
|
|
10
|
+
- **Provider names** — an unregistered ENS name reports the payee-name spec's `not registered` detail.
|
|
11
|
+
- **MCP executor** — provider tools show their exact price, the x402 per-payment amount when the minimum applies (`pricing.per_call_usd` is what the challenge settles; `offer_price_usd` is the provider's price), and the discovery range only uses amounts the runtime accepts on that network.
|
|
6
12
|
- Client package (thin): unchanged.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xytara",
|
|
3
|
-
"version": "3.9.
|
|
3
|
+
"version": "3.9.7",
|
|
4
4
|
"description": "Client for the hosted naxytra runtime: discover a capability, pay per call with x402 (gasless USDC on Base) or credits, get the deliverable and a signed delivery receipt you can verify offline. The runtime is a hosted service; this package is the client.",
|
|
5
5
|
"main": "client.js",
|
|
6
6
|
"exports": {
|