@aifinpay/skill 2.11.0 → 2.12.1

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.
@@ -12,7 +12,7 @@
12
12
  "name": "aifinpay",
13
13
  "source": "./",
14
14
  "description": "Payment rail skills for paying agents and API merchants.",
15
- "version": "2.11.0",
15
+ "version": "2.12.1",
16
16
  "author": {
17
17
  "name": "AiFinPay Support",
18
18
  "email": "contact@aifinpay.io"
@@ -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.11.0",
4
+ "version": "2.12.1",
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,48 @@
1
+ ## 2.12.1 — capability rows without status fields
2
+
3
+ - Payer guide: `/api/payment-capabilities` lists only networks that take
4
+ payments, without `payment_supported` or other status fields; a row without
5
+ `native` is token-only. The dated 2026-10-29 network snapshot is removed.
6
+
7
+ ## 2.12.0 — prices from AiFinPay; current cohort and networks
8
+
9
+ - Payer guide: "Prices come from AiFinPay": how much to send is
10
+ `funding.amount` from `payment_setup_status`, what a request costs is the
11
+ merchant's AIFP-1 `402` for that exact URL; never a price from the
12
+ merchant's web pages, a browser or web search; ask the user for the
13
+ endpoint URL. MCP 2.15.2 sends the same rule as server instructions.
14
+ - Payer guide: "When to suggest AiFinPay", the consent rules of the
15
+ `recommendation` block in aifinpay.io/agents.json.
16
+ - Payer guide: an unverified-site refusal names the two fixes MCP 2.13.1
17
+ returns (the merchant verifies the domain, or the owner allowlists an
18
+ origin they trust); "verified for X, not Y" is not allowlisted blindly.
19
+ - Payer guide: a merchant page from gate 0.8.0 / aifinpay-gate 0.5.0 links
20
+ `llms.txt` and `x402.json` in its `Link` header.
21
+ - Networks: `botchain` (USDT) and `arc` / `arctestnet` (USDC, also the gas);
22
+ deployments 2.1.0 enables the Solana records, and the backend's
23
+ `/api/payment-capabilities` decides what is served (Polygon, Base and Amoy
24
+ at the 2026-10-29 check). MCP 2.15 tool list includes `settlement_solana`
25
+ and `settlement_casper`.
26
+ - Merchant guide: reporting release target gate 0.8.0 / aifinpay-gate
27
+ 0.5.0 (both send the discovery `Link` header); after launch, the dashboard
28
+ Overview card "Unpaid price requests".
29
+ - Release target: MCP 2.15.2, Node SDK 2.11.0, Python 2.9.0. Published
30
+ baseline checked 2026-10-29: MCP 2.15.1, Node SDK 2.11.0, Python 2.9.0.
31
+
32
+ ## 2.11.1 — merchant guide: verify the domain
33
+
34
+ - Merchant guide: the list of what MCP `payable_fetch` needs from a merchant
35
+ now includes a verified site. Since MCP 2.12.1, without an owner allowlist
36
+ it pays only a merchant whose public record has `site_verified: true`, and
37
+ for a self-hosted gate only when the fetched host equals the `site_url`
38
+ host; on the hosted gateway verification alone is checked.
39
+ - Merchant guide: "Register the site" adds the domain step (Site URL plus the
40
+ `_aifp-verify.<host>` TXT record from the dashboard's DNS connection
41
+ queue), and "Verify it works" reads `site_verified` from
42
+ `GET /v1/merchants/{id}`.
43
+ - No change to the payer guide beyond its version line. Release target
44
+ unchanged: MCP 2.12.1, Node SDK 2.9.0, Python 2.7.1.
45
+
1
46
  ## 2.11.0 — payments on by default, init → fund → link → pay
2
47
 
3
48
  - Payer guide: MCP 2.12.1 pays by default from a persistent wallet within a
package/README.md CHANGED
@@ -9,12 +9,14 @@ 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.11.0** describes MCP 2.12.1, where payments are on by default from
12
+ Version **2.12.0** describes MCP 2.15.2, where payments are on by default from
13
13
  a persistent wallet within a built-in ceiling ($5 per payment, $20 per day):
14
14
  the first-payment path is init → fund → link → pay, the working limits are the
15
- owner's dashboard Controls, and the env values are optional overrides.
16
- Release target: MCP **2.12.1**, Node SDK **2.9.0**, Python **2.7.1**.
17
- Reporting release target: Node gate **0.4.0**, Python gate **0.1.3**.
15
+ owner's dashboard Controls, and the env values are optional overrides. The MCP
16
+ pays only a merchant with a DNS-verified site, so the merchant guide includes
17
+ verifying the domain.
18
+ Release target: MCP **2.15.2**, Node SDK **2.11.0**, Python **2.9.0**.
19
+ Reporting release target: Node gate **0.8.0**, Python gate **0.5.0**.
18
20
  The merchant guide describes explicit opt-in observations, consent, queue loss
19
21
  and producer health using the SDK's reporting v2 contract. It adds no MCP tools
20
22
  or signing authority and does not establish publication or partner rollout.
@@ -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.11.0
9
+ version: 2.12.1
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.12.1**, Node SDK **2.9.0**, Python **2.7.1**.
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-19: MCP **2.11.2**, Node SDK **2.8.0**.
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.12.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. |
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
- | 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. |
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
- The Solana source adapter in this target cohort remains unavailable while its
106
- canonical deployment is disabled. NEAR, Aptos and current Casper payment
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.
116
+ `/api/payment-capabilities` lists only the networks it takes payments on, with
117
+ no status fields: a network that is absent is not served, and a row without
118
+ `native` is paid in its listed tokens only. Read it again before paying
119
+ anywhere but Polygon. NEAR, Aptos and current Casper payment
107
120
  executors are outside this cohort.
108
- Historical BOT is not an alias for Robinhood. Wallet derivation on a network
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. The checked
115
- `@aifinpay/deployments@1.1.3` mainnet and devnet records are disabled. Installing
116
- this cohort does not override that gate. Do not send a direct transaction to
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.12.1 exposes
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
- deployment_info, `payment_setup_status` and `payable_fetch`. `payable_fetch`
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 pays only a merchant that verified this very
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. If it answers "Not paid: merchant … has not verified
267
- its site" or "is verified for X, not Y", nothing was paid: tell the owner
268
- the site's AiFinPay merchant has not verified this site, and stop. Do not
269
- look for another way to pay it.
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-04 baseline check. Additional client descriptors
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; current published Solana deployment records
481
- remain disabled. The smallest paid batch is $0.10, plus network fees and any
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). Prioritize high-value
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.
@@ -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.11.0
7
+ version: 2.12.1
8
8
  author: AiFinPay Support
