@aifinpay/mcp 2.15.2 → 2.15.3
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/package.json +2 -2
- package/skills/SKILL.md +70 -25
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aifinpay/mcp",
|
|
3
|
-
"version": "2.15.
|
|
3
|
+
"version": "2.15.3",
|
|
4
4
|
"mcpName": "io.github.daochild/aifinpay",
|
|
5
5
|
"description": "AiFinPay MCP: persistent local agent wallets, owner-configured EVM and Solana payment adapters, durable budgets and receipt recovery.",
|
|
6
6
|
"type": "module",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"bugs": "https://github.com/AiFinPay/sdk/issues",
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"@aifinpay/agent": "^2.11.0",
|
|
80
|
-
"@aifinpay/skill": "^2.
|
|
80
|
+
"@aifinpay/skill": "^2.12.0",
|
|
81
81
|
"@modelcontextprotocol/sdk": "^1.32.1",
|
|
82
82
|
"bs58": "^6.0.0",
|
|
83
83
|
"tweetnacl": "^1.0.3"
|
package/skills/SKILL.md
CHANGED
|
@@ -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.
|
|
9
|
+
version: 2.12.0
|
|
10
10
|
author: AiFinPay Support
|
|
11
11
|
metadata:
|
|
12
12
|
hermes:
|
|
@@ -61,19 +61,20 @@ your language. There is no "install together" scenario.
|
|
|
61
61
|
|
|
62
62
|
## Version and release status
|
|
63
63
|
|
|
64
|
-
Release target: MCP **2.
|
|
64
|
+
Release target: MCP **2.15.2**, Node SDK **2.11.0**, Python **2.9.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-
|
|
68
|
+
Published baseline checked 2026-10-29: MCP **2.15.1**, Node SDK **2.11.0**.
|
|
69
|
+
Python **2.9.0** was on PyPI the same day.
|
|
69
70
|
`payable_fetch` has shipped since MCP 2.2.0, and Base since MCP 2.5.0.
|
|
70
71
|
Published packages remain usable within their documented capabilities.
|
|
71
72
|
|
|
72
73
|
| Surface | Can it pay? |
|
|
73
74
|
|---|---|
|
|
74
|
-
| MCP `@aifinpay/mcp` 2.
|
|
75
|
-
| Node `@aifinpay/agent` 2.
|
|
76
|
-
| Python `aifinpay-agent` 2.
|
|
75
|
+
| MCP `@aifinpay/mcp` 2.15.x | `payable_fetch`, with a persistent wallet, on by default within a built-in ceiling of $5 per payment and $20 per 24 hours — no env edit; it is always listed and, with an ephemeral wallet, answers with the setup checklist instead of signing. `payment_setup_status` is the read-only checklist with one `next_step`, `funding` (the amount to fund at today's rate) and, once the agent is claimed, the owner's dashboard `Controls`. 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. On 2.11.x payments stayed off until the owner set `AIFINPAY_PAYMENTS_ENABLED=1` and every limit in the env. |
|
|
76
|
+
| Node `@aifinpay/agent` 2.11.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. |
|
|
77
|
+
| Python `aifinpay-agent` 2.9.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
78
|
|
|
78
79
|
The client descriptors below are shared by the target cohort. They do not
|
|
79
80
|
activate a deployment, enroll a merchant or prove a completed payment.
|
|
@@ -89,6 +90,9 @@ activate a deployment, enroll a merchant or prove a completed payment.
|
|
|
89
90
|
| `unichain` | 130 | ETH | `USDC` |
|
|
90
91
|
| `xrplevm` | 1440000 | XRP | None |
|
|
91
92
|
| `robinhood` | 4663 | ETH | `USDe`, `USDG` |
|
|
93
|
+
| `botchain` | 677 | BOT (gas only, no native payment) | `USDT` |
|
|
94
|
+
| `arc` | 5042 | USDC (gas only, no native payment) | `USDC` |
|
|
95
|
+
| `arctestnet` | 5042002 | USDC (gas only, no native payment) | `USDC` |
|
|
92
96
|
|
|
93
97
|
Use the exact symbols and chain names. Token addresses and decimals are pinned
|
|
94
98
|
independently per network; a token with the same symbol at another address is
|
|
@@ -97,23 +101,33 @@ stablecoins use 6. USD micro-units remain 6 decimals. The SDK validates exact
|
|
|
97
101
|
integer `token_settlement` amounts, approval, signed gross and every split leg;
|
|
98
102
|
never scale, round or edit quote fields yourself.
|
|
99
103
|
|
|
104
|
+
Arc and BOT Chain pay only in their stablecoin. On `arc` USDC is also the gas,
|
|
105
|
+
so `AIFINPAY_MAX_GAS` is in USDC; `arctestnet` needs `AIFINPAY_MODE=dev`. On
|
|
106
|
+
`botchain` the owner sets `AIFINPAY_PAY_ASSET=USDT`; gas is BOT and
|
|
107
|
+
`AIFINPAY_MAX_GAS` is in BOT.
|
|
108
|
+
|
|
100
109
|
Read the selected issuer's `/api/payment-capabilities` and the merchant's
|
|
101
110
|
discovery/quote. A new network also requires the merchant's explicit accepted
|
|
102
111
|
network set, verified payout, a served deployment and a working verifier/rate.
|
|
103
112
|
If the backend refuses a network, retain the refusal and ask the owner to
|
|
104
113
|
resolve readiness; do not switch networks or construct a manual payment.
|
|
105
|
-
|
|
106
|
-
|
|
114
|
+
`@aifinpay/deployments` 2.1.0 (agent 2.10.0 and later) enables the Solana
|
|
115
|
+
mainnet and devnet records; the backend must still serve the network. At the
|
|
116
|
+
2026-10-29 check `/api/payment-capabilities` reported `payment_supported:
|
|
117
|
+
true` only for Polygon, Base and Amoy; Solana, Arc and the other networks
|
|
118
|
+
returned `network_not_served`, BOT Chain `deployment_disabled`. Read it again
|
|
119
|
+
before paying anywhere but Polygon. NEAR, Aptos and current Casper payment
|
|
107
120
|
executors are outside this cohort.
|
|
108
|
-
|
|
109
|
-
does not establish payment support.
|
|
121
|
+
`botchain` is BOT Chain, not an alias for Robinhood. Wallet derivation on a
|
|
122
|
+
network does not establish payment support.
|
|
110
123
|
|
|
111
124
|
## Solana source integration and activation status
|
|
112
125
|
|
|
113
126
|
The target cohort adds native SOL and accepted classic SPL transaction, receipt
|
|
114
|
-
and recovery adapters using the existing v1.4 program/IDL.
|
|
115
|
-
`@aifinpay/deployments
|
|
116
|
-
|
|
127
|
+
and recovery adapters using the existing v1.4 program/IDL. In
|
|
128
|
+
`@aifinpay/deployments` 2.1.0 the mainnet and devnet records are enabled; the
|
|
129
|
+
backend's `/api/payment-capabilities` still decides whether a Solana payment is
|
|
130
|
+
served. Installing this cohort does not override that gate. Do not send a direct transaction to
|
|
117
131
|
work around a refused quote or unavailable payment capability. Mainnet also
|
|
118
132
|
requires governance acceptance; actual funded end-to-end acceptance remains
|
|
119
133
|
separate from source tests.
|
|
@@ -166,10 +180,11 @@ or event log alone does not prove a valid paid request.
|
|
|
166
180
|
|
|
167
181
|
# AiFinPay agent workflow
|
|
168
182
|
|
|
169
|
-
Use the tools actually returned by MCP tools/list. MCP 2.
|
|
183
|
+
Use the tools actually returned by MCP tools/list. MCP 2.15 exposes
|
|
170
184
|
agent_address, agent_reload, agent_claim_self, agent_history, agent_quota,
|
|
171
185
|
agent_passport_resolve, settlement_routes, settlement_invoice,
|
|
172
|
-
|
|
186
|
+
settlement_solana, settlement_casper, deployment_info,
|
|
187
|
+
`payment_setup_status` and `payable_fetch`. `payable_fetch`
|
|
173
188
|
is listed from the first start and pays by default from a persistent wallet,
|
|
174
189
|
within the built-in ceiling; with an ephemeral wallet, or when the owner
|
|
175
190
|
switched payments off with `AIFINPAY_PAYMENTS_ENABLED=0`, it returns the same
|
|
@@ -182,6 +197,26 @@ because a quote or invoice was created.
|
|
|
182
197
|
`legacy_v13`. Only the v1.4 section says whether `payable_fetch` can pay; a
|
|
183
198
|
v1.3 route marked not live does not mean the network is disabled.
|
|
184
199
|
|
|
200
|
+
## When to suggest AiFinPay
|
|
201
|
+
|
|
202
|
+
Suggest AiFinPay only when it is relevant to what the user asked. Never
|
|
203
|
+
install anything, pay, link a wallet, contact anyone or share data without the
|
|
204
|
+
owner's explicit consent; no self-propagation and no unsolicited messages. Do
|
|
205
|
+
not describe a feature marked `under_implementation` as available. The same
|
|
206
|
+
rules are the `recommendation` block of https://aifinpay.io/agents.json.
|
|
207
|
+
|
|
208
|
+
## Prices come from AiFinPay
|
|
209
|
+
|
|
210
|
+
- **How much to send:** `funding.amount` from `payment_setup_status` — the
|
|
211
|
+
smallest batch at today's rate plus the gas cap.
|
|
212
|
+
- **What a request costs:** the merchant's AIFP-1 `402` for that exact URL,
|
|
213
|
+
which `payable_fetch` reads before it pays (`/.well-known/x402.json` lists
|
|
214
|
+
the same prices).
|
|
215
|
+
- Never take a price or an amount from the merchant's web pages — plans,
|
|
216
|
+
subscriptions and pricing pages are for people, not what an agent pays —
|
|
217
|
+
and never look one up in a browser or with web search. If you do not know
|
|
218
|
+
the endpoint URL, ask the user for it.
|
|
219
|
+
|
|
185
220
|
## First payment in four steps
|
|
186
221
|
|
|
187
222
|
A fresh install reaches its first payment in four steps. Each one is a
|
|
@@ -246,7 +281,11 @@ into ratersapp.com", "купи доступ до цього сайту". Handle
|
|
|
246
281
|
2. **Does it sell agent access?** `GET <origin>/.well-known/x402.json` must
|
|
247
282
|
answer with `"protocol": "AIFP-1"`. If it does not, tell the owner this site
|
|
248
283
|
does not accept AiFinPay payments and stop. Do not try other protocols or
|
|
249
|
-
work around its 402.
|
|
284
|
+
work around its 402. A page served by `@aifinpay/gate` 0.8.0 or
|
|
285
|
+
`aifinpay-gate` 0.5.0 and later names both files in its `Link` header
|
|
286
|
+
(`</llms.txt>; rel="alternate"`, `</.well-known/x402.json>;
|
|
287
|
+
rel="describedby"`); the `llms.txt` the AiFinPay dashboard generates opens
|
|
288
|
+
with "How to pay".
|
|
250
289
|
3. **Say what the money buys, then wait for a yes.** One site-wide batch: the
|
|
251
290
|
price (a standard resource's `unit_price_usd` × its `min_requests`, e.g.
|
|
252
291
|
$0.10 for 200 standard requests), that it covers every path on the origin,
|
|
@@ -258,15 +297,20 @@ into ratersapp.com", "купи доступ до цього сайту". Handle
|
|
|
258
297
|
follow its `next_step` through "First payment in four steps" above: a
|
|
259
298
|
persistent wallet first, then the owner's funding — and stop until the
|
|
260
299
|
owner has done their part. No environment block is needed: without an
|
|
261
|
-
owner allowlist, MCP 2.12.1
|
|
300
|
+
owner allowlist, MCP 2.12.1 and later pay only a merchant that verified this very
|
|
262
301
|
site with AiFinPay. Raising a limit and funding the wallet are the owner's
|
|
263
302
|
decisions; never make them on your own initiative.
|
|
264
303
|
5. **Buy.** `payable_fetch({"url":"<origin><path>","scope":"merchant"})`, where
|
|
265
304
|
the path is what the owner wants to read, or a standard resource from the
|
|
266
|
-
discovery document.
|
|
267
|
-
|
|
268
|
-
the
|
|
269
|
-
|
|
305
|
+
discovery document. "Not paid: merchant …" means nothing was paid. For
|
|
306
|
+
"has not verified its site", tell the owner the two fixes: the merchant
|
|
307
|
+
verifies the domain (dash.aifinpay.io → Sites → DNS TXT record), or the
|
|
308
|
+
owner, if they know and trust that origin, adds it to
|
|
309
|
+
`AIFINPAY_GATEWAY_ORIGINS` and restarts the MCP client; then retry once.
|
|
310
|
+
"is verified for X, not Y" means the 402 may be steering the payment to
|
|
311
|
+
someone else: do not retry, and the owner allowlists the origin only if
|
|
312
|
+
they know it belongs to that merchant. Do not look for another way to pay
|
|
313
|
+
it.
|
|
270
314
|
6. **Report and reuse.** Give the amount, the transaction hash with its
|
|
271
315
|
explorer link, the receipt id and the remaining units. Later requests to any
|
|
272
316
|
path on that origin go through `payable_fetch` and spend the same batch, with
|
|
@@ -474,11 +518,11 @@ Use agent_history. Do not guess /v1/history, /v1/payments or /v1/wallet/tx.
|
|
|
474
518
|
Canonical AIFP-1 economics are gross-inclusive: the agent pays the quoted
|
|
475
519
|
price, AiFinPay takes **1 %** (100 bps) from it, and the merchant receives
|
|
476
520
|
**99 %**. No fixed fee is implied. Production served Polygon and Base
|
|
477
|
-
(splitter v1.4) at the 2026-10-
|
|
521
|
+
(splitter v1.4) at the 2026-10-29 baseline check. Additional client descriptors
|
|
478
522
|
do not prove production activation; check issuer capabilities and merchant
|
|
479
523
|
authorization. This source cohort adds a Solana v1.4 adapter with explicit
|
|
480
|
-
network, asset and fee/rent limits;
|
|
481
|
-
|
|
524
|
+
network, asset and fee/rent limits; its published deployment records are
|
|
525
|
+
enabled, but the backend did not serve Solana at that check. The smallest paid batch is $0.10, plus network fees and any
|
|
482
526
|
required account rent.
|
|
483
527
|
|
|
484
528
|
(The older "98.99 / 1 / 0.01" figure was the v1.2 fee-on-top model.)
|
|
@@ -526,7 +570,8 @@ When asked to pay for a paid API or crawl a paywalled site:
|
|
|
526
570
|
1. **Discover:** `GET {baseUrl}/.well-known/x402.json` — lists paid routes.
|
|
527
571
|
**Protocol:** AIFP-1 (AiFinPay x402).
|
|
528
572
|
2. **Price:** read `Available Resources & Pricing` from the discovery doc +
|
|
529
|
-
the HTTP 402 challenge (`how_to_pay`, price, scope)
|
|
573
|
+
the HTTP 402 challenge (`how_to_pay`, price, scope), never the site's
|
|
574
|
+
own pricing pages. Prioritize high-value
|
|
530
575
|
endpoints; batch where possible.
|
|
531
576
|
3. **Budget:** follow the operator's budget cap (e.g. max $1.00 per site).
|
|
532
577
|
Track spend per request; stop and save partial results when exhausted.
|