@aifinpay/agent 1.8.4 → 2.0.0-rc.13

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.
Files changed (93) hide show
  1. package/PAYMENT_RECEIPTS.md +110 -0
  2. package/README.md +93 -35
  3. package/dist/agent.d.ts +6 -1
  4. package/dist/agent.d.ts.map +1 -1
  5. package/dist/agent.js +50 -12
  6. package/dist/agent.js.map +1 -1
  7. package/dist/agentHistory.d.ts +15 -0
  8. package/dist/agentHistory.d.ts.map +1 -0
  9. package/dist/agentHistory.js +47 -0
  10. package/dist/agentHistory.js.map +1 -0
  11. package/dist/agentPassport.d.ts +95 -0
  12. package/dist/agentPassport.d.ts.map +1 -0
  13. package/dist/agentPassport.js +177 -0
  14. package/dist/agentPassport.js.map +1 -0
  15. package/dist/aifp1.d.ts +135 -8
  16. package/dist/aifp1.d.ts.map +1 -1
  17. package/dist/aifp1.js +317 -50
  18. package/dist/aifp1.js.map +1 -1
  19. package/dist/apiUrl.d.ts +3 -0
  20. package/dist/apiUrl.d.ts.map +1 -0
  21. package/dist/apiUrl.js +8 -0
  22. package/dist/apiUrl.js.map +1 -0
  23. package/dist/chains.d.ts +4 -0
  24. package/dist/chains.d.ts.map +1 -0
  25. package/dist/chains.js +24 -0
  26. package/dist/chains.js.map +1 -0
  27. package/dist/deploymentResolver.d.ts +87 -0
  28. package/dist/deploymentResolver.d.ts.map +1 -0
  29. package/dist/deploymentResolver.js +145 -0
  30. package/dist/deploymentResolver.js.map +1 -0
  31. package/dist/facilitators/aifinpay.d.ts +4 -5
  32. package/dist/facilitators/aifinpay.d.ts.map +1 -1
  33. package/dist/facilitators/aifinpay.js +49 -19
  34. package/dist/facilitators/aifinpay.js.map +1 -1
  35. package/dist/facilitators/base.d.ts +12 -1
  36. package/dist/facilitators/base.d.ts.map +1 -1
  37. package/dist/facilitators/detect.d.ts +3 -3
  38. package/dist/facilitators/detect.d.ts.map +1 -1
  39. package/dist/facilitators/detect.js +3 -22
  40. package/dist/facilitators/detect.js.map +1 -1
  41. package/dist/facilitators/standard-x402.d.ts +4 -8
  42. package/dist/facilitators/standard-x402.d.ts.map +1 -1
  43. package/dist/facilitators/standard-x402.js +218 -92
  44. package/dist/facilitators/standard-x402.js.map +1 -1
  45. package/dist/index.d.ts +24 -18
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +22 -34
  48. package/dist/index.js.map +1 -1
  49. package/dist/localIdentity.d.ts +17 -0
  50. package/dist/localIdentity.d.ts.map +1 -0
  51. package/dist/localIdentity.js +81 -0
  52. package/dist/localIdentity.js.map +1 -0
  53. package/dist/settlement.d.ts +198 -0
  54. package/dist/settlement.d.ts.map +1 -0
  55. package/dist/settlement.js +429 -0
  56. package/dist/settlement.js.map +1 -0
  57. package/dist/settlementHttp.d.ts +10 -0
  58. package/dist/settlementHttp.d.ts.map +1 -0
  59. package/dist/settlementHttp.js +70 -0
  60. package/dist/settlementHttp.js.map +1 -0
  61. package/dist/settlementV14.d.ts +136 -0
  62. package/dist/settlementV14.d.ts.map +1 -0
  63. package/dist/settlementV14.js +170 -0
  64. package/dist/settlementV14.js.map +1 -0
  65. package/dist/solanaDeploymentResolver.d.ts +90 -0
  66. package/dist/solanaDeploymentResolver.d.ts.map +1 -0
  67. package/dist/solanaDeploymentResolver.js +143 -0
  68. package/dist/solanaDeploymentResolver.js.map +1 -0
  69. package/dist/solanaV14Deployments.generated.d.ts +35 -0
  70. package/dist/solanaV14Deployments.generated.d.ts.map +1 -0
  71. package/dist/solanaV14Deployments.generated.js +61 -0
  72. package/dist/solanaV14Deployments.generated.js.map +1 -0
  73. package/dist/splitterRoutes.d.ts +120 -0
  74. package/dist/splitterRoutes.d.ts.map +1 -0
  75. package/dist/splitterRoutes.generated.d.ts +22 -0
  76. package/dist/splitterRoutes.generated.d.ts.map +1 -0
  77. package/dist/splitterRoutes.generated.js +459 -0
  78. package/dist/splitterRoutes.generated.js.map +1 -0
  79. package/dist/splitterRoutes.js +73 -0
  80. package/dist/splitterRoutes.js.map +1 -0
  81. package/dist/unifiedAgent.d.ts +28 -18
  82. package/dist/unifiedAgent.d.ts.map +1 -1
  83. package/dist/unifiedAgent.js +85 -325
  84. package/dist/unifiedAgent.js.map +1 -1
  85. package/dist/v14Deployments.generated.d.ts +53 -0
  86. package/dist/v14Deployments.generated.d.ts.map +1 -0
  87. package/dist/v14Deployments.generated.js +89 -0
  88. package/dist/v14Deployments.generated.js.map +1 -0
  89. package/dist/wallet.d.ts +11 -52
  90. package/dist/wallet.d.ts.map +1 -1
  91. package/dist/wallet.js +27 -51
  92. package/dist/wallet.js.map +1 -1
  93. package/package.json +7 -4