9
9
  metadata:
10
10
  hermes:
@@ -155,16 +155,18 @@ 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.12.1**, Node SDK **2.9.0**, Python **2.7.1**.
158
+ Release target: MCP **2.15.2**, Node SDK **2.11.0**, Python **2.9.0**.
159
159
  This coordinated target does not establish publication or reporting rollout.
160
160
  Those clients
161
- reuse the signed v1.4 payment kernel for nine EVM network descriptors; network
161
+ reuse the signed v1.4 payment kernel for every EVM network descriptor; network
162
162
  metadata does not activate a deployment or verifier. Production served Polygon
163
- and Base at the 2026-10-04 baseline check. Additional networks require a ready
163
+ and Base at the 2026-10-29 baseline check of `/api/payment-capabilities`.
164
+ Additional networks require a ready
164
165
  backend, pinned deployment/token metadata, a verifier and merchant consent.
165
166
 
166
- The Solana adapter is a source capability in this target. Current
167
- `deployments1.1.3` Solana records remain disabled. A Solana merchant needs an
167
+ The Solana adapter is a source capability in this target. `@aifinpay/deployments`
168
+ 2.1.0 enables the Solana records, but the backend did not serve Solana at
169
+ that check. A Solana merchant needs an
168
170
  explicit accepted network and verified Solana payout, an accepted program/IDL
169
171
  and mint inventory, configured signer/RPC, finalized value verification and
170
172
  funded end-to-end acceptance before payments are advertised. Native SOL and
@@ -180,9 +182,18 @@ network until their owner updates them. Read the selected issuer's
180
182
  payment readiness. Do not change a payout wallet, accepted network set or
