@aifinpay/skill 2.3.0 → 2.4.0

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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 2.4.0 — 2026-09-24
2
+
3
+ - Merchant skill: Python servers use `pip install aifinpay-gate` (ASGI for
4
+ FastAPI/Starlette, WSGI for Flask/Django) instead of hand-written checks.
5
+ - Payer skill: Python `aifinpay-agent` 2.2.1 (default gas cap that lets USDC
6
+ purchases through at current Polygon fees).
7
+
1
8
  ## 2.3.0 — 2026-09-24
2
9
 
3
10
  - Payer skill: Python `aifinpay-agent` 2.2.0 pays — `agent.fetch_paid(...)` in
@@ -5,7 +5,7 @@ description: Pay for x402-gated APIs and sites as an agent (AIFP-1 on Polygon,
5
5
  and read wallet, payment history, prepaid quotas and Agent Passport records
6
6
  through the AiFinPay MCP server or SDK.
7
7
  license: MIT
8
- version: 2.3.0
8
+ version: 2.4.0
9
9
  author: AiFinPay Support
10
10
  metadata:
11
11
  hermes:
@@ -60,7 +60,7 @@ your language. There is no "install together" scenario.
60
60
 
61
61
  ## Version and release status
62
62
 
63
- Released and current: MCP **2.3.0**, Node SDK **2.2.0**, Python **2.2.0**.
63
+ Released and current: MCP **2.3.0**, Node SDK **2.2.0**, Python **2.2.1**.
64
64
  Payments are released — `payable_fetch` has shipped since MCP 2.2.0. An older
65
65
  copy of this skill that calls MCP "read-only" or payments "release pending" is
66
66
  out of date; follow this one. Install the `latest` release.
@@ -5,7 +5,7 @@ description: Turn any website or API into one that charges AI agents to access
5
5
  in stablecoins or native tokens on Polygon and Solana. Non-custodial — you
6
6
  keep 99%.
7
7
  license: MIT
8
- version: 2.3.0
8
+ version: 2.4.0
9
9
  author: AiFinPay Support
10
10
  metadata:
11
11
  hermes:
@@ -81,12 +81,29 @@ facilitator — there is no `/verify` or `/settle` to point your middleware at,
81
81
  and swapping a facilitator URL does nothing. Mount the gate next to it and
82
82
  route by header: a request carrying `AIFP-Receipt` goes to AiFinPay.
83
83
 
84
- **Python server?** There is no Python gate package yet. A Python gate must
85
- verify `AIFP-Receipt` as an EdDSA JWT against
86
- `https://api.aifinpay.io/.well-known/jwks.json` (issuer
87
- `https://api.aifinpay.io`, `aud` = your `merchant_id`, `scope`/`resource`
88
- covering the path, `network_mode` live) and meter its `unit_quota` — the same
89
- checks `@aifinpay/gate` makes.
84
+ ### Python (FastAPI, Starlette, Flask, Django)
85
+
86
+ ```bash
87
+ pip install aifinpay-gate
88
+ ```
89
+
90
+ ```python
91
+ from aifinpay_gate import AifpGateMiddleware, Gate, Route
92
+
93
+ gate = Gate("mrch_…", routes=[
94
+ Route("/api/agent/data", "standard"),
95
+ Route("/create", "premium", methods={"POST"}),
96
+ ])
97
+ app.add_middleware(AifpGateMiddleware, gate=gate) # FastAPI / Starlette
98
+ # Flask / Django: app.wsgi_app = AifpGateWSGI(app.wsgi_app, gate)
99
+ ```
100
+
101
+ Same 402, same receipt checks, same metering as `@aifinpay/gate`; it also
102
+ serves `/.well-known/x402.json`. A paid call reaches the handler with
103
+ `request.state.aifp` (ASGI) or `environ["aifp"]` (WSGI). Route patterns are
104
+ exact or end in `/*`. With more than one worker process, pass
105
+ `store=RedisStore(redis.Redis.from_url(...))` — the default counters are
106
+ per process.
90
107
 
91
108
  ### Next.js
92
109
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aifinpay/skill",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
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": [