@@ -0,0 +1,459 @@
1
+ // DO NOT EDIT. Generated by scripts/generate-splitter-routes.mjs from
2
+ // registry/splitter-table.json, a byte-for-byte copy of the canonical registry
3
+ // artifact in AiFinPay/evm-contract. CI regenerates this file and fails on any
4
+ // difference, so a hand-edited payout address turns the build red instead of
5
+ // shipping.
6
+ //
7
+ // To change anything here: change registry/registry.json in evm-contract, let
8
+ // verify-registry.mjs read it back off the chain, then run
9
+ // npm run registry:sync -- --from <path-to-evm-contract>
10
+ import { arbitrum, avalanche, base, bsc, optimism, polygon, polygonAmoy, unichain } from "viem/chains";
11
+ import { botchain, xrplevm } from "./chains.js";
12
+ /** Where this table came from, so a deployed build can be traced to a commit. */
13
+ export const SPLITTER_REGISTRY_SOURCE = {
14
+ repo: "AiFinPay/evm-contract",
15
+ path: "registry/generated/splitter-table.json",
16
+ commit: "64e245fd613e97f95195239238d6ac75484a8a21",
17
+ artifactSha256: "36ee672b1deccd7b851460b459af26984ca07802477bc8c1e78018f5d5154827",
18
+ schemaVersion: 4,
19
+ registryUpdatedAt: "2026-08-30",
20
+ };
21
+ /**
22
+ * The governance Safe that owns every splitter below, and the exact signer
23
+ * shape it was verified under. Read from the chain by verify-registry.mjs, which
24
+ * compares the signer set and threshold exactly rather than as a floor.
25
+ */
26
+ export const SPLITTER_GOVERNANCE = {
27
+ safe: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
28
+ threshold: 3,
29
+ owners: [
30
+ "0x2118c57dEBD53f614DDfE464Ff2941BE6646cA82",
31
+ "0x3C31dd9daCeC5473cC9B660CD69247A20701cF19",
32
+ "0x25A834b6fEC79e9ee6ED04Ef5b97440149C6Cc24",
33
+ "0x1D5eF769A024B3157c76884fbd10302d8d83fAB9",
34
+ "0x849930eB20ED0a697c71BcE565f18702D202C0F8",
35
+ ],
36
+ };
37
+ export const SPLITTER_ROUTES = {
38
+ "amoy:agent-x402": {
39
+ chain: "amoy",
40
+ route: "agent-x402",
41
+ chainId: 80002,
42
+ viemChain: polygonAmoy,
43
+ splitter: "0xFd1622847A89FB3De240d64DFCbd09C65c77D99d",
44
+ owner: "0x000035156F0cff1b4C36854773472fe0bd258E4d",
45
+ treasury: "0x000035156F0cff1b4C36854773472fe0bd258E4d",
46
+ treasuryBps: 0,
47
+ ipCreatorBps: 0,
48
+ runtimeCodeHash: "0x0eb0f8ca7792b13ab70f2aa3e779609cd352d279e925ddcd9e901fd9fd68b1b0",
49
+ settlementEnabled: true,
50
+ testnet: true,
51
+ rpcQuorum: 2,
52
+ stablecoins: { "USDC": "0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582", "USDT": null },
53
+ validFrom: "2026-08-29T00:00:00.000Z",
54
+ validUntil: "2026-11-27T00:00:00.000Z",
55
+ defaultRpc: "https://rpc-amoy.polygon.technology",
56
+ explorer: "https://amoy.polygonscan.com",
57
+ verifiedAt: "2026-08-30",
58
+ },
59
+ "amoy:merchant-aifp1": {
60
+ chain: "amoy",
61
+ route: "merchant-aifp1",
62
+ chainId: 80002,
63
+ viemChain: polygonAmoy,
64
+ splitter: "0xdB772E64F63854bf31f2366BF27e47D5699fe7fC",
65
+ owner: "0x000035156F0cff1b4C36854773472fe0bd258E4d",
66
+ treasury: "0x000035156F0cff1b4C36854773472fe0bd258E4d",
67
+ treasuryBps: 100,
68
+ ipCreatorBps: 0,
69
+ runtimeCodeHash: "0x4ba01815b55bf6ed2d608bed91f480c179fd644d706680c3e4a91d8181ba5c6b",
70
+ settlementEnabled: true,
71
+ testnet: true,
72
+ rpcQuorum: 2,
73
+ stablecoins: { "USDC": "0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582", "USDT": null },
74
+ validFrom: "2026-08-29T00:00:00.000Z",
75
+ validUntil: "2026-11-27T00:00:00.000Z",
76
+ defaultRpc: "https://rpc-amoy.polygon.technology",
77
+ explorer: "https://amoy.polygonscan.com",
78
+ verifiedAt: "2026-08-29",
79
+ },
80
+ "arbitrum:agent-x402": {
81
+ chain: "arbitrum",
82
+ route: "agent-x402",
83
+ chainId: 42161,
84
+ viemChain: arbitrum,
85
+ splitter: "0xE34Fc0E6694821c600Fa0955C0F74720ea6d8440",
86
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
87
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
88
+ treasuryBps: 0,
89
+ ipCreatorBps: 0,
90
+ runtimeCodeHash: "0x0eb0f8ca7792b13ab70f2aa3e779609cd352d279e925ddcd9e901fd9fd68b1b0",
91
+ settlementEnabled: false,
92
+ testnet: false,
93
+ rpcQuorum: 2,
94
+ stablecoins: { "USDC": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", "USDT": null },
95
+ validFrom: "2026-08-27T00:00:00.000Z",
96
+ validUntil: "2026-11-25T00:00:00.000Z",
97
+ defaultRpc: "https://arb1.arbitrum.io/rpc",
98
+ explorer: "https://arbiscan.io",
99
+ verifiedAt: "2026-08-27",
100
+ },
101
+ "arbitrum:merchant-aifp1": {
102
+ chain: "arbitrum",
103
+ route: "merchant-aifp1",
104
+ chainId: 42161,
105
+ viemChain: arbitrum,
106
+ splitter: "0x80e2B445DFc44B3B2254aa376B31AEdDd3Ff934a",
107
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
108
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
109
+ treasuryBps: 100,
110
+ ipCreatorBps: 0,
111
+ runtimeCodeHash: "0x4ba01815b55bf6ed2d608bed91f480c179fd644d706680c3e4a91d8181ba5c6b",
112
+ settlementEnabled: false,
113
+ testnet: false,
114
+ rpcQuorum: 2,
115
+ stablecoins: { "USDC": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", "USDT": null },
116
+ validFrom: "2026-08-27T00:00:00.000Z",
117
+ validUntil: "2026-11-25T00:00:00.000Z",
118
+ defaultRpc: "https://arb1.arbitrum.io/rpc",
119
+ explorer: "https://arbiscan.io",
120
+ verifiedAt: "2026-08-27",
121
+ },
122
+ "avalanche:agent-x402": {
123
+ chain: "avalanche",
124
+ route: "agent-x402",
125
+ chainId: 43114,
126
+ viemChain: avalanche,
127
+ splitter: "0xF03B3387415D557b6ab709D06E8aF0b4ABD6Eb74",
128
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
129
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
130
+ treasuryBps: 0,
131
+ ipCreatorBps: 0,
132
+ runtimeCodeHash: "0x0eb0f8ca7792b13ab70f2aa3e779609cd352d279e925ddcd9e901fd9fd68b1b0",
133
+ settlementEnabled: false,
134
+ testnet: false,
135
+ rpcQuorum: 2,
136
+ stablecoins: { "USDC": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", "USDT": "0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7" },
137
+ validFrom: "2026-08-27T00:00:00.000Z",
138
+ validUntil: "2026-11-25T00:00:00.000Z",
139
+ defaultRpc: "https://api.avax.network/ext/bc/C/rpc",
140
+ explorer: "https://snowtrace.io",
141
+ verifiedAt: "2026-08-27",
142
+ },
143
+ "avalanche:merchant-aifp1": {
144
+ chain: "avalanche",
145
+ route: "merchant-aifp1",
146
+ chainId: 43114,
147
+ viemChain: avalanche,
148
+ splitter: "0xE34Fc0E6694821c600Fa0955C0F74720ea6d8440",
149
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
150
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
151
+ treasuryBps: 100,
152
+ ipCreatorBps: 0,
153
+ runtimeCodeHash: "0x4ba01815b55bf6ed2d608bed91f480c179fd644d706680c3e4a91d8181ba5c6b",
154
+ settlementEnabled: false,
155
+ testnet: false,
156
+ rpcQuorum: 2,
157
+ stablecoins: { "USDC": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", "USDT": "0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7" },
158
+ validFrom: "2026-08-27T00:00:00.000Z",
159
+ validUntil: "2026-11-25T00:00:00.000Z",
160
+ defaultRpc: "https://api.avax.network/ext/bc/C/rpc",
161
+ explorer: "https://snowtrace.io",
162
+ verifiedAt: "2026-08-27",
163
+ },
164
+ "base:agent-x402": {
165
+ chain: "base",
166
+ route: "agent-x402",
167
+ chainId: 8453,
168
+ viemChain: base,
169
+ splitter: "0x1Fe2021336596655Fac72bC7bC40F7FFFA501d55",
170
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
171
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
172
+ treasuryBps: 0,
173
+ ipCreatorBps: 0,
174
+ runtimeCodeHash: "0x0eb0f8ca7792b13ab70f2aa3e779609cd352d279e925ddcd9e901fd9fd68b1b0",
175
+ settlementEnabled: false,
176
+ testnet: false,
177
+ rpcQuorum: 2,
178
+ stablecoins: { "USDC": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "USDT": null },
179
+ validFrom: "2026-08-27T00:00:00.000Z",
180
+ validUntil: "2026-11-25T00:00:00.000Z",
181
+ defaultRpc: "https://mainnet.base.org",
182
+ explorer: "https://basescan.org",
183
+ verifiedAt: "2026-08-27",
184
+ },
185
+ "base:merchant-aifp1": {
186
+ chain: "base",
187
+ route: "merchant-aifp1",
188
+ chainId: 8453,
189
+ viemChain: base,
190
+ splitter: "0xB385Cc32fe39CF5B5778DF0Df0e8E9978b5F662a",
191
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
192
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
193
+ treasuryBps: 100,
194
+ ipCreatorBps: 0,
195
+ runtimeCodeHash: "0x4ba01815b55bf6ed2d608bed91f480c179fd644d706680c3e4a91d8181ba5c6b",
196
+ settlementEnabled: false,
197
+ testnet: false,
198
+ rpcQuorum: 2,
199
+ stablecoins: { "USDC": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "USDT": null },
200
+ validFrom: "2026-08-27T00:00:00.000Z",
201
+ validUntil: "2026-11-25T00:00:00.000Z",
202
+ defaultRpc: "https://mainnet.base.org",
203
+ explorer: "https://basescan.org",
204
+ verifiedAt: "2026-08-27",
205
+ },
206
+ "bnb:agent-x402": {
207
+ chain: "bnb",
208
+ route: "agent-x402",
209
+ chainId: 56,
210
+ viemChain: bsc,
211
+ splitter: "0x7656fb8B6627311A7d87273913D31b837Bb2b5A4",
212
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
213
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
214
+ treasuryBps: 0,
215
+ ipCreatorBps: 0,
216
+ runtimeCodeHash: "0x0eb0f8ca7792b13ab70f2aa3e779609cd352d279e925ddcd9e901fd9fd68b1b0",
217
+ settlementEnabled: false,
218
+ testnet: false,
219
+ rpcQuorum: 2,
220
+ stablecoins: { "USDC": null, "USDT": null },
221
+ validFrom: "2026-08-27T00:00:00.000Z",
222
+ validUntil: "2026-11-25T00:00:00.000Z",
223
+ defaultRpc: "https://bsc-dataseed.bnbchain.org",
224
+ explorer: "https://bscscan.com",
225
+ verifiedAt: "2026-08-27",
226
+ },
227
+ "bnb:merchant-aifp1": {
228
+ chain: "bnb",
229
+ route: "merchant-aifp1",
230
+ chainId: 56,
231
+ viemChain: bsc,
232
+ splitter: "0x79D481B835Cb050FAb7a045E619A6Fb9Cd73f510",
233
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
234
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
235
+ treasuryBps: 100,
236
+ ipCreatorBps: 0,
237
+ runtimeCodeHash: "0x4ba01815b55bf6ed2d608bed91f480c179fd644d706680c3e4a91d8181ba5c6b",
238
+ settlementEnabled: false,
239
+ testnet: false,
240
+ rpcQuorum: 2,
241
+ stablecoins: { "USDC": null, "USDT": null },
242
+ validFrom: "2026-08-27T00:00:00.000Z",
243
+ validUntil: "2026-11-25T00:00:00.000Z",
244
+ defaultRpc: "https://bsc-dataseed.bnbchain.org",
245
+ explorer: "https://bscscan.com",
246
+ verifiedAt: "2026-08-27",
247
+ },
248
+ "botchain:agent-x402": {
249
+ chain: "botchain",
250
+ route: "agent-x402",
251
+ chainId: 677,
252
+ viemChain: botchain,
253
+ splitter: "0x7E92FbE28aAc3a3942FDf019d29172bd02c96Cf0",
254
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
255
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
256
+ treasuryBps: 0,
257
+ ipCreatorBps: 0,
258
+ runtimeCodeHash: "0x0eb0f8ca7792b13ab70f2aa3e779609cd352d279e925ddcd9e901fd9fd68b1b0",
259
+ settlementEnabled: false,
260
+ testnet: false,
261
+ rpcQuorum: 1,
262
+ stablecoins: { "USDC": null, "USDT": null },
263
+ validFrom: "2026-08-27T00:00:00.000Z",
264
+ validUntil: "2026-11-25T00:00:00.000Z",
265
+ defaultRpc: "https://rpc.botchain.ai",
266
+ explorer: "https://scan.botchain.ai",
267
+ verifiedAt: "2026-08-27",
268
+ },
269
+ "botchain:merchant-aifp1": {
270
+ chain: "botchain",
271
+ route: "merchant-aifp1",
272
+ chainId: 677,
273
+ viemChain: botchain,
274
+ splitter: "0xe855e491D0950140704DB9Cec6B7b3F725360a56",
275
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
276
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
277
+ treasuryBps: 100,
278
+ ipCreatorBps: 0,
279
+ runtimeCodeHash: "0x4ba01815b55bf6ed2d608bed91f480c179fd644d706680c3e4a91d8181ba5c6b",
280
+ settlementEnabled: false,
281
+ testnet: false,
282
+ rpcQuorum: 1,
283
+ stablecoins: { "USDC": null, "USDT": null },
284
+ validFrom: "2026-08-27T00:00:00.000Z",
285
+ validUntil: "2026-11-25T00:00:00.000Z",
286
+ defaultRpc: "https://rpc.botchain.ai",
287
+ explorer: "https://scan.botchain.ai",
288
+ verifiedAt: "2026-08-27",
289
+ },
290
+ "optimism:agent-x402": {
291
+ chain: "optimism",
292
+ route: "agent-x402",
293
+ chainId: 10,
294
+ viemChain: optimism,
295
+ splitter: "0x38Ef6173ce0AC540f129680C2Aa4Ef739787bdBf",
296
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
297
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
298
+ treasuryBps: 0,
299
+ ipCreatorBps: 0,
300
+ runtimeCodeHash: "0x0eb0f8ca7792b13ab70f2aa3e779609cd352d279e925ddcd9e901fd9fd68b1b0",
301
+ settlementEnabled: false,
302
+ testnet: false,
303
+ rpcQuorum: 2,
304
+ stablecoins: { "USDC": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", "USDT": null },
305
+ validFrom: "2026-08-27T00:00:00.000Z",
306
+ validUntil: "2026-11-25T00:00:00.000Z",
307
+ defaultRpc: "https://mainnet.optimism.io",
308
+ explorer: "https://optimistic.etherscan.io",
309
+ verifiedAt: "2026-08-27",
310
+ },
311
+ "optimism:merchant-aifp1": {
312
+ chain: "optimism",
313
+ route: "merchant-aifp1",
314
+ chainId: 10,
315
+ viemChain: optimism,
316
+ splitter: "0x1Fe2021336596655Fac72bC7bC40F7FFFA501d55",
317
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
318
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
319
+ treasuryBps: 100,
320
+ ipCreatorBps: 0,
321
+ runtimeCodeHash: "0x4ba01815b55bf6ed2d608bed91f480c179fd644d706680c3e4a91d8181ba5c6b",
322
+ settlementEnabled: false,
323
+ testnet: false,
324
+ rpcQuorum: 2,
325
+ stablecoins: { "USDC": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", "USDT": null },
326
+ validFrom: "2026-08-27T00:00:00.000Z",
327
+ validUntil: "2026-11-25T00:00:00.000Z",
328
+ defaultRpc: "https://mainnet.optimism.io",
329
+ explorer: "https://optimistic.etherscan.io",
330
+ verifiedAt: "2026-08-27",
331
+ },
332
+ "polygon:agent-x402": {
333
+ chain: "polygon",
334
+ route: "agent-x402",
335
+ chainId: 137,
336
+ viemChain: polygon,
337
+ splitter: "0x660Cd915Fc54A7EaE5CEA6854505638bd2A08531",
338
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
339
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
340
+ treasuryBps: 0,
341
+ ipCreatorBps: 0,
342
+ runtimeCodeHash: "0x0eb0f8ca7792b13ab70f2aa3e779609cd352d279e925ddcd9e901fd9fd68b1b0",
343
+ settlementEnabled: false,
344
+ testnet: false,
345
+ rpcQuorum: 2,
346
+ stablecoins: { "USDC": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", "USDT": null },
347
+ validFrom: "2026-08-27T00:00:00.000Z",
348
+ validUntil: "2026-11-25T00:00:00.000Z",
349
+ defaultRpc: "https://polygon-bor-rpc.publicnode.com",
350
+ explorer: "https://polygonscan.com",
351
+ verifiedAt: "2026-08-27",
352
+ },
353
+ "polygon:merchant-aifp1": {
354
+ chain: "polygon",
355
+ route: "merchant-aifp1",
356
+ chainId: 137,
357
+ viemChain: polygon,
358
+ splitter: "0x27C1C07563c92C1AEa52cC9b4452dF49dC5a7942",
359
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
360
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
361
+ treasuryBps: 100,
362
+ ipCreatorBps: 0,
363
+ runtimeCodeHash: "0x4ba01815b55bf6ed2d608bed91f480c179fd644d706680c3e4a91d8181ba5c6b",
364
+ settlementEnabled: false,
365
+ testnet: false,
366
+ rpcQuorum: 2,
367
+ stablecoins: { "USDC": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", "USDT": null },
368
+ validFrom: "2026-08-27T00:00:00.000Z",
369
+ validUntil: "2026-11-25T00:00:00.000Z",
370
+ defaultRpc: "https://polygon-bor-rpc.publicnode.com",
371
+ explorer: "https://polygonscan.com",
372
+ verifiedAt: "2026-08-27",
373
+ },
374
+ "unichain:agent-x402": {
375
+ chain: "unichain",
376
+ route: "agent-x402",
377
+ chainId: 130,
378
+ viemChain: unichain,
379
+ splitter: "0xC701F45b3Bae9CA3a58cB33fCBA6291594D17843",
380
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
381
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
382
+ treasuryBps: 0,
383
+ ipCreatorBps: 0,
384
+ runtimeCodeHash: "0x0eb0f8ca7792b13ab70f2aa3e779609cd352d279e925ddcd9e901fd9fd68b1b0",
385
+ settlementEnabled: false,
386
+ testnet: false,
387
+ rpcQuorum: 2,
388
+ stablecoins: { "USDC": "0x078D782b760474a361dDA0AF3839290b0EF57AD6", "USDT": null },
389
+ validFrom: "2026-08-27T00:00:00.000Z",
390
+ validUntil: "2026-11-25T00:00:00.000Z",
391
+ defaultRpc: "https://mainnet.unichain.org",
392
+ explorer: "https://uniscan.xyz",
393
+ verifiedAt: "2026-08-27",
394
+ },
395
+ "unichain:merchant-aifp1": {
396
+ chain: "unichain",
397
+ route: "merchant-aifp1",
398
+ chainId: 130,
399
+ viemChain: unichain,
400
+ splitter: "0xF03B3387415D557b6ab709D06E8aF0b4ABD6Eb74",
401
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
402
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
403
+ treasuryBps: 100,
404
+ ipCreatorBps: 0,
405
+ runtimeCodeHash: "0x4ba01815b55bf6ed2d608bed91f480c179fd644d706680c3e4a91d8181ba5c6b",
406
+ settlementEnabled: false,
407
+ testnet: false,
408
+ rpcQuorum: 2,
409
+ stablecoins: { "USDC": "0x078D782b760474a361dDA0AF3839290b0EF57AD6", "USDT": null },
410
+ validFrom: "2026-08-27T00:00:00.000Z",
411
+ validUntil: "2026-11-25T00:00:00.000Z",
412
+ defaultRpc: "https://mainnet.unichain.org",
413
+ explorer: "https://uniscan.xyz",
414
+ verifiedAt: "2026-08-27",
415
+ },
416
+ "xrplevm:agent-x402": {
417
+ chain: "xrplevm",
418
+ route: "agent-x402",
419
+ chainId: 1440000,
420
+ viemChain: xrplevm,
421
+ splitter: "0x7E92FbE28aAc3a3942FDf019d29172bd02c96Cf0",
422
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
423
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
424
+ treasuryBps: 0,
425
+ ipCreatorBps: 0,
426
+ runtimeCodeHash: "0x0eb0f8ca7792b13ab70f2aa3e779609cd352d279e925ddcd9e901fd9fd68b1b0",
427
+ settlementEnabled: false,
428
+ testnet: false,
429
+ rpcQuorum: 1,
430
+ stablecoins: { "USDC": null, "USDT": null },
431
+ validFrom: "2026-08-27T00:00:00.000Z",
432
+ validUntil: "2026-11-25T00:00:00.000Z",
433
+ defaultRpc: "https://rpc.xrplevm.org",
434
+ explorer: "https://explorer.xrplevm.org",
435
+ verifiedAt: "2026-08-27",
436
+ },
437
+ "xrplevm:merchant-aifp1": {
438
+ chain: "xrplevm",
439
+ route: "merchant-aifp1",
440
+ chainId: 1440000,
441
+ viemChain: xrplevm,
442
+ splitter: "0xe855e491D0950140704DB9Cec6B7b3F725360a56",
443
+ owner: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
444
+ treasury: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5",
445
+ treasuryBps: 100,
446
+ ipCreatorBps: 0,
447
+ runtimeCodeHash: "0x4ba01815b55bf6ed2d608bed91f480c179fd644d706680c3e4a91d8181ba5c6b",
448
+ settlementEnabled: false,
449
+ testnet: false,
450
+ rpcQuorum: 1,
451
+ stablecoins: { "USDC": null, "USDT": null },
452
+ validFrom: "2026-08-27T00:00:00.000Z",
453
+ validUntil: "2026-11-25T00:00:00.000Z",
454
+ defaultRpc: "https://rpc.xrplevm.org",
455
+ explorer: "https://explorer.xrplevm.org",
456
+ verifiedAt: "2026-08-27",
457
+ },
458
+ };
459
+ //# sourceMappingURL=splitterRoutes.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splitterRoutes.generated.js","sourceRoot":"","sources":["../src/splitterRoutes.generated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { SPLITTER_ROUTES } from "./splitterRoutes.generated.js";
2
+ export { SPLITTER_ROUTES, SPLITTER_GOVERNANCE, SPLITTER_REGISTRY_SOURCE, } from "./splitterRoutes.generated.js";
3
+ export class UnknownSplitterRouteError extends Error {
4
+ constructor(chain, route) {
5
+ super(`No v1.3 splitter registered for ${chain}:${route}. Supported: ` +
6
+ `${Object.keys(SPLITTER_ROUTES).join(", ")}. There is deliberately no ` +
7
+ `fallback between routes — merchant-aifp1 and agent-x402 have different ` +
8
+ `immutable fee splits, so substituting one for the other would settle ` +
9
+ `at the wrong amount.`);
10
+ this.name = "UnknownSplitterRouteError";
11
+ }
12
+ }
13
+ export class SplitterRouteNotSettlingError extends Error {
14
+ constructor(key, reason) {
15
+ super(`Splitter route ${key} must not settle: ${reason}`);
16
+ this.name = "SplitterRouteNotSettlingError";
17
+ }
18
+ }
19
+ /**
20
+ * Resolve a splitter by chain AND route. Throws on an unknown pair rather
21
+ * than falling back, because the fallback is the bug: every route resolves to
22
+ * a real, deployed, working contract with the wrong economics.
23
+ */
24
+ export function resolveSplitterRoute(chain, route) {
25
+ const entry = SPLITTER_ROUTES[`${chain}:${route}`];
26
+ if (!entry)
27
+ throw new UnknownSplitterRouteError(String(chain), String(route));
28
+ return entry;
29
+ }
30
+ /**
31
+ * Resolve a route that is cleared to move money. Separate from
32
+ * resolveSplitterRoute on purpose: reading the registry and being allowed to
33
+ * settle are different questions, and conflating them is how a disabled route
34
+ * ends up paying.
35
+ */
36
+ export function resolveSettlingSplitterRoute(chain, route, now = new Date(), options = {}) {
37
+ const entry = resolveSplitterRoute(chain, route);
38
+ const key = `${entry.chain}:${entry.route}`;
39
+ if (entry.testnet && options.allowTestnet !== true) {
40
+ throw new SplitterRouteNotSettlingError(key, "testnet settlement requires explicit allowTestnet opt-in");
41
+ }
42
+ if (!entry.settlementEnabled) {
43
+ throw new SplitterRouteNotSettlingError(key, "settlement is not enabled for this route yet — it is enabled only after a " +
44
+ "successful mainnet paid end-to-end settlement with verified balance deltas");
45
+ }
46
+ // Every comparison below is written as "prove it is inside the window", never
47
+ // "prove it is outside". With `t < from` / `t >= until`, one malformed date
48
+ // parses to NaN, both comparisons are false, and the route settles with no
49
+ // time gate at all — the gate fails OPEN on exactly the input you cannot
50
+ // trust. Requiring the positive fact instead means NaN fails every check.
51
+ const from = Date.parse(entry.validFrom);
52
+ const until = Date.parse(entry.validUntil);
53
+ const t = now.getTime();
54
+ if (!Number.isFinite(from) || !Number.isFinite(until)) {
55
+ throw new SplitterRouteNotSettlingError(key, `its policy window is unreadable (validFrom ${entry.validFrom}, validUntil ` +
56
+ `${entry.validUntil}) — a window that cannot be parsed is not a window that has opened`);
57
+ }
58
+ if (!Number.isFinite(t)) {
59
+ throw new SplitterRouteNotSettlingError(key, "the current time was passed as an invalid Date, so the policy window cannot be evaluated");
60
+ }
61
+ if (from >= until) {
62
+ throw new SplitterRouteNotSettlingError(key, `its policy window is inverted (validFrom ${entry.validFrom} is not before ` +
63
+ `validUntil ${entry.validUntil})`);
64
+ }
65
+ if (!(t >= from)) {
66
+ throw new SplitterRouteNotSettlingError(key, `its policy window opens ${entry.validFrom}`);
67
+ }
68
+ if (!(t < until)) {
69
+ throw new SplitterRouteNotSettlingError(key, `its policy window expired ${entry.validUntil} and has not been re-reviewed`);
70
+ }
71
+ return entry;
72
+ }
73
+ //# sourceMappingURL=splitterRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splitterRoutes.js","sourceRoot":"","sources":["../src/splitterRoutes.ts"],"names":[],"mappings":"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"}
@@ -316,8 +316,19 @@ export declare class AiFinPayAgent {
316
316
  private evmClients;
317
317
  private splitterClients;
318
318
  /**
319
- * Generate a fresh agent — new Solana keypair + new EVM keypair.
320
- * Use `fromSeed()` to derive both from a single backup phrase instead.
319
+ * Load an existing local identity without creating or replacing a wallet.
320
+ * Priority: SEED_HASH → ./aifinpay/agents.json → AIFINPAY_AGENT_SECRET →
321
+ * the MCP keystore at AIFINPAY_HOME/agent.json (default ~/.aifinpay).
322
+ * AIFINPAY_AGENTS_FILE/AGENT_ID select a project file/record; encrypted
323
+ * keystores require AIFINPAY_WALLET_PASSPHRASE. Reads process.env, not .env.
324
+ * Missing, invalid or ambiguous configuration throws before any network call.
325
+ */
326
+ static fromEnvironment(opts?: AiFinPayAgentOptions): Promise<AiFinPayAgent>;
327
+ /**
328
+ * Generate a fresh, ephemeral agent. Every call selects a new identity;
329
+ * existing environment variables and keystores are NOT loaded or changed.
330
+ * This method does not persist its keys. Use fromEnvironment() for a funded
331
+ * existing wallet, or privately persist the new seed/secret before funding.
321
332
  */
322
333
  static new(opts?: AiFinPayAgentOptions): Promise<AiFinPayAgent>;
323
334
  /**
@@ -335,6 +346,8 @@ export declare class AiFinPayAgent {
335
346
  * TODO(phase-1): replace with BIP-39/BIP-44 derivation
336
347
  * m/44'/501'/0'/0' (Solana) + m/44'/60'/0'/0/0 (EVM) once the
337
348
  * wallet-import audit recommendation lands.
349
+ * An explicit opts.evmPrivateKey imports an existing EVM wallet instead;
350
+ * keep that key as well as the seed to restore the same EVM address.
338
351
  */
339
352
  static fromSeed(seedHex: string, opts?: AiFinPayAgentOptions): Promise<AiFinPayAgent>;
340
353
  /**
@@ -557,14 +570,10 @@ export declare class AiFinPayAgent {
557
570
  raw: unknown;
558
571
  }>;
559
572
  /**
560
- * High-level paid call. Resolves the provider, picks a chain, builds the
561
- * payment, sends to the bridge, retries with payment proof.
562
- *
563
- * EVM settlement: per-call splitter via on-chain `B2BSplitter.payMatic()`
564
- * (generic native-token entrypoint) on any SPLITTER_DEPLOYMENTS chain —
565
- * polygon (default), base, optimism, unichain, botchain, xrplevm. Pass
566
- * `chain` in CallOptions to override (the provider must accept it).
567
- * Solana settlement: b2b_pay_with_split (live since 2026-05-18).
573
+ * Legacy bridge call. Free/read-only bridge responses are passed through;
574
+ * paid 402 challenges fail closed because this legacy settlement surface has
575
+ * no independently reviewed target. Use the reviewed fetchPaid v1.3 route
576
+ * with a fresh trusted quote/FX result for paid requests.
568
577
  *
569
578
  * Returns `null` (instead of a `Response`) iff a budget cap was hit
570
579
  * AND budget.on_limit_exceeded is set to "skip" — the call is dropped
@@ -572,6 +581,7 @@ export declare class AiFinPayAgent {
572
581
  */
573
582
  call(opts: CallOptions): Promise<Response | null>;
574
583
  private settleSplitterNative;
584
+ private submitSolanaB2BPayWithSplit;
575
585
  private readonly _aifp1Cache;
576
586
  /**
577
587
  * The prepaid batches this agent is holding.
@@ -582,6 +592,11 @@ export declare class AiFinPayAgent {
582
592
  * contain bearer JWTs — treat them like keys, and do not log them.
583
593
  */
584
594
  get aifp1Receipts(): Aifp1ReceiptCache;
595
+ /**
596
+ * Use the canonical invoice executor only with a caller-supplied deployment
597
+ * pin. An unauthenticated quote cannot establish its own signing authority.
598
+ */
599
+ private settleAifp1NativeV13;
585
600
  /**
586
601
  * Fetch a paywalled URL, paying the AIFP-1 gateway if it asks.
587
602
  *
@@ -596,10 +611,7 @@ export declare class AiFinPayAgent {
596
611
  * Returns `null` on the same terms as call(): a budget cap was hit and
597
612
  * `budgetCaps.on_limit_exceeded` is "skip".
598
613
  */
599
- fetchPaid(url: string, init?: RequestInit, opts?: Aifp1FetchOptions & {
600
- splitter?: `0x${string}`;
601
- }): Promise<Response | null>;
602
- private submitSolanaB2BPayWithSplit;
614
+ fetchPaid(url: string, init?: RequestInit, opts?: Aifp1FetchOptions): Promise<Response | null>;
603
615
  /**
604
616
  * TODO(phase-3): open a metered budget session.
605
617
  */
@@ -627,7 +639,6 @@ export declare class AiFinPayAgent {
627
639
  * non-blocking introspection call.
628
640
  */
629
641
  private fetchSolanaUsdc;
630
- private splitterTreasuryCache;
631
642
  /** Read + cache B2BSplitter.treasury() on the given chain (default
632
643
  * polygon for back-compat). Returns null on RPC failure. */
633
644
  /**
@@ -646,12 +657,11 @@ export declare class AiFinPayAgent {
646
657
  * six registry chains against mainnet.
647
658
  *
648
659
  * One eth_getCode, cached per (chain, address). Falls back to the registry
649
- * only when the code cannot be read: guessing beats refusing to pay, and for
650
- * the addresses we deployed the guess is right.
660
+ * only for this read-only diagnostic when code cannot be read. The legacy
661
+ * payment path is disabled regardless of the reported or detected version.
651
662
  */
652
663
  private splitterVersionCache;
653
664
  private detectSplitterVersion;
654
- private splitterTreasury;
655
665
  /**
656
666
  * Read the native Polygon USDC (Circle-issued, 6 decimals) balance for the
657
667
  * agent's EVM address via the existing viem publicClient. Returns 0