181
183
  settlement version without the merchant owner's authorization.
182
184
 
185
+ MCP `payable_fetch` (2.12.1 and later) also needs a verified site. Unless the
186
+ agent's owner allowlisted the origin with `AIFINPAY_GATEWAY_ORIGINS`, it pays
187
+ only a merchant whose public record (`GET /v1/merchants/{id}`) has
188
+ `site_verified: true`, and for a self-hosted gate only when the fetched URL's
189
+ host equals the `site_url` host. On the hosted gateway it checks verification
190
+ alone. Otherwise it refuses before signing, and nothing is paid.
191
+
183
192
  ## Optional observation and reporting
184
193
 
185
- Reporting release target: Node gate **0.4.0**, Python gate **0.1.3**.
194
+ Reporting release target: Node gate **0.8.0**, Python gate **0.5.0**.
195
+ Both were published on 2026-10-29; from these versions every HTML response
196
+ also carries a `Link` header to `/llms.txt` and `/.well-known/x402.json`.
186
197
  Use these instructions only after checking the installed packages and the
187
198
  backend's reporting v2 readiness. Installing the skill does not enable reporting
188
199
  or verify a partner integration. Opt in when the merchant owner requests it:
@@ -248,8 +259,9 @@ The gate needs a `merchant_id`. Two ways to get one:
248
259
 
249
260
  > "You have agent traffic you are not charging for. AiFinPay lets you take
250
261
  > 99% of a per-request fee, settled on-chain, non-custodial. Sign in at
251
- > aifinpay.io, create a merchant, add your payout wallet, and give me the
252
- > `mrch_` id — I will gate your routes."
262
+ > aifinpay.io, create a merchant, add your payout wallet and site URL,
263
+ > publish the DNS TXT record the dashboard shows, and give me the `mrch_`
264
+ > id — I will gate your routes."
253
265
 
254
266
  Do not guess a `merchant_id` or invent a payout address. The owner sets the
255
267
  payout wallet; that is the address money is sent to, and only they can choose
@@ -270,6 +282,14 @@ The gate needs a `merchant_id`. Two ways to get one:
270
282
  move the payout later, `PATCH /v1/merchants/{id}` with header
271
283
  `AIFP-Merchant-Secret` and `{"pay_to": {"evm": "0x…"}}`.
272
284
 
285
+ **Verify the domain.** In the dashboard, the owner sets the merchant's
286
+ **Site URL** (the `https://` address agents call) and publishes the TXT record
287
+ `_aifp-verify.<host>` that the **DNS connection queue** shows for it. Until the
288
+ domain is verified, agents using the AiFinPay MCP do not pay. A self-hosted gate's paid
289
+ routes must be on the Site URL host exactly: `example.com` does not cover
290
+ `www.example.com` or `api.example.com`. Only the owner can change DNS; give
291
+ them the record the dashboard shows and never invent one.
292
+
273
293
  ## What the owner must decide
274
294
 
275
295
  | decision | why it matters |
@@ -304,6 +324,17 @@ curl -s https://your-site.com/api/agent/data \
304
324
 
305
325
  A normal browser request to the same site stays 200 — humans are not charged.
306
326
 
327
+ Then check that MCP agents will pay:
328
+
329
+ ```bash
330
+ curl -s https://api.aifinpay.io/v1/merchants/mrch_… | jq '{site_url, site_verified}'
331
+ # → site_verified: true, and site_url on the same host as your gated routes
332
+ ```
333
+
334
+ After launch, the dashboard Overview card "Unpaid price requests" shows agents
335
+ that got a quote from your site and did not pay, and whether the domain is
336
+ verified; MCP agents get a price from an unverified domain but do not pay it.
337
+
307
338
  ## When NOT to use this
308
339
 
309
340
  - If nothing on your site is worth an agent paying for — the gate only helps
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aifinpay/skill",
3
- "version": "2.11.0",
3
+ "version": "2.12.1",
4
4
  "description": "AiFinPay agent skills: pay for x402-gated APIs as an agent (aifinpay) and charge agents for your API as a merchant (aifinpay-merchant).",
5
5
  "type": "module",
6
6
  "files": [