@scriptmasterlabs/mcp-x402 2.0.2 → 2.1.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.
- package/.well-known/x402.json +37 -0
- package/LICENSE +57 -21
- package/README.md +262 -304
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-wrapper.d.ts +71 -0
- package/dist/mcp-wrapper.d.ts.map +1 -0
- package/dist/mcp-wrapper.js +104 -0
- package/dist/mcp-wrapper.js.map +1 -0
- package/dist/x402-middleware.d.ts +76 -0
- package/dist/x402-middleware.d.ts.map +1 -0
- package/dist/x402-middleware.js +113 -0
- package/dist/x402-middleware.js.map +1 -0
- package/dist/xrpl-facilitator.d.ts +77 -0
- package/dist/xrpl-facilitator.d.ts.map +1 -0
- package/dist/xrpl-facilitator.js +156 -0
- package/dist/xrpl-facilitator.js.map +1 -0
- package/llms.txt +108 -70
- package/package.json +65 -78
- package/schema.jsonld +97 -0
- package/.env.example +0 -35
- package/.github/workflows/ci.yml +0 -59
- package/.github/workflows/keepalive.yml +0 -31
- package/.well-known/agentcard.json +0 -34
- package/CONTRIBUTING.md +0 -76
- package/Dockerfile +0 -19
- package/agents.json +0 -67
- package/dist/lib/chains/base.d.ts +0 -10
- package/dist/lib/chains/base.d.ts.map +0 -1
- package/dist/lib/chains/base.js +0 -73
- package/dist/lib/chains/base.js.map +0 -1
- package/dist/lib/chains/solana.d.ts +0 -10
- package/dist/lib/chains/solana.d.ts.map +0 -1
- package/dist/lib/chains/solana.js +0 -49
- package/dist/lib/chains/solana.js.map +0 -1
- package/dist/lib/chains/xrpl.d.ts +0 -10
- package/dist/lib/chains/xrpl.d.ts.map +0 -1
- package/dist/lib/chains/xrpl.js +0 -55
- package/dist/lib/chains/xrpl.js.map +0 -1
- package/dist/lib/credit/bureau.d.ts +0 -10
- package/dist/lib/credit/bureau.d.ts.map +0 -1
- package/dist/lib/credit/bureau.js +0 -58
- package/dist/lib/credit/bureau.js.map +0 -1
- package/dist/lib/sml-api/agentcard.d.ts +0 -17
- package/dist/lib/sml-api/agentcard.d.ts.map +0 -1
- package/dist/lib/sml-api/agentcard.js +0 -30
- package/dist/lib/sml-api/agentcard.js.map +0 -1
- package/dist/lib/sml-api/backtest.d.ts +0 -22
- package/dist/lib/sml-api/backtest.d.ts.map +0 -1
- package/dist/lib/sml-api/backtest.js +0 -28
- package/dist/lib/sml-api/backtest.js.map +0 -1
- package/dist/lib/sml-api/brokers.d.ts +0 -40
- package/dist/lib/sml-api/brokers.d.ts.map +0 -1
- package/dist/lib/sml-api/brokers.js +0 -128
- package/dist/lib/sml-api/brokers.js.map +0 -1
- package/dist/lib/sml-api/copytrader.d.ts +0 -11
- package/dist/lib/sml-api/copytrader.d.ts.map +0 -1
- package/dist/lib/sml-api/copytrader.js +0 -30
- package/dist/lib/sml-api/copytrader.js.map +0 -1
- package/dist/lib/sml-api/crawl.d.ts +0 -20
- package/dist/lib/sml-api/crawl.d.ts.map +0 -1
- package/dist/lib/sml-api/crawl.js +0 -32
- package/dist/lib/sml-api/crawl.js.map +0 -1
- package/dist/lib/sml-api/echo.d.ts +0 -10
- package/dist/lib/sml-api/echo.d.ts.map +0 -1
- package/dist/lib/sml-api/echo.js +0 -23
- package/dist/lib/sml-api/echo.js.map +0 -1
- package/dist/lib/sml-api/forge.d.ts +0 -11
- package/dist/lib/sml-api/forge.d.ts.map +0 -1
- package/dist/lib/sml-api/forge.js +0 -29
- package/dist/lib/sml-api/forge.js.map +0 -1
- package/dist/lib/sml-api/ftd.d.ts +0 -18
- package/dist/lib/sml-api/ftd.d.ts.map +0 -1
- package/dist/lib/sml-api/ftd.js +0 -43
- package/dist/lib/sml-api/ftd.js.map +0 -1
- package/dist/lib/sml-api/ghost.d.ts +0 -13
- package/dist/lib/sml-api/ghost.d.ts.map +0 -1
- package/dist/lib/sml-api/ghost.js +0 -29
- package/dist/lib/sml-api/ghost.js.map +0 -1
- package/dist/lib/sml-api/launchpad.d.ts +0 -20
- package/dist/lib/sml-api/launchpad.d.ts.map +0 -1
- package/dist/lib/sml-api/launchpad.js +0 -31
- package/dist/lib/sml-api/launchpad.js.map +0 -1
- package/dist/lib/sml-api/leviathan.d.ts +0 -22
- package/dist/lib/sml-api/leviathan.d.ts.map +0 -1
- package/dist/lib/sml-api/leviathan.js +0 -33
- package/dist/lib/sml-api/leviathan.js.map +0 -1
- package/dist/lib/sml-api/nexus.d.ts +0 -18
- package/dist/lib/sml-api/nexus.d.ts.map +0 -1
- package/dist/lib/sml-api/nexus.js +0 -40
- package/dist/lib/sml-api/nexus.js.map +0 -1
- package/dist/lib/sml-api/proof402.d.ts +0 -6
- package/dist/lib/sml-api/proof402.d.ts.map +0 -1
- package/dist/lib/sml-api/proof402.js +0 -30
- package/dist/lib/sml-api/proof402.js.map +0 -1
- package/dist/lib/sml-api/rails.d.ts +0 -12
- package/dist/lib/sml-api/rails.d.ts.map +0 -1
- package/dist/lib/sml-api/rails.js +0 -29
- package/dist/lib/sml-api/rails.js.map +0 -1
- package/dist/lib/sml-api/shadow.d.ts +0 -15
- package/dist/lib/sml-api/shadow.d.ts.map +0 -1
- package/dist/lib/sml-api/shadow.js +0 -27
- package/dist/lib/sml-api/shadow.js.map +0 -1
- package/dist/lib/sml-api/squeezeos.d.ts +0 -21
- package/dist/lib/sml-api/squeezeos.d.ts.map +0 -1
- package/dist/lib/sml-api/squeezeos.js +0 -97
- package/dist/lib/sml-api/squeezeos.js.map +0 -1
- package/dist/lib/sml-api/xdeo.d.ts +0 -13
- package/dist/lib/sml-api/xdeo.d.ts.map +0 -1
- package/dist/lib/sml-api/xdeo.js +0 -34
- package/dist/lib/sml-api/xdeo.js.map +0 -1
- package/dist/lib/sml-api/xmit.d.ts +0 -13
- package/dist/lib/sml-api/xmit.d.ts.map +0 -1
- package/dist/lib/sml-api/xmit.js +0 -34
- package/dist/lib/sml-api/xmit.js.map +0 -1
- package/dist/server/health.d.ts +0 -16
- package/dist/server/health.d.ts.map +0 -1
- package/dist/server/health.js +0 -39
- package/dist/server/health.js.map +0 -1
- package/dist/server/index.d.ts +0 -3
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -199
- package/dist/server/index.js.map +0 -1
- package/dist/server/payments/ap2.d.ts +0 -17
- package/dist/server/payments/ap2.d.ts.map +0 -1
- package/dist/server/payments/ap2.js +0 -77
- package/dist/server/payments/ap2.js.map +0 -1
- package/dist/server/payments/receipt.d.ts +0 -28
- package/dist/server/payments/receipt.d.ts.map +0 -1
- package/dist/server/payments/receipt.js +0 -60
- package/dist/server/payments/receipt.js.map +0 -1
- package/dist/server/payments/router.d.ts +0 -23
- package/dist/server/payments/router.d.ts.map +0 -1
- package/dist/server/payments/router.js +0 -69
- package/dist/server/payments/router.js.map +0 -1
- package/dist/server/payments/wallet.d.ts +0 -18
- package/dist/server/payments/wallet.d.ts.map +0 -1
- package/dist/server/payments/wallet.js +0 -107
- package/dist/server/payments/wallet.js.map +0 -1
- package/dist/server/payments/x402.d.ts +0 -29
- package/dist/server/payments/x402.d.ts.map +0 -1
- package/dist/server/payments/x402.js +0 -138
- package/dist/server/payments/x402.js.map +0 -1
- package/dist/server/registry/catalog.d.ts +0 -12
- package/dist/server/registry/catalog.d.ts.map +0 -1
- package/dist/server/registry/catalog.js +0 -55
- package/dist/server/registry/catalog.js.map +0 -1
- package/dist/server/registry/discovery.d.ts +0 -16
- package/dist/server/registry/discovery.d.ts.map +0 -1
- package/dist/server/registry/discovery.js +0 -33
- package/dist/server/registry/discovery.js.map +0 -1
- package/dist/server/registry/pricing.d.ts +0 -10
- package/dist/server/registry/pricing.d.ts.map +0 -1
- package/dist/server/registry/pricing.js +0 -123
- package/dist/server/registry/pricing.js.map +0 -1
- package/dist/server/security/acl.d.ts +0 -28
- package/dist/server/security/acl.d.ts.map +0 -1
- package/dist/server/security/acl.js +0 -36
- package/dist/server/security/acl.js.map +0 -1
- package/dist/server/security/audit.d.ts +0 -15
- package/dist/server/security/audit.d.ts.map +0 -1
- package/dist/server/security/audit.js +0 -77
- package/dist/server/security/audit.js.map +0 -1
- package/dist/server/security/rate-limit.d.ts +0 -12
- package/dist/server/security/rate-limit.d.ts.map +0 -1
- package/dist/server/security/rate-limit.js +0 -72
- package/dist/server/security/rate-limit.js.map +0 -1
- package/dist/server/security/sandbox.d.ts +0 -7
- package/dist/server/security/sandbox.d.ts.map +0 -1
- package/dist/server/security/sandbox.js +0 -42
- package/dist/server/security/sandbox.js.map +0 -1
- package/dist/server/tools/agentcard.d.ts +0 -3
- package/dist/server/tools/agentcard.d.ts.map +0 -1
- package/dist/server/tools/agentcard.js +0 -118
- package/dist/server/tools/agentcard.js.map +0 -1
- package/dist/server/tools/backtest.d.ts +0 -3
- package/dist/server/tools/backtest.d.ts.map +0 -1
- package/dist/server/tools/backtest.js +0 -112
- package/dist/server/tools/backtest.js.map +0 -1
- package/dist/server/tools/brokers.d.ts +0 -3
- package/dist/server/tools/brokers.d.ts.map +0 -1
- package/dist/server/tools/brokers.js +0 -223
- package/dist/server/tools/brokers.js.map +0 -1
- package/dist/server/tools/copytrader.d.ts +0 -3
- package/dist/server/tools/copytrader.d.ts.map +0 -1
- package/dist/server/tools/copytrader.js +0 -90
- package/dist/server/tools/copytrader.js.map +0 -1
- package/dist/server/tools/crawl.d.ts +0 -3
- package/dist/server/tools/crawl.d.ts.map +0 -1
- package/dist/server/tools/crawl.js +0 -60
- package/dist/server/tools/crawl.js.map +0 -1
- package/dist/server/tools/discovery.d.ts +0 -3
- package/dist/server/tools/discovery.d.ts.map +0 -1
- package/dist/server/tools/discovery.js +0 -188
- package/dist/server/tools/discovery.js.map +0 -1
- package/dist/server/tools/echo.d.ts +0 -3
- package/dist/server/tools/echo.d.ts.map +0 -1
- package/dist/server/tools/echo.js +0 -48
- package/dist/server/tools/echo.js.map +0 -1
- package/dist/server/tools/forge.d.ts +0 -3
- package/dist/server/tools/forge.d.ts.map +0 -1
- package/dist/server/tools/forge.js +0 -77
- package/dist/server/tools/forge.js.map +0 -1
- package/dist/server/tools/ftd.d.ts +0 -3
- package/dist/server/tools/ftd.d.ts.map +0 -1
- package/dist/server/tools/ftd.js +0 -70
- package/dist/server/tools/ftd.js.map +0 -1
- package/dist/server/tools/ghost.d.ts +0 -3
- package/dist/server/tools/ghost.d.ts.map +0 -1
- package/dist/server/tools/ghost.js +0 -83
- package/dist/server/tools/ghost.js.map +0 -1
- package/dist/server/tools/index.d.ts +0 -3
- package/dist/server/tools/index.d.ts.map +0 -1
- package/dist/server/tools/index.js +0 -44
- package/dist/server/tools/index.js.map +0 -1
- package/dist/server/tools/launchpad.d.ts +0 -3
- package/dist/server/tools/launchpad.d.ts.map +0 -1
- package/dist/server/tools/launchpad.js +0 -151
- package/dist/server/tools/launchpad.js.map +0 -1
- package/dist/server/tools/leviathan.d.ts +0 -3
- package/dist/server/tools/leviathan.d.ts.map +0 -1
- package/dist/server/tools/leviathan.js +0 -73
- package/dist/server/tools/leviathan.js.map +0 -1
- package/dist/server/tools/nexus.d.ts +0 -3
- package/dist/server/tools/nexus.d.ts.map +0 -1
- package/dist/server/tools/nexus.js +0 -65
- package/dist/server/tools/nexus.js.map +0 -1
- package/dist/server/tools/proof402.d.ts +0 -3
- package/dist/server/tools/proof402.d.ts.map +0 -1
- package/dist/server/tools/proof402.js +0 -74
- package/dist/server/tools/proof402.js.map +0 -1
- package/dist/server/tools/rails.d.ts +0 -3
- package/dist/server/tools/rails.d.ts.map +0 -1
- package/dist/server/tools/rails.js +0 -82
- package/dist/server/tools/rails.js.map +0 -1
- package/dist/server/tools/shadow.d.ts +0 -3
- package/dist/server/tools/shadow.d.ts.map +0 -1
- package/dist/server/tools/shadow.js +0 -114
- package/dist/server/tools/shadow.js.map +0 -1
- package/dist/server/tools/squeezeos.d.ts +0 -3
- package/dist/server/tools/squeezeos.d.ts.map +0 -1
- package/dist/server/tools/squeezeos.js +0 -231
- package/dist/server/tools/squeezeos.js.map +0 -1
- package/dist/server/tools/xdeo.d.ts +0 -3
- package/dist/server/tools/xdeo.d.ts.map +0 -1
- package/dist/server/tools/xdeo.js +0 -58
- package/dist/server/tools/xdeo.js.map +0 -1
- package/dist/server/tools/xmit.d.ts +0 -3
- package/dist/server/tools/xmit.d.ts.map +0 -1
- package/dist/server/tools/xmit.js +0 -59
- package/dist/server/tools/xmit.js.map +0 -1
- package/docker-compose.yml +0 -50
- package/mcp-publisher.exe +0 -0
- package/render.yaml +0 -39
- package/sdk/mcp-x402-sdk/package.json +0 -18
- package/sdk/mcp-x402-sdk/src/index.ts +0 -118
- package/sdk/mcp-x402-sdk/tsconfig.json +0 -14
- package/server.json +0 -48
- package/services/backtest_service.py +0 -176
- package/src/lib/chains/base.ts +0 -77
- package/src/lib/chains/solana.ts +0 -59
- package/src/lib/chains/xrpl.ts +0 -63
- package/src/lib/credit/bureau.ts +0 -65
- package/src/lib/sml-api/agentcard.ts +0 -40
- package/src/lib/sml-api/backtest.ts +0 -47
- package/src/lib/sml-api/brokers.ts +0 -160
- package/src/lib/sml-api/copytrader.ts +0 -33
- package/src/lib/sml-api/crawl.ts +0 -44
- package/src/lib/sml-api/echo.ts +0 -28
- package/src/lib/sml-api/forge.ts +0 -33
- package/src/lib/sml-api/ftd.ts +0 -53
- package/src/lib/sml-api/ghost.ts +0 -35
- package/src/lib/sml-api/launchpad.ts +0 -43
- package/src/lib/sml-api/leviathan.ts +0 -49
- package/src/lib/sml-api/nexus.ts +0 -50
- package/src/lib/sml-api/proof402.ts +0 -27
- package/src/lib/sml-api/rails.ts +0 -34
- package/src/lib/sml-api/shadow.ts +0 -35
- package/src/lib/sml-api/squeezeos.ts +0 -95
- package/src/lib/sml-api/xdeo.ts +0 -40
- package/src/lib/sml-api/xmit.ts +0 -40
- package/src/server/health.ts +0 -52
- package/src/server/index.ts +0 -213
- package/src/server/payments/ap2.ts +0 -101
- package/src/server/payments/receipt.ts +0 -85
- package/src/server/payments/router.ts +0 -110
- package/src/server/payments/wallet.ts +0 -123
- package/src/server/payments/x402.ts +0 -177
- package/src/server/registry/catalog.ts +0 -61
- package/src/server/registry/discovery.ts +0 -39
- package/src/server/registry/pricing.ts +0 -133
- package/src/server/security/acl.ts +0 -42
- package/src/server/security/audit.ts +0 -94
- package/src/server/security/rate-limit.ts +0 -84
- package/src/server/security/sandbox.ts +0 -40
- package/src/server/tools/agentcard.ts +0 -134
- package/src/server/tools/backtest.ts +0 -119
- package/src/server/tools/brokers.ts +0 -250
- package/src/server/tools/copytrader.ts +0 -104
- package/src/server/tools/crawl.ts +0 -70
- package/src/server/tools/discovery.ts +0 -202
- package/src/server/tools/echo.ts +0 -58
- package/src/server/tools/forge.ts +0 -87
- package/src/server/tools/ftd.ts +0 -88
- package/src/server/tools/ghost.ts +0 -93
- package/src/server/tools/index.ts +0 -42
- package/src/server/tools/launchpad.ts +0 -173
- package/src/server/tools/leviathan.ts +0 -81
- package/src/server/tools/nexus.ts +0 -76
- package/src/server/tools/proof402.ts +0 -87
- package/src/server/tools/rails.ts +0 -92
- package/src/server/tools/shadow.ts +0 -128
- package/src/server/tools/squeezeos.ts +0 -312
- package/src/server/tools/xdeo.ts +0 -67
- package/src/server/tools/xmit.ts +0 -68
- package/tests/integration/e2e.test.ts +0 -51
- package/tests/unit/payments.test.ts +0 -49
- package/tests/unit/security.test.ts +0 -92
- package/tests/unit/tools.test.ts +0 -42
- package/tsconfig.json +0 -21
- package/vitest.config.ts +0 -20
package/README.md
CHANGED
|
@@ -1,304 +1,262 @@
|
|
|
1
|
-
# mcp-x402
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
###
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
---
|
|
266
|
-
|
|
267
|
-
## Testing
|
|
268
|
-
|
|
269
|
-
```bash
|
|
270
|
-
npm test # All unit tests
|
|
271
|
-
npm run test:coverage # Coverage report (target: 90%)
|
|
272
|
-
TESTNET=true CI_WALLET_SEED="your mnemonic" npm run test:integration
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
---
|
|
276
|
-
|
|
277
|
-
## Ecosystem
|
|
278
|
-
|
|
279
|
-
| Service | URL | Role |
|
|
280
|
-
|---------|-----|------|
|
|
281
|
-
| SqueezeOS API | `squeezeos-api.onrender.com` | Market intelligence |
|
|
282
|
-
| 402Proof | `four02proof.onrender.com` | Payment receipts + Credit Bureau |
|
|
283
|
-
| Ghost Layer | `ghost-layer.onrender.com` | XRPL+Base toll gateway |
|
|
284
|
-
| ScriptMasterLabs | `scriptmasterlabs.com` | Operator homepage |
|
|
285
|
-
|
|
286
|
-
---
|
|
287
|
-
|
|
288
|
-
## MOAT
|
|
289
|
-
|
|
290
|
-
- Only MCP server with live x402 + AP2 + multi-chain production stack
|
|
291
|
-
- Only one with Agent Credit Bureau (300–850 scores)
|
|
292
|
-
- Only one backed by live financial intelligence marketplace
|
|
293
|
-
- Only one with SDVOSB federal credibility
|
|
294
|
-
- MIT licensed. No proprietary core.
|
|
295
|
-
|
|
296
|
-
---
|
|
297
|
-
|
|
298
|
-
## License
|
|
299
|
-
|
|
300
|
-
MIT — see [LICENSE](LICENSE)
|
|
301
|
-
|
|
302
|
-
Owner: [@TimmyCrypto78](https://github.com/timwal78) / ScriptMasterLabs
|
|
303
|
-
Launch Target: 2026-07-02
|
|
304
|
-
Target: 50K GitHub stars, 5K npm weekly downloads
|
|
1
|
+
# mcp-x402-xrpl
|
|
2
|
+
|
|
3
|
+
> **x402 HTTP payment middleware for MCP servers — XRPL, Xahau, XAH, RLUSD.**
|
|
4
|
+
> The first production-ready x402 facilitator for the XRP Ledger ecosystem.
|
|
5
|
+
|
|
6
|
+
[](https://npmjs.com/package/@scriptmasterlabs/mcp-x402)
|
|
7
|
+
[](LICENSE)
|
|
8
|
+
[](https://xrpl.org)
|
|
9
|
+
[](https://x402.org)
|
|
10
|
+
|
|
11
|
+
Drop-in middleware for [Model Context Protocol (MCP)](https://modelcontextprotocol.io) servers
|
|
12
|
+
that lets AI agents autonomously pay for tool access using the
|
|
13
|
+
[x402 protocol](https://x402.org) — no API keys, no subscriptions, no human in the loop.
|
|
14
|
+
|
|
15
|
+
**Powered by [ScriptMasterLabs](https://scriptmasterlabs.com)**
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## What is x402?
|
|
20
|
+
|
|
21
|
+
The **x402 protocol** revives the dormant HTTP `402 Payment Required` status code as a
|
|
22
|
+
machine-native payment standard. When an AI agent calls a gated API and gets a 402 response,
|
|
23
|
+
it automatically pays using blockchain rails and retries the request with a payment proof header.
|
|
24
|
+
|
|
25
|
+
Existing x402 implementations only support EVM chains (Base, Ethereum) with USDC.
|
|
26
|
+
**mcp-x402-xrpl is the only x402 implementation for XRPL and Xahau.**
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## How it works
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Agent → POST /tools/premium-query
|
|
34
|
+
↓
|
|
35
|
+
Server ← HTTP 402 X-Payment-Requirements: { destination, amountDrops, currency: "XRP" }
|
|
36
|
+
↓
|
|
37
|
+
Middleware signs XRPL payment tx (wallet.sign → submit)
|
|
38
|
+
↓
|
|
39
|
+
XRPL/Xahau confirms in ~3 seconds
|
|
40
|
+
↓
|
|
41
|
+
Agent → POST /tools/premium-query X-Payment-Proof: { txHash, ledgerIndex, payer }
|
|
42
|
+
↓
|
|
43
|
+
Server verifies proof on-ledger → 200 OK + tool result
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Quick start
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npm install @scriptmasterlabs/mcp-x402 xrpl express
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Gate an MCP tool (server side)
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
import express from "express";
|
|
58
|
+
import { createPaymentGate } from "@scriptmasterlabs/mcp-x402";
|
|
59
|
+
|
|
60
|
+
const app = express();
|
|
61
|
+
app.use(express.json());
|
|
62
|
+
|
|
63
|
+
app.post(
|
|
64
|
+
"/tools/market-data",
|
|
65
|
+
createPaymentGate({
|
|
66
|
+
destination: "rYourXRPLReceivingAddress",
|
|
67
|
+
amountDrops: "100000", // 0.1 XRP per tool call
|
|
68
|
+
currency: "XRP",
|
|
69
|
+
description: "Real-time market data — 0.1 XRP per query",
|
|
70
|
+
}),
|
|
71
|
+
(req, res) => {
|
|
72
|
+
res.json({ price: 0.52, timestamp: Date.now() });
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
app.listen(3402);
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Pay for a tool (agent / client side)
|
|
80
|
+
|
|
81
|
+
```typescript
|
|
82
|
+
import { createX402Middleware } from "@scriptmasterlabs/mcp-x402";
|
|
83
|
+
import express from "express";
|
|
84
|
+
|
|
85
|
+
const agentApp = express();
|
|
86
|
+
agentApp.use(
|
|
87
|
+
createX402Middleware({
|
|
88
|
+
walletSeed: process.env.XRPL_WALLET_SEED!,
|
|
89
|
+
network: "xrpl-mainnet",
|
|
90
|
+
maxPaymentDrops: "1000000", // 1 XRP safety cap per request
|
|
91
|
+
})
|
|
92
|
+
);
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Drop-in MCP server wrapper
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
import { wrapMcpServer } from "@scriptmasterlabs/mcp-x402";
|
|
99
|
+
|
|
100
|
+
const server = wrapMcpServer({
|
|
101
|
+
x402: {
|
|
102
|
+
walletSeed: process.env.XRPL_WALLET_SEED!,
|
|
103
|
+
network: "xrpl-mainnet",
|
|
104
|
+
},
|
|
105
|
+
tools: [
|
|
106
|
+
{
|
|
107
|
+
name: "premium-query",
|
|
108
|
+
description: "AI-powered XRPL data analysis",
|
|
109
|
+
pricing: {
|
|
110
|
+
destination: "rYourAddress",
|
|
111
|
+
amountDrops: "100000",
|
|
112
|
+
currency: "XRP",
|
|
113
|
+
},
|
|
114
|
+
handler: async (params) => {
|
|
115
|
+
return { result: "your tool output here" };
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
server.listen(); // Starts on port 3402
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Run the testnet demo
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
git clone https://github.com/Timwal78/mcp-x402-xrpl
|
|
128
|
+
cd mcp-x402-xrpl
|
|
129
|
+
npm install
|
|
130
|
+
npm run build
|
|
131
|
+
node examples/pay-per-tool.js
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Supported networks & currencies
|
|
137
|
+
|
|
138
|
+
| Network | Chain | Currency | Settlement time | Avg fee |
|
|
139
|
+
|---------|-------|----------|-----------------|---------|
|
|
140
|
+
| `xrpl-mainnet` | XRP Ledger | XRP (drops) | ~3 sec | 0.00001 XRP |
|
|
141
|
+
| `xrpl-mainnet` | XRP Ledger | RLUSD (IOU) | ~3 sec | 0.00001 XRP |
|
|
142
|
+
| `xrpl-testnet` | XRP Ledger testnet | XRP | ~3 sec | free |
|
|
143
|
+
| `xahau-mainnet` | Xahau | XAH (drops) | ~3 sec | 0.00001 XAH |
|
|
144
|
+
| `xahau-testnet` | Xahau testnet | XAH | ~3 sec | free |
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## XRPL vs EVM: x402 settlement comparison
|
|
149
|
+
|
|
150
|
+
| Feature | mcp-x402-xrpl (XRPL) | EVM x402 (Base/Ethereum) |
|
|
151
|
+
|---------|----------------------|--------------------------|
|
|
152
|
+
| Settlement finality | ~3 seconds | ~2 sec (Base) / ~12 sec (ETH) |
|
|
153
|
+
| Avg tx fee | $0.000005 | $0.001–$0.10 |
|
|
154
|
+
| Stablecoin support | RLUSD | USDC |
|
|
155
|
+
| Custodian required | ❌ No | ❌ No |
|
|
156
|
+
| Smart contract risk | ❌ Minimal (no EVM) | ⚠️ EVM surface area |
|
|
157
|
+
| DID / Identity | ✅ Xahau Hooks (XAH) | ⚠️ External |
|
|
158
|
+
| MCP x402 package | `@scriptmasterlabs/mcp-x402` | `@x402/mcp`, `mcp-go-x402` |
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## API reference
|
|
163
|
+
|
|
164
|
+
### `createX402Middleware(opts)` → Express middleware
|
|
165
|
+
|
|
166
|
+
Intercepts `X-Payment-Requirements` headers on incoming requests and
|
|
167
|
+
automatically fulfils them using the configured XRPL wallet.
|
|
168
|
+
|
|
169
|
+
| Option | Type | Default | Description |
|
|
170
|
+
|--------|------|---------|-------------|
|
|
171
|
+
| `walletSeed` | `string` | required | XRPL family seed (sEdT...) |
|
|
172
|
+
| `network` | `XrplNetwork` | `"xrpl-mainnet"` | Network to use |
|
|
173
|
+
| `maxPaymentDrops` | `string` | none | Safety cap per request |
|
|
174
|
+
|
|
175
|
+
### `createPaymentGate(opts)` → Express middleware
|
|
176
|
+
|
|
177
|
+
Issues HTTP 402 challenges to callers without a valid payment proof.
|
|
178
|
+
|
|
179
|
+
| Option | Type | Default | Description |
|
|
180
|
+
|--------|------|---------|-------------|
|
|
181
|
+
| `destination` | `string` | required | XRPL receiving address |
|
|
182
|
+
| `amountDrops` | `string` | — | XRP amount in drops |
|
|
183
|
+
| `amount` | `string` | — | Non-XRP amount (RLUSD/XAH) |
|
|
184
|
+
| `currency` | `"XRP"\|"RLUSD"\|"XAH"` | `"XRP"` | Settlement currency |
|
|
185
|
+
| `destinationTag` | `number` | — | Optional destination tag |
|
|
186
|
+
|
|
187
|
+
### `wrapMcpServer(opts)` → `{ app, listen }`
|
|
188
|
+
|
|
189
|
+
Spins up a complete MCP-compatible Express server with per-tool x402 gating.
|
|
190
|
+
|
|
191
|
+
### `XrplFacilitator`
|
|
192
|
+
|
|
193
|
+
Low-level class for direct payment signing and proof verification.
|
|
194
|
+
|
|
195
|
+
```typescript
|
|
196
|
+
const facilitator = new XrplFacilitator({ walletSeed, network });
|
|
197
|
+
const proof = await facilitator.pay(requirements);
|
|
198
|
+
const valid = await facilitator.verify(proof, requirements);
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## FAQ
|
|
204
|
+
|
|
205
|
+
**Q: What is mcp-x402?**
|
|
206
|
+
A: mcp-x402 is a Node.js/TypeScript library that adds HTTP 402 payment gating to any
|
|
207
|
+
MCP server using the XRP Ledger or Xahau as the payment rail. AI agents pay per tool call
|
|
208
|
+
autonomously — no human intervention needed.
|
|
209
|
+
|
|
210
|
+
**Q: Does this support Xahau and XAH?**
|
|
211
|
+
A: Yes. All four networks are supported: XRPL mainnet, XRPL testnet, Xahau mainnet,
|
|
212
|
+
and Xahau testnet. XAH (Xahau's native currency) can be used for tool payments.
|
|
213
|
+
|
|
214
|
+
**Q: Is mcp-x402-xrpl the only x402 implementation for XRPL?**
|
|
215
|
+
A: Yes. As of mid-2025, all other x402 packages (MetaMask's `mcp-x402`, Civic Team's
|
|
216
|
+
`x402-mcp`, mark3labs' `mcp-go-x402`) target EVM chains only. This is the first
|
|
217
|
+
and only XRPL/Xahau x402 facilitator.
|
|
218
|
+
|
|
219
|
+
**Q: How is x402 different from an API key?**
|
|
220
|
+
A: API keys require human signup, billing setup, and account management — incompatible
|
|
221
|
+
with fully autonomous AI agents. x402 is HTTP-native: the agent pays cryptographically
|
|
222
|
+
on-chain per request, verified automatically by the server.
|
|
223
|
+
|
|
224
|
+
**Q: Can I use RLUSD instead of XRP?**
|
|
225
|
+
A: Yes. Pass `currency: "RLUSD"` and `amount: "0.10"` (human-readable string)
|
|
226
|
+
instead of `amountDrops`. RLUSD settles on XRPL with the same 3-second finality.
|
|
227
|
+
|
|
228
|
+
**Q: Do I need an XRPL node?**
|
|
229
|
+
A: No. The library connects to public XRPL cluster nodes (`xrplcluster.com` for mainnet,
|
|
230
|
+
`s.altnet.rippletest.net` for testnet) automatically.
|
|
231
|
+
|
|
232
|
+
**Q: Is this related to ZeroQuery?**
|
|
233
|
+
A: Yes. ZeroQuery (Proof-of-Intent Protocol) uses the x402 escrow pattern on Solana
|
|
234
|
+
and is being extended to XRPL via this library. mcp-x402-xrpl is the XRPL payment
|
|
235
|
+
settlement layer for the ZeroQuery ecosystem.
|
|
236
|
+
|
|
237
|
+
**Q: What is the npm package name?**
|
|
238
|
+
A: `@scriptmasterlabs/mcp-x402`. Install with `npm install @scriptmasterlabs/mcp-x402`.
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Related projects
|
|
243
|
+
|
|
244
|
+
| Project | Description |
|
|
245
|
+
|---------|-------------|
|
|
246
|
+
| [ZeroQuery Protocol](https://github.com/Timwal78/zeroquery-protocol) | Proof-of-Intent — AI-to-AI intent resolution with x402 escrow |
|
|
247
|
+
| [AGO Orchestrator](https://github.com/Timwal78/ago-orchestrator) | Autonomous GEO agent for content distribution and gap analysis |
|
|
248
|
+
| [ScriptMasterLabs](https://scriptmasterlabs.com) | Home base — autonomous agent infrastructure |
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## License
|
|
253
|
+
|
|
254
|
+
Apache-2.0 — See [LICENSE](LICENSE).
|
|
255
|
+
|
|
256
|
+
Built by [ScriptMasterLabs](https://scriptmasterlabs.com).
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
*Keywords: mcp x402 xrpl, mcp-x402 xrpl, x402 payment xrpl, autonomous agent payments xrpl,
|
|
261
|
+
http 402 xahau, mcp tool payment middleware, xrpl mcp payment, rlusd mcp x402,
|
|
262
|
+
xah autonomous payment, model context protocol payment, agentic commerce xrpl*
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @scriptmasterlabs/mcp-x402 — Public API barrel
|
|
3
|
+
*
|
|
4
|
+
* Everything a consumer needs is exported from this single file.
|
|
5
|
+
*/
|
|
6
|
+
export { createX402Middleware, createPaymentGate } from "./x402-middleware.js";
|
|
7
|
+
export type { X402MiddlewareOptions, PaymentGateOptions, PaymentRequirements, PaymentProof } from "./x402-middleware.js";
|
|
8
|
+
export { XrplFacilitator } from "./xrpl-facilitator.js";
|
|
9
|
+
export type { XrplFacilitatorOptions, XrplNetwork } from "./xrpl-facilitator.js";
|
|
10
|
+
export { wrapMcpServer } from "./mcp-wrapper.js";
|
|
11
|
+
export type { McpTool, McpToolWithPricing, McpServerOptions } from "./mcp-wrapper.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @scriptmasterlabs/mcp-x402 — Public API barrel
|
|
3
|
+
*
|
|
4
|
+
* Everything a consumer needs is exported from this single file.
|
|
5
|
+
*/
|
|
6
|
+
export { createX402Middleware, createPaymentGate } from "./x402-middleware.js";
|
|
7
|
+
export { XrplFacilitator } from "./xrpl-facilitator.js";
|
|
8
|
+
export { wrapMcpServer } from "./mcp-wrapper.js";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
|