@aifinpay/skill 2.10.1 → 2.10.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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aifinpay",
|
|
3
3
|
"description": "Payment rail for AI agents: pay for x402 APIs or charge agents for yours.",
|
|
4
|
-
"version": "2.10.
|
|
4
|
+
"version": "2.10.2",
|
|
5
5
|
"author": { "name": "AiFinPay Support" },
|
|
6
6
|
"homepage": "https://aifinpay.io",
|
|
7
7
|
"repository": "https://github.com/AiFinPay/skill",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
## 2.10.2 — funding at today's rate, working limits in the dashboard
|
|
2
|
+
|
|
3
|
+
- Payer guide: step 4 no longer names a POL amount or a POL/USD rate. The
|
|
4
|
+
amount to fund is what `payment_setup_status` prices in `funding` (MCP
|
|
5
|
+
2.11.3): the smallest batch at today's rate plus the gas cap. When no rate
|
|
6
|
+
can be read, the agent asks the owner for "the batch price in POL at
|
|
7
|
+
today's rate plus the gas cap" and names no number. On 2026-10-19 one
|
|
8
|
+
`$0.10` batch was 1.08 POL while the guide still said 0.5.
|
|
9
|
+
- Payer guide: the env USD values are a ceiling the owner sets once (the
|
|
10
|
+
example block shows `5` and `20` and says they are not a budget); the
|
|
11
|
+
working limits — per-payment cap, daily cap, pause, allowed sites — are the
|
|
12
|
+
dashboard Controls once the agent is claimed with `agent_claim_self`,
|
|
13
|
+
enforced by the backend on every quote and payment. The "link it to the
|
|
14
|
+
owner's dashboard" section says so instead of telling the agent to keep the
|
|
15
|
+
limits in its configuration.
|
|
16
|
+
- Release target MCP 2.11.3 / Node SDK 2.9.0; published baseline checked
|
|
17
|
+
2026-10-19 (MCP 2.11.2, Node SDK 2.8.0).
|
|
18
|
+
|
|
1
19
|
## 2.10.1 — restart after env changes, AIFINPAY_HOME on init
|
|
2
20
|
|
|
3
21
|
- Payer guide: owner limits are read when the MCP server starts, so after the
|
package/README.md
CHANGED
|
@@ -9,8 +9,10 @@ any client that loads `SKILL.md`).
|
|
|
9
9
|
| `aifinpay` | Paying — agent buys x402-gated API access | `agent/skills/aifinpay/SKILL.md` |
|
|
10
10
|
| `aifinpay-merchant` | Earning — merchant charges agents per request | `agent/skills/aifinpay-merchant/SKILL.md` |
|
|
11
11
|
|
|
12
|
-
Version **2.10.
|
|
13
|
-
|
|
12
|
+
Version **2.10.2** describes the first-payment path for a fresh agent, with
|
|
13
|
+
the funding amount priced at today's rate and the owner's working limits in
|
|
14
|
+
the dashboard.
|
|
15
|
+
Release target: MCP **2.11.3**, Node SDK **2.9.0**, Python **2.7.0**.
|
|
14
16
|
Reporting release target: Node gate **0.4.0**, Python gate **0.1.3**.
|
|
15
17
|
The merchant guide describes explicit opt-in observations, consent, queue loss
|
|
16
18
|
and producer health using the SDK's reporting v2 contract. It adds no MCP tools
|
|
@@ -6,7 +6,7 @@ description: Pay for x402-gated APIs and sites as an agent (AIFP-1 on an owner-s
|
|
|
6
6
|
wallet, payment history, prepaid quotas and Agent Passport records through
|
|
7
7
|
the AiFinPay MCP server or SDK.
|
|
8
8
|
license: MIT
|
|
9
|
-
version: 2.10.
|
|
9
|
+
version: 2.10.2
|
|
10
10
|
author: AiFinPay Support
|
|
11
11
|
metadata:
|
|
12
12
|
hermes:
|
|
@@ -61,17 +61,17 @@ your language. There is no "install together" scenario.
|
|
|
61
61
|
|
|
62
62
|
## Version and release status
|
|
63
63
|
|
|
64
|
-
Release target: MCP **2.11.
|
|
64
|
+
Release target: MCP **2.11.3**, Node SDK **2.9.0**, Python **2.7.0**.
|
|
65
65
|
This skill describes that coordinated package cohort. Check the installed
|
|
66
66
|
versions before using its additional-network instructions; a release target
|
|
67
67
|
does not establish npm/PyPI publication or production network activation.
|
|
68
|
-
Published baseline checked 2026-10-19: MCP **2.11.
|
|
68
|
+
Published baseline checked 2026-10-19: MCP **2.11.2**, Node SDK **2.8.0**.
|
|
69
69
|
`payable_fetch` has shipped since MCP 2.2.0, and Base since MCP 2.5.0.
|
|
70
70
|
Published packages remain usable within their documented capabilities.
|
|
71
71
|
|
|
72
72
|
| Surface | Can it pay? |
|
|
73
73
|
|---|---|
|
|
74
|
-
| MCP `@aifinpay/mcp` 2.11.x | `payable_fetch`, only with a persistent wallet and every owner limit set; it is always listed and, until then, answers with the setup checklist instead of signing. `payment_setup_status` is the read-only checklist with one `next_step
|
|
74
|
+
| MCP `@aifinpay/mcp` 2.11.x | `payable_fetch`, only with a persistent wallet and every owner limit set; it is always listed and, until then, answers with the setup checklist instead of signing. `payment_setup_status` is the read-only checklist with one `next_step` and, from 2.11.3, `funding`: the amount to fund at today's rate. Polygon is the default; other networks require explicit `AIFINPAY_PAY_CHAIN`. The merchant and backend must authorize and serve that network. `scope: "merchant"` buys a site-wide batch. |
|
|
75
75
|
| Node `@aifinpay/agent` 2.8.x | `fetchPaid` with a v14 journal, gas cap and owner budgets. Select another network with `v14.chain`; select a pinned stablecoin with `v14.asset`. Native payments require an independent native/USD rate. |
|
|
76
76
|
| Python `aifinpay-agent` 2.7.x | `agent.fetch_paid(url, allowed_origins=…, max_amount_usd=…, daily_amount_usd=…)`; use explicit `chain` and the chain's native gas cap for another network, or a pinned stablecoin `asset`. `agent.recover_paid(journal_path)` recovers the original transaction. |
|
|
77
77
|
|
|
@@ -192,8 +192,9 @@ step — no key handling of your own, no funding of an ephemeral address.
|
|
|
192
192
|
example `$0.10` for 200 standard requests).
|
|
193
193
|
2. **Check the setup.** Call `payment_setup_status`. It returns the wallet
|
|
194
194
|
(`persistent` or ephemeral), `payments_enabled`, which owner limits are
|
|
195
|
-
set, the balance when the RPC answers, `
|
|
196
|
-
|
|
195
|
+
set, the balance when the RPC answers, `funding` (what a persistent wallet
|
|
196
|
+
needs, priced now), `ready`, and `next_step` — the one thing still
|
|
197
|
+
missing. Follow `next_step`; do not skip ahead.
|
|
197
198
|
3. **Persistent wallet.** If `wallet.persistent` is false, run the exact
|
|
198
199
|
command in `next_step` (it is `npx @aifinpay/mcp init`, prefixed with
|
|
199
200
|
`AIFINPAY_HOME=…` when the server uses its own wallet directory — keep
|
|
@@ -208,11 +209,17 @@ step — no key handling of your own, no funding of an ephemeral address.
|
|
|
208
209
|
its `next_step` and start a new wallet directory. Never fund an ephemeral
|
|
209
210
|
address.
|
|
210
211
|
4. **Fund and enable.** Tell the owner `addresses.evm` and the amount: the
|
|
211
|
-
batch price in the pay chain's native currency
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
212
|
+
batch price in the pay chain's native currency at today's rate plus the
|
|
213
|
+
gas cap. Take it from `payment_setup_status` — its `funding` field prices
|
|
214
|
+
the smallest batch now and adds the owner's gas cap into `amount`. The
|
|
215
|
+
rate moves (on 2026-10-19 one `$0.10` batch was 1.08 POL), so never
|
|
216
|
+
quote a remembered number; if `funding` has a `rate_error` and no
|
|
217
|
+
`amount`, ask the owner to fund "the batch price in POL at today's rate
|
|
218
|
+
plus the gas cap" and name no number. When the owner confirms funding,
|
|
219
|
+
they add the payment settings from "Paying with payable_fetch" below —
|
|
220
|
+
with their real origin, and USD values that are a ceiling they will not
|
|
221
|
+
need to revisit (the working limits are set in the dashboard, see "After
|
|
222
|
+
creating a wallet") — to the same `env`. **Limits are read only when the server starts**:
|
|
216
223
|
`agent_reload` re-reads the keystore and nothing else, so after the env
|
|
217
224
|
changes the client has to restart the `aifinpay` MCP server (restart the
|
|
218
225
|
client, or disable and re-enable the server in it). Until that restart
|
|
@@ -271,21 +278,28 @@ default `scope`.
|
|
|
271
278
|
|
|
272
279
|
## Paying with payable_fetch
|
|
273
280
|
|
|
274
|
-
The owner configures these MCP environment values (example
|
|
281
|
+
The owner configures these MCP environment values once (example values; the
|
|
282
|
+
USD ones are a ceiling, not a budget):
|
|
275
283
|
|
|
276
284
|
```json
|
|
277
285
|
{
|
|
278
286
|
"AIFINPAY_PAYMENTS_ENABLED": "1",
|
|
279
287
|
"AIFINPAY_GATEWAY_ORIGINS": "https://merchant.example",
|
|
280
288
|
"AIFINPAY_GATEWAY_PATH_MODE": "direct",
|
|
281
|
-
"AIFINPAY_MAX_USD": "
|
|
282
|
-
"AIFINPAY_DAILY_USD": "
|
|
289
|
+
"AIFINPAY_MAX_USD": "5",
|
|
290
|
+
"AIFINPAY_DAILY_USD": "20",
|
|
283
291
|
"AIFINPAY_MAX_GAS_POL": "0.3"
|
|
284
292
|
}
|
|
285
293
|
```
|
|
286
294
|
|
|
287
|
-
|
|
288
|
-
|
|
295
|
+
`AIFINPAY_MAX_USD` and `AIFINPAY_DAILY_USD` are the ceiling the SDK requires
|
|
296
|
+
before it signs with the owner's key: set once, high enough not to need
|
|
297
|
+
revisiting, and left alone. The day-to-day limits — per-payment cap, daily
|
|
298
|
+
cap, pause, allowed sites — are the dashboard **Controls** once the agent is
|
|
299
|
+
claimed (see "After creating a wallet" below); the backend enforces them on
|
|
300
|
+
every quote and payment, with no env change and no server restart. A payment
|
|
301
|
+
has to pass both. The smallest batch is **$0.10 plus gas** on **Polygon**;
|
|
302
|
+
`AIFINPAY_MAX_USD` only has to be at or above the batch. The gas cap has to cover the
|
|
289
303
|
worst-case fee: at ~280 gwei that is about 0.10 POL for a POL payment and
|
|
290
304
|
0.21 POL for USDC, and a lower cap refuses before anything is signed. The fee
|
|
291
305
|
charged is usually a fraction of that, but the wallet must hold the batch plus
|
|
@@ -298,8 +312,9 @@ wallet or create one with `npx @aifinpay/mcp init` (on a terminal it asks for
|
|
|
298
312
|
a passphrase; without one it generates it and prints the `env` block to put
|
|
299
313
|
into the MCP client config — the server's env needs that same
|
|
300
314
|
`AIFINPAY_WALLET_PASSPHRASE`, or every start mints a new ephemeral wallet);
|
|
301
|
-
fund its EVM address on Polygon with POL, or with USDC plus some POL
|
|
302
|
-
|
|
315
|
+
fund its EVM address on Polygon with POL, or with USDC plus some POL, in the
|
|
316
|
+
amount `payment_setup_status` prices. Funding a wallet does not establish
|
|
317
|
+
unlimited spend authority. Use the owner's actual approved origins and ceiling,
|
|
303
318
|
then call `payable_fetch({"url":"https://merchant.example/api/data"})`.
|
|
304
319
|
|
|
305
320
|
For another network, the owner sets `AIFINPAY_PAY_CHAIN` to an exact name in
|
|
@@ -370,10 +385,16 @@ at https://dash.aifinpay.io → My Agents:
|
|
|
370
385
|
`agent.sign_dashboard_claim(challenge)` (Python). These sign only
|
|
371
386
|
`AiFinPay-claim:polygon:<own address>:<nonce>`.
|
|
372
387
|
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
388
|
+
Once the agent is claimed, the dashboard is where the owner manages its
|
|
389
|
+
working limits: **Controls** on the agent's page sets the per-payment cap, the
|
|
390
|
+
daily cap, pause and the allowed sites, and the backend enforces that policy
|
|
391
|
+
on every `/v1/quote` and `/v1/pay` for the claimed agent — no env change, no
|
|
392
|
+
server restart. The env values (`AIFINPAY_MAX_USD`, `AIFINPAY_DAILY_USD`, the
|
|
393
|
+
gas cap, the origins) stay as the ceiling the SDK requires before it signs;
|
|
394
|
+
they do not replace the dashboard, and the dashboard does not replace them —
|
|
395
|
+
a payment has to pass both. Dashboard controls do not reach transactions sent
|
|
396
|
+
directly outside AiFinPay. After `agent_claim_self`, point the owner at
|
|
397
|
+
Controls rather than at the config file when they want to change a limit.
|
|
377
398
|
|
|
378
399
|
Discover routes on the exact requested origin: `/.well-known/x402.json` and any
|
|
379
400
|
API catalog linked by that site. A dev hostname does not imply testnet. If a
|
|
@@ -4,7 +4,7 @@ description: Configure an HTTP 402 gate for agent access to a website or API,
|
|
|
4
4
|
with owner-selected routes, verified payouts and explicitly accepted EVM
|
|
5
5
|
networks. Agents settle from their own wallets; the merchant receives 99%.
|
|
6
6
|
license: MIT
|
|
7
|
-
version: 2.10.
|
|
7
|
+
version: 2.10.2
|
|
8
8
|
author: AiFinPay Support
|
|
9
9
|
metadata:
|
|
10
10
|
hermes:
|
|
@@ -155,7 +155,7 @@ Gate 0.3.3 source adds `instructions_url` (payer skill),
|
|
|
155
155
|
links to maintained public instructions, not stored wallet or receipt data.
|
|
156
156
|
Existing sites must upgrade/redeploy gate to emit those new fields.
|
|
157
157
|
|
|
158
|
-
Release target: MCP **2.11.
|
|
158
|
+
Release target: MCP **2.11.3**, Node SDK **2.9.0**, Python **2.7.0**.
|
|
159
159
|
This coordinated target does not establish publication or reporting rollout.
|
|
160
160
|
Those clients
|
|
161
161
|
reuse the signed v1.4 payment kernel for nine EVM network descriptors; network
|
package/package.json
CHANGED