@scriptmasterlabs/mcp-x402 2.1.1 → 2.1.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.
Files changed (290) hide show
  1. package/.well-known/agentcard.json +34 -0
  2. package/.well-known/ai.txt +32 -0
  3. package/CONTRIBUTING.md +76 -0
  4. package/LICENSE +21 -57
  5. package/README.md +304 -262
  6. package/agents.json +81 -0
  7. package/ai/faq.json +74 -0
  8. package/ai/summary.json +157 -0
  9. package/dist/lib/chains/base.d.ts +10 -0
  10. package/dist/lib/chains/base.d.ts.map +1 -0
  11. package/dist/lib/chains/base.js +75 -0
  12. package/dist/lib/chains/base.js.map +1 -0
  13. package/dist/lib/chains/solana.d.ts +10 -0
  14. package/dist/lib/chains/solana.d.ts.map +1 -0
  15. package/dist/lib/chains/solana.js +49 -0
  16. package/dist/lib/chains/solana.js.map +1 -0
  17. package/dist/lib/chains/xrpl.d.ts +10 -0
  18. package/dist/lib/chains/xrpl.d.ts.map +1 -0
  19. package/dist/lib/chains/xrpl.js +55 -0
  20. package/dist/lib/chains/xrpl.js.map +1 -0
  21. package/dist/lib/credit/bureau.d.ts +16 -0
  22. package/dist/lib/credit/bureau.d.ts.map +1 -0
  23. package/dist/lib/credit/bureau.js +88 -0
  24. package/dist/lib/credit/bureau.js.map +1 -0
  25. package/dist/lib/sml-api/agentcard.d.ts +17 -0
  26. package/dist/lib/sml-api/agentcard.d.ts.map +1 -0
  27. package/dist/lib/sml-api/agentcard.js +30 -0
  28. package/dist/lib/sml-api/agentcard.js.map +1 -0
  29. package/dist/lib/sml-api/backtest.d.ts +22 -0
  30. package/dist/lib/sml-api/backtest.d.ts.map +1 -0
  31. package/dist/lib/sml-api/backtest.js +28 -0
  32. package/dist/lib/sml-api/backtest.js.map +1 -0
  33. package/dist/lib/sml-api/brokers.d.ts +40 -0
  34. package/dist/lib/sml-api/brokers.d.ts.map +1 -0
  35. package/dist/lib/sml-api/brokers.js +128 -0
  36. package/dist/lib/sml-api/brokers.js.map +1 -0
  37. package/dist/lib/sml-api/copytrader.d.ts +11 -0
  38. package/dist/lib/sml-api/copytrader.d.ts.map +1 -0
  39. package/dist/lib/sml-api/copytrader.js +30 -0
  40. package/dist/lib/sml-api/copytrader.js.map +1 -0
  41. package/dist/lib/sml-api/crawl.d.ts +20 -0
  42. package/dist/lib/sml-api/crawl.d.ts.map +1 -0
  43. package/dist/lib/sml-api/crawl.js +32 -0
  44. package/dist/lib/sml-api/crawl.js.map +1 -0
  45. package/dist/lib/sml-api/echo.d.ts +10 -0
  46. package/dist/lib/sml-api/echo.d.ts.map +1 -0
  47. package/dist/lib/sml-api/echo.js +23 -0
  48. package/dist/lib/sml-api/echo.js.map +1 -0
  49. package/dist/lib/sml-api/forge.d.ts +11 -0
  50. package/dist/lib/sml-api/forge.d.ts.map +1 -0
  51. package/dist/lib/sml-api/forge.js +29 -0
  52. package/dist/lib/sml-api/forge.js.map +1 -0
  53. package/dist/lib/sml-api/ftd.d.ts +18 -0
  54. package/dist/lib/sml-api/ftd.d.ts.map +1 -0
  55. package/dist/lib/sml-api/ftd.js +43 -0
  56. package/dist/lib/sml-api/ftd.js.map +1 -0
  57. package/dist/lib/sml-api/ghost.d.ts +13 -0
  58. package/dist/lib/sml-api/ghost.d.ts.map +1 -0
  59. package/dist/lib/sml-api/ghost.js +29 -0
  60. package/dist/lib/sml-api/ghost.js.map +1 -0
  61. package/dist/lib/sml-api/launchpad.d.ts +20 -0
  62. package/dist/lib/sml-api/launchpad.d.ts.map +1 -0
  63. package/dist/lib/sml-api/launchpad.js +31 -0
  64. package/dist/lib/sml-api/launchpad.js.map +1 -0
  65. package/dist/lib/sml-api/leviathan.d.ts +22 -0
  66. package/dist/lib/sml-api/leviathan.d.ts.map +1 -0
  67. package/dist/lib/sml-api/leviathan.js +33 -0
  68. package/dist/lib/sml-api/leviathan.js.map +1 -0
  69. package/dist/lib/sml-api/nexus.d.ts +18 -0
  70. package/dist/lib/sml-api/nexus.d.ts.map +1 -0
  71. package/dist/lib/sml-api/nexus.js +40 -0
  72. package/dist/lib/sml-api/nexus.js.map +1 -0
  73. package/dist/lib/sml-api/proof402.d.ts +6 -0
  74. package/dist/lib/sml-api/proof402.d.ts.map +1 -0
  75. package/dist/lib/sml-api/proof402.js +30 -0
  76. package/dist/lib/sml-api/proof402.js.map +1 -0
  77. package/dist/lib/sml-api/rails.d.ts +12 -0
  78. package/dist/lib/sml-api/rails.d.ts.map +1 -0
  79. package/dist/lib/sml-api/rails.js +29 -0
  80. package/dist/lib/sml-api/rails.js.map +1 -0
  81. package/dist/lib/sml-api/shadow.d.ts +15 -0
  82. package/dist/lib/sml-api/shadow.d.ts.map +1 -0
  83. package/dist/lib/sml-api/shadow.js +27 -0
  84. package/dist/lib/sml-api/shadow.js.map +1 -0
  85. package/dist/lib/sml-api/squeezeos.d.ts +21 -0
  86. package/dist/lib/sml-api/squeezeos.d.ts.map +1 -0
  87. package/dist/lib/sml-api/squeezeos.js +97 -0
  88. package/dist/lib/sml-api/squeezeos.js.map +1 -0
  89. package/dist/lib/sml-api/xdeo.d.ts +13 -0
  90. package/dist/lib/sml-api/xdeo.d.ts.map +1 -0
  91. package/dist/lib/sml-api/xdeo.js +34 -0
  92. package/dist/lib/sml-api/xdeo.js.map +1 -0
  93. package/dist/lib/sml-api/xmit.d.ts +13 -0
  94. package/dist/lib/sml-api/xmit.d.ts.map +1 -0
  95. package/dist/lib/sml-api/xmit.js +34 -0
  96. package/dist/lib/sml-api/xmit.js.map +1 -0
  97. package/dist/server/apm/capabilities.d.ts +31 -0
  98. package/dist/server/apm/capabilities.d.ts.map +1 -0
  99. package/dist/server/apm/capabilities.js +157 -0
  100. package/dist/server/apm/capabilities.js.map +1 -0
  101. package/dist/server/apm/execute.d.ts +18 -0
  102. package/dist/server/apm/execute.d.ts.map +1 -0
  103. package/dist/server/apm/execute.js +37 -0
  104. package/dist/server/apm/execute.js.map +1 -0
  105. package/dist/server/apm/matcher.d.ts +17 -0
  106. package/dist/server/apm/matcher.d.ts.map +1 -0
  107. package/dist/server/apm/matcher.js +71 -0
  108. package/dist/server/apm/matcher.js.map +1 -0
  109. package/dist/server/apm/quote.d.ts +53 -0
  110. package/dist/server/apm/quote.d.ts.map +1 -0
  111. package/dist/server/apm/quote.js +82 -0
  112. package/dist/server/apm/quote.js.map +1 -0
  113. package/dist/server/apm/schema.d.ts +109 -0
  114. package/dist/server/apm/schema.d.ts.map +1 -0
  115. package/dist/server/apm/schema.js +31 -0
  116. package/dist/server/apm/schema.js.map +1 -0
  117. package/dist/server/health.d.ts +16 -0
  118. package/dist/server/health.d.ts.map +1 -0
  119. package/dist/server/health.js +39 -0
  120. package/dist/server/health.js.map +1 -0
  121. package/dist/server/index.d.ts +3 -0
  122. package/dist/server/index.d.ts.map +1 -0
  123. package/dist/server/index.js +322 -0
  124. package/dist/server/index.js.map +1 -0
  125. package/dist/server/payments/agent-payment.d.ts +71 -0
  126. package/dist/server/payments/agent-payment.d.ts.map +1 -0
  127. package/dist/server/payments/agent-payment.js +112 -0
  128. package/dist/server/payments/agent-payment.js.map +1 -0
  129. package/dist/server/payments/ap2.d.ts +17 -0
  130. package/dist/server/payments/ap2.d.ts.map +1 -0
  131. package/dist/server/payments/ap2.js +77 -0
  132. package/dist/server/payments/ap2.js.map +1 -0
  133. package/dist/server/payments/receipt.d.ts +28 -0
  134. package/dist/server/payments/receipt.d.ts.map +1 -0
  135. package/dist/server/payments/receipt.js +60 -0
  136. package/dist/server/payments/receipt.js.map +1 -0
  137. package/dist/server/payments/router.d.ts +23 -0
  138. package/dist/server/payments/router.d.ts.map +1 -0
  139. package/dist/server/payments/router.js +69 -0
  140. package/dist/server/payments/router.js.map +1 -0
  141. package/dist/server/payments/wallet.d.ts +18 -0
  142. package/dist/server/payments/wallet.d.ts.map +1 -0
  143. package/dist/server/payments/wallet.js +107 -0
  144. package/dist/server/payments/wallet.js.map +1 -0
  145. package/dist/server/payments/x402.d.ts +55 -0
  146. package/dist/server/payments/x402.d.ts.map +1 -0
  147. package/dist/server/payments/x402.js +247 -0
  148. package/dist/server/payments/x402.js.map +1 -0
  149. package/dist/server/registry/backends.d.ts +29 -0
  150. package/dist/server/registry/backends.d.ts.map +1 -0
  151. package/dist/server/registry/backends.js +61 -0
  152. package/dist/server/registry/backends.js.map +1 -0
  153. package/dist/server/registry/catalog.d.ts +12 -0
  154. package/dist/server/registry/catalog.d.ts.map +1 -0
  155. package/dist/server/registry/catalog.js +55 -0
  156. package/dist/server/registry/catalog.js.map +1 -0
  157. package/dist/server/registry/discovery.d.ts +16 -0
  158. package/dist/server/registry/discovery.d.ts.map +1 -0
  159. package/dist/server/registry/discovery.js +33 -0
  160. package/dist/server/registry/discovery.js.map +1 -0
  161. package/dist/server/registry/pricing.d.ts +10 -0
  162. package/dist/server/registry/pricing.d.ts.map +1 -0
  163. package/dist/server/registry/pricing.js +124 -0
  164. package/dist/server/registry/pricing.js.map +1 -0
  165. package/dist/server/security/acl.d.ts +28 -0
  166. package/dist/server/security/acl.d.ts.map +1 -0
  167. package/dist/server/security/acl.js +36 -0
  168. package/dist/server/security/acl.js.map +1 -0
  169. package/dist/server/security/audit.d.ts +15 -0
  170. package/dist/server/security/audit.d.ts.map +1 -0
  171. package/dist/server/security/audit.js +77 -0
  172. package/dist/server/security/audit.js.map +1 -0
  173. package/dist/server/security/rate-limit.d.ts +12 -0
  174. package/dist/server/security/rate-limit.d.ts.map +1 -0
  175. package/dist/server/security/rate-limit.js +72 -0
  176. package/dist/server/security/rate-limit.js.map +1 -0
  177. package/dist/server/security/sandbox.d.ts +7 -0
  178. package/dist/server/security/sandbox.d.ts.map +1 -0
  179. package/dist/server/security/sandbox.js +42 -0
  180. package/dist/server/security/sandbox.js.map +1 -0
  181. package/dist/server/tools/agentcard.d.ts +3 -0
  182. package/dist/server/tools/agentcard.d.ts.map +1 -0
  183. package/dist/server/tools/agentcard.js +118 -0
  184. package/dist/server/tools/agentcard.js.map +1 -0
  185. package/dist/server/tools/apm-execute.d.ts +3 -0
  186. package/dist/server/tools/apm-execute.d.ts.map +1 -0
  187. package/dist/server/tools/apm-execute.js +94 -0
  188. package/dist/server/tools/apm-execute.js.map +1 -0
  189. package/dist/server/tools/apm.d.ts +3 -0
  190. package/dist/server/tools/apm.d.ts.map +1 -0
  191. package/dist/server/tools/apm.js +135 -0
  192. package/dist/server/tools/apm.js.map +1 -0
  193. package/dist/server/tools/backtest.d.ts +3 -0
  194. package/dist/server/tools/backtest.d.ts.map +1 -0
  195. package/dist/server/tools/backtest.js +112 -0
  196. package/dist/server/tools/backtest.js.map +1 -0
  197. package/dist/server/tools/brokers.d.ts +3 -0
  198. package/dist/server/tools/brokers.d.ts.map +1 -0
  199. package/dist/server/tools/brokers.js +223 -0
  200. package/dist/server/tools/brokers.js.map +1 -0
  201. package/dist/server/tools/copytrader.d.ts +3 -0
  202. package/dist/server/tools/copytrader.d.ts.map +1 -0
  203. package/dist/server/tools/copytrader.js +90 -0
  204. package/dist/server/tools/copytrader.js.map +1 -0
  205. package/dist/server/tools/crawl.d.ts +3 -0
  206. package/dist/server/tools/crawl.d.ts.map +1 -0
  207. package/dist/server/tools/crawl.js +60 -0
  208. package/dist/server/tools/crawl.js.map +1 -0
  209. package/dist/server/tools/discovery.d.ts +3 -0
  210. package/dist/server/tools/discovery.d.ts.map +1 -0
  211. package/dist/server/tools/discovery.js +181 -0
  212. package/dist/server/tools/discovery.js.map +1 -0
  213. package/dist/server/tools/echo.d.ts +3 -0
  214. package/dist/server/tools/echo.d.ts.map +1 -0
  215. package/dist/server/tools/echo.js +48 -0
  216. package/dist/server/tools/echo.js.map +1 -0
  217. package/dist/server/tools/forge.d.ts +3 -0
  218. package/dist/server/tools/forge.d.ts.map +1 -0
  219. package/dist/server/tools/forge.js +77 -0
  220. package/dist/server/tools/forge.js.map +1 -0
  221. package/dist/server/tools/ftd.d.ts +3 -0
  222. package/dist/server/tools/ftd.d.ts.map +1 -0
  223. package/dist/server/tools/ftd.js +70 -0
  224. package/dist/server/tools/ftd.js.map +1 -0
  225. package/dist/server/tools/ghost.d.ts +3 -0
  226. package/dist/server/tools/ghost.d.ts.map +1 -0
  227. package/dist/server/tools/ghost.js +83 -0
  228. package/dist/server/tools/ghost.js.map +1 -0
  229. package/dist/server/tools/index.d.ts +3 -0
  230. package/dist/server/tools/index.d.ts.map +1 -0
  231. package/dist/server/tools/index.js +48 -0
  232. package/dist/server/tools/index.js.map +1 -0
  233. package/dist/server/tools/launchpad.d.ts +3 -0
  234. package/dist/server/tools/launchpad.d.ts.map +1 -0
  235. package/dist/server/tools/launchpad.js +151 -0
  236. package/dist/server/tools/launchpad.js.map +1 -0
  237. package/dist/server/tools/leviathan.d.ts +3 -0
  238. package/dist/server/tools/leviathan.d.ts.map +1 -0
  239. package/dist/server/tools/leviathan.js +73 -0
  240. package/dist/server/tools/leviathan.js.map +1 -0
  241. package/dist/server/tools/nexus.d.ts +3 -0
  242. package/dist/server/tools/nexus.d.ts.map +1 -0
  243. package/dist/server/tools/nexus.js +65 -0
  244. package/dist/server/tools/nexus.js.map +1 -0
  245. package/dist/server/tools/proof402.d.ts +3 -0
  246. package/dist/server/tools/proof402.d.ts.map +1 -0
  247. package/dist/server/tools/proof402.js +74 -0
  248. package/dist/server/tools/proof402.js.map +1 -0
  249. package/dist/server/tools/rails.d.ts +3 -0
  250. package/dist/server/tools/rails.d.ts.map +1 -0
  251. package/dist/server/tools/rails.js +82 -0
  252. package/dist/server/tools/rails.js.map +1 -0
  253. package/dist/server/tools/shadow.d.ts +3 -0
  254. package/dist/server/tools/shadow.d.ts.map +1 -0
  255. package/dist/server/tools/shadow.js +114 -0
  256. package/dist/server/tools/shadow.js.map +1 -0
  257. package/dist/server/tools/squeezeos.d.ts +3 -0
  258. package/dist/server/tools/squeezeos.d.ts.map +1 -0
  259. package/dist/server/tools/squeezeos.js +249 -0
  260. package/dist/server/tools/squeezeos.js.map +1 -0
  261. package/dist/server/tools/xdeo.d.ts +3 -0
  262. package/dist/server/tools/xdeo.d.ts.map +1 -0
  263. package/dist/server/tools/xdeo.js +58 -0
  264. package/dist/server/tools/xdeo.js.map +1 -0
  265. package/dist/server/tools/xmit.d.ts +3 -0
  266. package/dist/server/tools/xmit.d.ts.map +1 -0
  267. package/dist/server/tools/xmit.js +59 -0
  268. package/dist/server/tools/xmit.js.map +1 -0
  269. package/eslint.config.mjs +28 -0
  270. package/llms.txt +170 -108
  271. package/package.json +78 -65
  272. package/server.json +24 -0
  273. package/.well-known/x402.json +0 -37
  274. package/dist/index.d.ts +0 -12
  275. package/dist/index.d.ts.map +0 -1
  276. package/dist/index.js +0 -9
  277. package/dist/index.js.map +0 -1
  278. package/dist/mcp-wrapper.d.ts +0 -71
  279. package/dist/mcp-wrapper.d.ts.map +0 -1
  280. package/dist/mcp-wrapper.js +0 -104
  281. package/dist/mcp-wrapper.js.map +0 -1
  282. package/dist/x402-middleware.d.ts +0 -76
  283. package/dist/x402-middleware.d.ts.map +0 -1
  284. package/dist/x402-middleware.js +0 -113
  285. package/dist/x402-middleware.js.map +0 -1
  286. package/dist/xrpl-facilitator.d.ts +0 -77
  287. package/dist/xrpl-facilitator.d.ts.map +0 -1
  288. package/dist/xrpl-facilitator.js +0 -156
  289. package/dist/xrpl-facilitator.js.map +0 -1
  290. package/schema.jsonld +0 -97
@@ -1,156 +0,0 @@
1
- /**
2
- * @scriptmasterlabs/mcp-x402
3
- *
4
- * xrpl-facilitator.ts — XRPL/Xahau payment facilitator.
5
- *
6
- * Responsibilities:
7
- * - Connect to the correct XRPL / Xahau network
8
- * - Sign and submit payment transactions (XRP drops, RLUSD IOU, XAH)
9
- * - Return a PaymentProof that the receiving MCP server can verify on-ledger
10
- * - Verify incoming PaymentProof objects (server-side gate)
11
- *
12
- * This is the ONLY component that touches private key material.
13
- * Never log walletSeed. Never expose wallet.privateKey downstream.
14
- */
15
- import { Client, Wallet, convertStringToHex } from "xrpl";
16
- // ─── Network WebSocket endpoints ─────────────────────────────────────────────
17
- const NETWORK_URLS = {
18
- "xrpl-mainnet": "wss://xrplcluster.com",
19
- "xrpl-testnet": "wss://s.altnet.rippletest.net:51233",
20
- "xahau-mainnet": "wss://xahau.network",
21
- "xahau-testnet": "wss://xahau-test.net",
22
- };
23
- // ─── XrplFacilitator ─────────────────────────────────────────────────────────
24
- export class XrplFacilitator {
25
- wallet;
26
- network;
27
- wsUrl;
28
- constructor(opts) {
29
- if (!opts.walletSeed)
30
- throw new Error("[mcp-x402] walletSeed is required");
31
- this.wallet = Wallet.fromSeed(opts.walletSeed);
32
- this.network = opts.network;
33
- this.wsUrl = NETWORK_URLS[opts.network];
34
- }
35
- /** Public address of the paying wallet (safe to log/expose) */
36
- get payerAddress() {
37
- return this.wallet.address;
38
- }
39
- /**
40
- * pay() — fulfil a PaymentRequirements challenge.
41
- * Connects, submits, waits for validation, disconnects.
42
- * Returns a PaymentProof the server can verify on-ledger.
43
- */
44
- async pay(req) {
45
- // Expiry guard
46
- if (req.expiresAt && new Date(req.expiresAt) < new Date()) {
47
- throw new Error("[mcp-x402] Payment requirements have expired");
48
- }
49
- const client = new Client(this.wsUrl);
50
- await client.connect();
51
- try {
52
- const tx = await this.buildPaymentTx(req);
53
- const result = await client.submitAndWait(tx, { wallet: this.wallet });
54
- return this.extractProof(result, req);
55
- }
56
- finally {
57
- await client.disconnect();
58
- }
59
- }
60
- /**
61
- * verify() — server-side: confirm that a PaymentProof actually exists on-ledger
62
- * and matches the expected requirements.
63
- */
64
- async verify(proof, expected) {
65
- const client = new Client(this.wsUrl);
66
- await client.connect();
67
- try {
68
- const tx = await client.request({
69
- command: "tx",
70
- transaction: proof.txHash,
71
- });
72
- const ledgerTx = tx.result;
73
- // Check destination
74
- if (ledgerTx["Destination"] !== expected.destination)
75
- return false;
76
- // Check amount
77
- if (expected.currency === "XRP" || !expected.currency) {
78
- const onChainAmt = ledgerTx["Amount"];
79
- if (typeof onChainAmt !== "string")
80
- return false;
81
- if (BigInt(onChainAmt) < BigInt(expected.amountDrops ?? "0"))
82
- return false;
83
- }
84
- // Check destination tag if specified
85
- if (expected.destinationTag !== undefined && ledgerTx["DestinationTag"] !== expected.destinationTag) {
86
- return false;
87
- }
88
- // Check tx was validated (not just submitted)
89
- const meta = ledgerTx["meta"];
90
- if (meta?.["TransactionResult"] !== "tesSUCCESS")
91
- return false;
92
- return true;
93
- }
94
- catch {
95
- return false;
96
- }
97
- finally {
98
- await client.disconnect();
99
- }
100
- }
101
- // ─── Private helpers ───────────────────────────────────────────────────────
102
- async buildPaymentTx(req) {
103
- const currency = req.currency ?? "XRP";
104
- let amount;
105
- if (currency === "XRP") {
106
- if (!req.amountDrops)
107
- throw new Error("[mcp-x402] amountDrops required for XRP payments");
108
- amount = req.amountDrops; // string of drops
109
- }
110
- else if (currency === "RLUSD") {
111
- if (!req.amount)
112
- throw new Error("[mcp-x402] amount required for RLUSD payments");
113
- amount = {
114
- currency: convertStringToHex("RLUSD").padEnd(40, "0"),
115
- value: req.amount,
116
- // RLUSD issuer on XRPL mainnet
117
- issuer: "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",
118
- };
119
- }
120
- else if (currency === "XAH") {
121
- // XAH is native on Xahau — treated as drops there
122
- if (!req.amountDrops)
123
- throw new Error("[mcp-x402] amountDrops required for XAH payments");
124
- amount = req.amountDrops;
125
- }
126
- else {
127
- throw new Error(`[mcp-x402] Unsupported currency: ${currency}`);
128
- }
129
- const tx = {
130
- TransactionType: "Payment",
131
- Account: this.wallet.address,
132
- Destination: req.destination,
133
- Amount: amount,
134
- ...(req.destinationTag !== undefined ? { DestinationTag: req.destinationTag } : {}),
135
- };
136
- return tx;
137
- }
138
- extractProof(result, req) {
139
- const tx = result.result;
140
- const meta = tx["meta"];
141
- if (meta?.["TransactionResult"] !== "tesSUCCESS") {
142
- throw new Error(`[mcp-x402] Transaction failed: ${String(meta?.["TransactionResult"])}`);
143
- }
144
- return {
145
- txHash: String(tx["hash"]),
146
- ledgerIndex: Number(tx["ledger_index"] ?? tx["inLedger"]),
147
- payer: this.wallet.address,
148
- destination: req.destination,
149
- amount: req.amountDrops ?? req.amount ?? "0",
150
- currency: req.currency ?? "XRP",
151
- network: this.network,
152
- settledAt: new Date().toISOString(),
153
- };
154
- }
155
- }
156
- //# sourceMappingURL=xrpl-facilitator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xrpl-facilitator.js","sourceRoot":"","sources":["../src/xrpl-facilitator.ts"],"names":[],"mappings":"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"}
package/schema.jsonld DELETED
@@ -1,97 +0,0 @@
1
- {
2
- "@context": "https://schema.org",
3
- "@graph": [
4
- {
5
- "@type": "Organization",
6
- "@id": "https://scriptmasterlabs.com/#org",
7
- "name": "ScriptMasterLabs",
8
- "url": "https://scriptmasterlabs.com",
9
- "logo": "https://scriptmasterlabs.com/logo.png",
10
- "sameAs": [
11
- "https://github.com/Timwal78",
12
- "https://github.com/Timwal78/mcp-x402-xrpl",
13
- "https://github.com/Timwal78/ago-orchestrator",
14
- "https://github.com/Timwal78/zeroquery-protocol"
15
- ],
16
- "description": "Builder of autonomous AI agent infrastructure — x402 payment rails, MCP tooling, and GEO-first software for the agentic web."
17
- },
18
- {
19
- "@type": "SoftwareApplication",
20
- "@id": "https://github.com/Timwal78/mcp-x402-xrpl#app",
21
- "name": "mcp-x402-xrpl",
22
- "alternateName": "@scriptmasterlabs/mcp-x402",
23
- "applicationCategory": "DeveloperApplication",
24
- "operatingSystem": "Node.js >= 18",
25
- "url": "https://github.com/Timwal78/mcp-x402-xrpl",
26
- "downloadUrl": "https://npmjs.com/package/@scriptmasterlabs/mcp-x402",
27
- "softwareVersion": "0.1.0",
28
- "datePublished": "2025-06-01",
29
- "license": "https://opensource.org/licenses/Apache-2.0",
30
- "author": { "@id": "https://scriptmasterlabs.com/#org" },
31
- "description": "x402 HTTP payment middleware for MCP servers. XRPL, Xahau, XAH, RLUSD settlement. Drop-in autonomous agent payment rails for machine-to-machine commerce. No custodians.",
32
- "keywords": [
33
- "mcp", "x402", "xrpl", "xahau", "xah", "rlusd", "http-402",
34
- "ai-agents", "autonomous-agents", "model-context-protocol",
35
- "machine-to-machine-payments", "agentic-commerce"
36
- ],
37
- "featureList": [
38
- "Express/Fastify x402 middleware",
39
- "XRPL mainnet and testnet payment signing",
40
- "Xahau mainnet and testnet support",
41
- "XRP, RLUSD, and XAH settlement currencies",
42
- "On-ledger payment proof verification",
43
- "Drop-in MCP server wrapper",
44
- "Configurable per-request payment cap"
45
- ],
46
- "isPartOf": { "@id": "https://scriptmasterlabs.com/#org" }
47
- },
48
- {
49
- "@type": "SoftwareApplication",
50
- "@id": "https://github.com/Timwal78/zeroquery-protocol#app",
51
- "name": "ZeroQuery Protocol",
52
- "alternateName": "Proof-of-Intent (PoI) Protocol",
53
- "url": "https://github.com/Timwal78/zeroquery-protocol",
54
- "author": { "@id": "https://scriptmasterlabs.com/#org" },
55
- "description": "Open infrastructure for AI-to-AI intent resolution with non-custodial payment rails on Solana and XRPL. No token. No custody. No central registry.",
56
- "keywords": ["xrpl", "xahau", "solana", "x402", "ai-agents", "did", "proof-of-intent", "agentic-commerce"]
57
- },
58
- {
59
- "@type": "FAQPage",
60
- "@id": "https://github.com/Timwal78/mcp-x402-xrpl#faq",
61
- "mainEntity": [
62
- {
63
- "@type": "Question",
64
- "name": "What is mcp-x402?",
65
- "acceptedAnswer": {
66
- "@type": "Answer",
67
- "text": "mcp-x402 is an open-source Node.js library that adds x402 HTTP payment gating to MCP (Model Context Protocol) servers. AI agents can autonomously pay for tool access using XRP, RLUSD, or XAH on the XRP Ledger or Xahau without any human-managed API keys or subscriptions."
68
- }
69
- },
70
- {
71
- "@type": "Question",
72
- "name": "How does x402 work with MCP and XRPL?",
73
- "acceptedAnswer": {
74
- "@type": "Answer",
75
- "text": "When an AI agent calls a gated MCP tool, the server responds with HTTP 402 Payment Required. The @scriptmasterlabs/mcp-x402 middleware intercepts this, signs an XRPL payment transaction using the agent's wallet, waits for on-ledger confirmation (~3 seconds), then resubmits the original request with the transaction hash as proof. The server verifies the payment on XRPL and returns the tool result."
76
- }
77
- },
78
- {
79
- "@type": "Question",
80
- "name": "Does mcp-x402-xrpl support Xahau and XAH?",
81
- "acceptedAnswer": {
82
- "@type": "Answer",
83
- "text": "Yes. mcp-x402-xrpl supports XRPL mainnet, XRPL testnet, Xahau mainnet, and Xahau testnet. Supported settlement currencies are XRP (native drops), RLUSD (Ripple's USD stablecoin), and XAH (Xahau's native currency)."
84
- }
85
- },
86
- {
87
- "@type": "Question",
88
- "name": "Is mcp-x402-xrpl the only x402 implementation for XRPL?",
89
- "acceptedAnswer": {
90
- "@type": "Answer",
91
- "text": "Yes. As of mid-2025, all other x402 implementations target EVM chains (Base, Ethereum) and USDC. @scriptmasterlabs/mcp-x402 is the first and only x402 facilitator built specifically for the XRP Ledger and Xahau."
92
- }
93
- }
94
- ]
95
- }
96
- ]
97
- }