gatepay-local-mcp 1.0.3 → 1.0.4
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/Readme.md +247 -66
- package/dist/src/index.js +39 -7
- package/dist/src/index.js.map +1 -1
- package/dist/src/modes/build-pay-fetch.d.ts +3 -2
- package/dist/src/modes/build-pay-fetch.d.ts.map +1 -1
- package/dist/src/modes/build-pay-fetch.js +20 -4
- package/dist/src/modes/build-pay-fetch.js.map +1 -1
- package/dist/src/modes/local-private-key.d.ts.map +1 -1
- package/dist/src/modes/local-private-key.js +31 -10
- package/dist/src/modes/local-private-key.js.map +1 -1
- package/dist/src/modes/plugin-wallet.d.ts +12 -0
- package/dist/src/modes/plugin-wallet.d.ts.map +1 -1
- package/dist/src/modes/plugin-wallet.js +221 -19
- package/dist/src/modes/plugin-wallet.js.map +1 -1
- package/dist/src/modes/quick-wallet.d.ts.map +1 -1
- package/dist/src/modes/quick-wallet.js +23 -9
- package/dist/src/modes/quick-wallet.js.map +1 -1
- package/dist/src/modes/registry.d.ts.map +1 -1
- package/dist/src/modes/registry.js +4 -1
- package/dist/src/modes/registry.js.map +1 -1
- package/dist/src/modes/signers.d.ts +38 -1
- package/dist/src/modes/signers.d.ts.map +1 -1
- package/dist/src/modes/signers.js +418 -10
- package/dist/src/modes/signers.js.map +1 -1
- package/dist/src/modes/types.d.ts +16 -1
- package/dist/src/modes/types.d.ts.map +1 -1
- package/dist/src/wallets/plugin-wallet-client.d.ts +8 -0
- package/dist/src/wallets/plugin-wallet-client.d.ts.map +1 -1
- package/dist/src/wallets/plugin-wallet-client.js +17 -0
- package/dist/src/wallets/plugin-wallet-client.js.map +1 -1
- package/dist/src/x402/exactSvmScheme.d.ts +20 -0
- package/dist/src/x402/exactSvmScheme.d.ts.map +1 -0
- package/dist/src/x402/exactSvmScheme.js +38 -0
- package/dist/src/x402/exactSvmScheme.js.map +1 -0
- package/dist/src/x402/fetch.d.ts.map +1 -1
- package/dist/src/x402/fetch.js +2 -0
- package/dist/src/x402/fetch.js.map +1 -1
- package/dist/src/x402/types.d.ts +5 -0
- package/dist/src/x402/types.d.ts.map +1 -1
- package/dist/src/x402/types.js +0 -3
- package/dist/src/x402/types.js.map +1 -1
- package/package.json +21 -8
package/Readme.md
CHANGED
|
@@ -1,32 +1,171 @@
|
|
|
1
1
|
# gatepay-local-mcp
|
|
2
2
|
|
|
3
|
-
`gatepay-local-mcp` is a local `stdio` MCP server for calling **
|
|
3
|
+
`gatepay-local-mcp` is a local `stdio` MCP server for calling **X402 payment-protected** HTTP endpoints. It provides a suite of MCP tools to handle the complete X402 payment workflow, from placing orders to signing payments and submitting them to merchants.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
- Built-in
|
|
9
|
-
- Multiple signing modes
|
|
7
|
+
- **5 MCP Tools** for flexible X402 payment workflows
|
|
8
|
+
- Built-in X402 payment flow under `src/x402/`
|
|
9
|
+
- **Multiple signing modes**: `local_private_key`, `quick_wallet`, `plugin_wallet`
|
|
10
|
+
- **Multi-chain support**: EVM (Ethereum, Base, Polygon, etc.) and Solana
|
|
10
11
|
- Works with Cursor, Claude Desktop, and other MCP clients
|
|
11
|
-
-
|
|
12
|
+
- Auto-selects the first ready signing mode if not specified
|
|
13
|
+
|
|
14
|
+
## Available Tools
|
|
15
|
+
|
|
16
|
+
### 1. `x402_place_order`
|
|
17
|
+
|
|
18
|
+
Send an HTTP request and return complete response information including headers, body, and the original request details.
|
|
19
|
+
|
|
20
|
+
**Use case**: Initial request to a payment-protected endpoint that returns `402 Payment Required`.
|
|
21
|
+
|
|
22
|
+
**Parameters**:
|
|
23
|
+
```typescript
|
|
24
|
+
{
|
|
25
|
+
url: string; // Target URL (required)
|
|
26
|
+
method?: string; // HTTP method: GET, POST, PUT, PATCH (default: POST)
|
|
27
|
+
body?: string; // JSON string request body (optional)
|
|
28
|
+
sign_mode?: string; // Signing mode: local_private_key, quick_wallet, plugin_wallet (auto-select if omitted)
|
|
29
|
+
wallet_login_provider?: string; // OAuth provider: google, gate (default: gate)
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Returns**: Complete response with status code, headers (including `PAYMENT-REQUIRED`), body, and original request details.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
### 2. `x402_sign_payment`
|
|
38
|
+
|
|
39
|
+
Parse X402 payment requirements, create a signed payment authorization, and submit the payment to complete a 402-protected request (all-in-one workflow).
|
|
40
|
+
|
|
41
|
+
**Use case**: Single-step payment flow - parse, sign, and submit in one call.
|
|
42
|
+
|
|
43
|
+
**Parameters**:
|
|
44
|
+
```typescript
|
|
45
|
+
{
|
|
46
|
+
url: string; // Target URL (required)
|
|
47
|
+
method?: string; // HTTP method (default: POST)
|
|
48
|
+
body?: string; // JSON request body (optional)
|
|
49
|
+
payment_required_header?: string; // Base64-encoded PAYMENT-REQUIRED header
|
|
50
|
+
response_body?: string; // Response body from 402 response (alternative to header)
|
|
51
|
+
sign_mode?: string; // Signing mode (auto-select if omitted)
|
|
52
|
+
wallet_login_provider?: string; // OAuth provider (default: gate)
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Returns**: Final response from the merchant after successful payment.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
### 3. `x402_create_signature`
|
|
61
|
+
|
|
62
|
+
Parse X402 payment requirements and create a signed payment authorization.
|
|
63
|
+
|
|
64
|
+
**Use case**: Two-step workflow - create signature first, then submit separately.
|
|
65
|
+
|
|
66
|
+
**Parameters**:
|
|
67
|
+
```typescript
|
|
68
|
+
{
|
|
69
|
+
payment_required_header?: string; // Base64-encoded PAYMENT-REQUIRED header
|
|
70
|
+
response_body?: string; // Response body from 402 response (alternative to header)
|
|
71
|
+
sign_mode?: string; // Signing mode (auto-select if omitted)
|
|
72
|
+
wallet_login_provider?: string; // OAuth provider (default: gate)
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Returns**: Payment payload and base64-encoded `PAYMENT-SIGNATURE` header value.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### 4. `x402_submit_payment`
|
|
81
|
+
|
|
82
|
+
Submit a signed payment to complete a 402-protected request.
|
|
83
|
+
|
|
84
|
+
**Use case**: Second step of two-step workflow - submit the signature created by `x402_create_signature`.
|
|
85
|
+
|
|
86
|
+
**Parameters**:
|
|
87
|
+
```typescript
|
|
88
|
+
{
|
|
89
|
+
url: string; // Target URL (required)
|
|
90
|
+
method?: string; // HTTP method (default: POST)
|
|
91
|
+
body?: string; // JSON request body (optional)
|
|
92
|
+
payment_signature: string; // Base64-encoded PAYMENT-SIGNATURE from x402_create_signature (required)
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Returns**: Final response from the merchant.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
### 5. `x402_quick_wallet_auth`
|
|
101
|
+
|
|
102
|
+
Pre-authorize with Quick Wallet using device-flow OAuth (Google or Gate account).
|
|
103
|
+
|
|
104
|
+
**Use case**: When using `sign_mode: quick_wallet`, run this first to complete the device-flow login before making payment requests.
|
|
105
|
+
|
|
106
|
+
**Parameters**:
|
|
107
|
+
```typescript
|
|
108
|
+
{
|
|
109
|
+
wallet_login_provider?: string; // OAuth provider: google, gate (default: gate)
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Returns**: Authorization status and wallet addresses (EVM and Solana).
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Workflow Examples
|
|
118
|
+
|
|
119
|
+
### Single-Step Workflow (Recommended)
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
1. x402_place_order → Get payment requirements
|
|
123
|
+
2. x402_sign_payment → Sign and submit payment (all-in-one)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Two-Step Workflow (Advanced)
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
1. x402_place_order → Get payment requirements
|
|
130
|
+
2. x402_create_signature → Create signed payment
|
|
131
|
+
3. x402_submit_payment → Submit signed payment
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Quick Wallet Pre-Auth
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
1. x402_quick_wallet_auth → Authorize with Google/Gate
|
|
138
|
+
2. x402_place_order → Get payment requirements
|
|
139
|
+
3. x402_sign_payment → Sign and submit (using quick_wallet)
|
|
140
|
+
```
|
|
12
141
|
|
|
13
142
|
## Signing Modes
|
|
14
143
|
|
|
15
|
-
The server
|
|
144
|
+
The server supports three signing modes with automatic selection:
|
|
145
|
+
|
|
146
|
+
| `sign_mode` | Status | Networks | Description |
|
|
147
|
+
| ------------------- | --------------------------------------------- | ----------- | ------------------------------------------------------------------------ |
|
|
148
|
+
| `local_private_key` | Ready when `EVM_PRIVATE_KEY` / `SVM_PRIVATE_KEY` set | EVM, Solana | Signs locally with your private keys (no external dependencies) |
|
|
149
|
+
| `quick_wallet` | Ready after OAuth login | EVM, Solana | Custodial MCP wallet with device-flow login (Google/Gate account) |
|
|
150
|
+
| `plugin_wallet` | Ready when `PLUGIN_WALLET_TOKEN` set | EVM, Solana | Browser extension wallet (e.g., Gate Wallet) via MCP bridge |
|
|
151
|
+
|
|
152
|
+
**Priority Order** (when `sign_mode` is omitted):
|
|
153
|
+
1. `plugin_wallet` (priority: 30) - if token configured
|
|
154
|
+
2. `quick_wallet` (priority: 20) - if MCP endpoint configured
|
|
155
|
+
3. `local_private_key` (priority: 10) - if private keys configured
|
|
16
156
|
|
|
17
|
-
|
|
18
|
-
| ------------------- | ------------------------------------------------ | ------------------------------------------------------------------------ |
|
|
19
|
-
| `local_private_key` | Ready when `EVM_PRIVATE_KEY` is set | Signs locally with your EVM private key |
|
|
20
|
-
| `quick_wallet` | Ready after login | Uses the remote MCP wallet and can trigger device-flow login when needed |
|
|
21
|
-
| `plugin_wallet` | Ready when `PLUGIN_WALLET_TOKEN` is set | Signs via browser extension wallet (e.g., Gate Wallet) |
|
|
157
|
+
The server automatically selects the highest-priority ready mode.
|
|
22
158
|
|
|
23
|
-
|
|
159
|
+
### Network Support
|
|
160
|
+
|
|
161
|
+
- **EVM Networks**: Ethereum, Base, Polygon, Arbitrum One, GateChain, GateLayer
|
|
162
|
+
- **Solana Networks**: Solana Mainnet, Solana Devnet
|
|
24
163
|
|
|
25
164
|
## Quick Start
|
|
26
165
|
|
|
27
|
-
###
|
|
166
|
+
### 1. Local Private Key Mode (EVM + Solana)
|
|
28
167
|
|
|
29
|
-
This is the simplest setup
|
|
168
|
+
This is the simplest setup for local signing with your own private keys:
|
|
30
169
|
|
|
31
170
|
```json
|
|
32
171
|
{
|
|
@@ -35,31 +174,62 @@ This is the simplest setup if you want local signing:
|
|
|
35
174
|
"command": "npx",
|
|
36
175
|
"args": ["-y", "gatepay-local-mcp"],
|
|
37
176
|
"env": {
|
|
38
|
-
"EVM_PRIVATE_KEY": "your-evm-private-key-hex-with-or-without-0x-prefix"
|
|
177
|
+
"EVM_PRIVATE_KEY": "your-evm-private-key-hex-with-or-without-0x-prefix",
|
|
178
|
+
"SVM_PRIVATE_KEY": "your-solana-private-key-base58-optional"
|
|
39
179
|
}
|
|
40
180
|
}
|
|
41
181
|
}
|
|
42
182
|
}
|
|
43
183
|
```
|
|
44
184
|
|
|
45
|
-
|
|
185
|
+
- Set `EVM_PRIVATE_KEY` for EVM network payments (Ethereum, Base, Polygon, etc.)
|
|
186
|
+
- Set `SVM_PRIVATE_KEY` for Solana network payments (optional)
|
|
187
|
+
- Put this into your MCP config such as `~/.cursor/mcp.json`, then restart or reload MCP
|
|
46
188
|
|
|
47
|
-
###
|
|
189
|
+
### 2. Quick Wallet Mode (Custodial)
|
|
48
190
|
|
|
49
|
-
|
|
191
|
+
Remote wallet signing with device-flow OAuth (Google or Gate account):
|
|
50
192
|
|
|
51
193
|
```json
|
|
52
194
|
{
|
|
53
195
|
"mcpServers": {
|
|
54
196
|
"gatepay-mcp": {
|
|
55
197
|
"command": "npx",
|
|
56
|
-
"args": ["-y", "gatepay-local-mcp"]
|
|
198
|
+
"args": ["-y", "gatepay-local-mcp"],
|
|
199
|
+
"env": {
|
|
200
|
+
"QUICK_WALLET_MCP_URL": "https://walletmcp.gate.com/mcp",
|
|
201
|
+
"QUICK_WALLET_API_KEY": "your-api-key-optional"
|
|
202
|
+
}
|
|
57
203
|
}
|
|
58
204
|
}
|
|
59
205
|
}
|
|
60
206
|
```
|
|
61
207
|
|
|
62
|
-
|
|
208
|
+
- First payment will trigger device-flow login (opens browser)
|
|
209
|
+
- Token is persisted at `~/.gate-pay/auth.json`
|
|
210
|
+
- Use `x402_quick_wallet_auth` tool to pre-authorize
|
|
211
|
+
|
|
212
|
+
### 3. Plugin Wallet Mode (Browser Extension)
|
|
213
|
+
|
|
214
|
+
Sign with browser extension wallet (e.g., Gate Wallet):
|
|
215
|
+
|
|
216
|
+
```json
|
|
217
|
+
{
|
|
218
|
+
"mcpServers": {
|
|
219
|
+
"gatepay-mcp": {
|
|
220
|
+
"command": "npx",
|
|
221
|
+
"args": ["-y", "gatepay-local-mcp"],
|
|
222
|
+
"env": {
|
|
223
|
+
"PLUGIN_WALLET_TOKEN": "your-plugin-wallet-mcp-token"
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
- Get the token from your browser extension wallet
|
|
231
|
+
- Requires the wallet extension to be installed and running
|
|
232
|
+
- User confirms transactions in the browser extension
|
|
63
233
|
|
|
64
234
|
### Cursor / Claude Desktop with plugin wallet
|
|
65
235
|
|
|
@@ -90,15 +260,17 @@ Before using plugin wallet mode:
|
|
|
90
260
|
|
|
91
261
|
The server loads `.env` from the repository or package root at startup.
|
|
92
262
|
|
|
93
|
-
###
|
|
263
|
+
### Signing Mode Configuration
|
|
94
264
|
|
|
95
|
-
| Variable
|
|
96
|
-
|
|
|
97
|
-
| `EVM_PRIVATE_KEY`
|
|
98
|
-
| `
|
|
99
|
-
| `
|
|
265
|
+
| Variable | Mode | Description |
|
|
266
|
+
| ------------------------- | ------------------- | --------------------------------------------------------------------------- |
|
|
267
|
+
| `EVM_PRIVATE_KEY` | `local_private_key` | Local EVM private key; hex with or without `0x` prefix |
|
|
268
|
+
| `SVM_PRIVATE_KEY` | `local_private_key` | Local Solana private key; base58 encoded (optional) |
|
|
269
|
+
| `QUICK_WALLET_MCP_URL` | `quick_wallet` | MCP wallet endpoint URL (default: `https://walletmcp.gate.com/mcp`) |
|
|
270
|
+
| `QUICK_WALLET_API_KEY` | `quick_wallet` | API key for MCP wallet service (optional) |
|
|
271
|
+
| `PLUGIN_WALLET_TOKEN` | `plugin_wallet` | MCP token from browser extension wallet |
|
|
100
272
|
|
|
101
|
-
### Test and
|
|
273
|
+
### Test and Script Variables
|
|
102
274
|
|
|
103
275
|
| Variable | Used By | Default | Description |
|
|
104
276
|
| ----------------------------- | ------------------------------- | ----------------------- | ----------------------------------------------- |
|
|
@@ -106,55 +278,73 @@ The server loads `.env` from the repository or package root at startup.
|
|
|
106
278
|
| `ENDPOINT_PATH` | `test/privateKey.ts` | `/flight/order` | Endpoint path appended to `RESOURCE_SERVER_URL` |
|
|
107
279
|
| `GATEPAY_MCP_TEST_TIMEOUT_MS` | `test/mcp-x402-request-tool.ts` | `180000` | Timeout for the MCP tool integration test |
|
|
108
280
|
|
|
109
|
-
##
|
|
110
|
-
|
|
111
|
-
### `x402_request`
|
|
112
|
-
|
|
113
|
-
Executes a single HTTP request to an x402-protected endpoint. If the response is `402 Payment Required`, the server completes the payment flow and retries automatically.
|
|
114
|
-
|
|
115
|
-
Use this tool only for endpoints that are expected to require x402 payment.
|
|
281
|
+
## Usage Examples
|
|
116
282
|
|
|
117
|
-
|
|
118
|
-
| ----------------------- | ------ | -------- | ------------------------------------------------------------------------------- |
|
|
119
|
-
| `url` | string | Yes | Full `http` or `https` URL |
|
|
120
|
-
| `method` | string | No | `GET`, `POST`, `PUT`, or `PATCH`; default is `POST` |
|
|
121
|
-
| `body` | string | No | JSON string request body; omit for `GET` |
|
|
122
|
-
| `sign_mode` | string | No | Preferred signing mode: `local_private_key`, `quick_wallet`, or `plugin_wallet` |
|
|
123
|
-
| `wallet_login_provider` | string | No | Login provider for `quick_wallet`: `google` or `gate`; default is `gate` |
|
|
124
|
-
|
|
125
|
-
### Tool examples
|
|
126
|
-
|
|
127
|
-
GET request with automatic mode selection:
|
|
283
|
+
### Example 1: Single-Step Payment (Recommended)
|
|
128
284
|
|
|
129
285
|
```json
|
|
286
|
+
// Step 1: Place order to get payment requirements
|
|
130
287
|
{
|
|
131
|
-
"
|
|
288
|
+
"tool": "x402_place_order",
|
|
289
|
+
"arguments": {
|
|
290
|
+
"url": "https://api.example.com/order",
|
|
291
|
+
"method": "POST",
|
|
292
|
+
"body": "{\"flightId\":\"FL001\",\"uid\":\"100\"}"
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
// Step 2: If 402 response, sign and submit payment
|
|
297
|
+
{
|
|
298
|
+
"tool": "x402_sign_payment",
|
|
299
|
+
"arguments": {
|
|
300
|
+
"url": "https://api.example.com/order",
|
|
301
|
+
"method": "POST",
|
|
302
|
+
"body": "{\"flightId\":\"FL001\",\"uid\":\"100\"}",
|
|
303
|
+
"payment_required_header": "<base64-from-place_order>",
|
|
304
|
+
"sign_mode": "quick_wallet"
|
|
305
|
+
}
|
|
132
306
|
}
|
|
133
307
|
```
|
|
134
308
|
|
|
135
|
-
|
|
309
|
+
### Example 2: Two-Step Payment (Advanced)
|
|
136
310
|
|
|
137
311
|
```json
|
|
312
|
+
// Create signature first
|
|
313
|
+
{
|
|
314
|
+
"tool": "x402_create_signature",
|
|
315
|
+
"arguments": {
|
|
316
|
+
"payment_required_header": "<base64>",
|
|
317
|
+
"sign_mode": "local_private_key"
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
// Then submit separately
|
|
138
322
|
{
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
|
|
142
|
-
|
|
323
|
+
"tool": "x402_submit_payment",
|
|
324
|
+
"arguments": {
|
|
325
|
+
"url": "https://api.example.com/order",
|
|
326
|
+
"payment_signature": "<base64-from-create_signature>"
|
|
327
|
+
}
|
|
143
328
|
}
|
|
144
329
|
```
|
|
145
330
|
|
|
146
|
-
|
|
331
|
+
### Example 3: Quick Wallet with Pre-Auth
|
|
147
332
|
|
|
148
333
|
```json
|
|
334
|
+
// Pre-authorize (opens browser for OAuth)
|
|
149
335
|
{
|
|
150
|
-
"
|
|
151
|
-
"
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
"wallet_login_provider": "gate"
|
|
336
|
+
"tool": "x402_quick_wallet_auth",
|
|
337
|
+
"arguments": {
|
|
338
|
+
"wallet_login_provider": "gate"
|
|
339
|
+
}
|
|
155
340
|
}
|
|
156
341
|
```
|
|
157
342
|
|
|
343
|
+
## Agent Skill
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
For AI agents that orchestrate x402 payments, wallet setup, and merchant discovery, this repository ships an **[Agent Skill](gatepay-local-mcp/skills/SKILL.md at master · gate/gatepay-local-mcp)** at [`skills/SKILL.md`]. Install it in your host’s skills directory or point auto-update at the raw file on your default branch. **Tool names and arguments always follow each tool’s MCP `inputSchema`** on the server you connected; the skill may describe flows that apply across builds, while this package’s exposed tools depend on the version you run (e.g. the minimal npm build exposes `x402_request` only—see the tool list in your client).
|
|
347
|
+
|
|
158
348
|
## Development
|
|
159
349
|
|
|
160
350
|
```bash
|
|
@@ -191,15 +381,6 @@ npm run test:mcp-tool
|
|
|
191
381
|
|
|
192
382
|
If you already logged in before, the saved token in `~/.gate-pay/auth.json` will be reused. Otherwise the quick wallet flow may require interactive device login. You can increase the timeout with `GATEPAY_MCP_TEST_TIMEOUT_MS`.
|
|
193
383
|
|
|
194
|
-
## How It Works
|
|
195
|
-
|
|
196
|
-
1. The MCP client calls `x402_request`.
|
|
197
|
-
2. The server normalizes the input and selects a ready `sign_mode`.
|
|
198
|
-
3. The first request is sent to the target URL.
|
|
199
|
-
4. If the upstream returns `402 Payment Required`, the server parses the payment requirements.
|
|
200
|
-
5. The selected signer signs the payment payload.
|
|
201
|
-
6. The server retries the request with the payment header and returns the final response.
|
|
202
|
-
|
|
203
384
|
## License
|
|
204
385
|
|
|
205
386
|
MIT
|
package/dist/src/index.js
CHANGED
|
@@ -17,6 +17,7 @@ import { getQuickWalletAddressPayload, QuickWalletMode, runQuickWalletDeviceAuth
|
|
|
17
17
|
import { getMcpClient, getMcpClientSync } from "./wallets/wallet-mcp-clients.js";
|
|
18
18
|
import { X402ClientStandalone } from "./x402/client.js";
|
|
19
19
|
import { ExactEvmScheme } from "./x402/exactEvmScheme.js";
|
|
20
|
+
import { ExactSvmScheme } from "./x402/exactSvmScheme.js";
|
|
20
21
|
import { decodePaymentRequiredHeader, encodePaymentSignatureHeader, getPaymentRequiredResponse } from "./x402/http.js";
|
|
21
22
|
import { normalizePaymentRequirements } from "./x402/utils.js";
|
|
22
23
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
@@ -484,10 +485,25 @@ async function handleSignPayment(args, signModeRegistry) {
|
|
|
484
485
|
const selectedMode = await signModeRegistry.selectMode(signMode);
|
|
485
486
|
const signerSession = await selectedMode.mode.resolveSigner({ walletLoginProvider });
|
|
486
487
|
const client = new X402ClientStandalone();
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
488
|
+
// Register EVM networks
|
|
489
|
+
if (signerSession.signer) {
|
|
490
|
+
const evmScheme = new ExactEvmScheme(signerSession.signer);
|
|
491
|
+
for (const network of SUPPORTED_NETWORKS) {
|
|
492
|
+
client.register(network, evmScheme);
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
// Register Solana networks if solanaSigner is available
|
|
496
|
+
if (signerSession.solanaSigner) {
|
|
497
|
+
const solanaNetworks = [
|
|
498
|
+
{ name: "solana", rpcUrl: "https://api.mainnet-beta.solana.com" },
|
|
499
|
+
{ name: "solana-devnet", rpcUrl: "https://api.devnet.solana.com" },
|
|
500
|
+
];
|
|
501
|
+
for (const network of solanaNetworks) {
|
|
502
|
+
const svmScheme = new ExactSvmScheme(signerSession.solanaSigner, {
|
|
503
|
+
rpcUrl: network.rpcUrl,
|
|
504
|
+
});
|
|
505
|
+
client.register(network.name, svmScheme);
|
|
506
|
+
}
|
|
491
507
|
}
|
|
492
508
|
let paymentPayload;
|
|
493
509
|
try {
|
|
@@ -552,9 +568,25 @@ async function handleCreateSignature(args, signModeRegistry) {
|
|
|
552
568
|
const selectedMode = await signModeRegistry.selectMode(signMode);
|
|
553
569
|
const signerSession = await selectedMode.mode.resolveSigner({ walletLoginProvider });
|
|
554
570
|
const client = new X402ClientStandalone();
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
571
|
+
// Register EVM networks
|
|
572
|
+
if (signerSession.signer) {
|
|
573
|
+
const evmScheme = new ExactEvmScheme(signerSession.signer);
|
|
574
|
+
for (const network of SUPPORTED_NETWORKS) {
|
|
575
|
+
client.register(network, evmScheme);
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
// Register Solana networks if solanaSigner is available
|
|
579
|
+
if (signerSession.solanaSigner) {
|
|
580
|
+
const solanaNetworks = [
|
|
581
|
+
{ name: "solana", rpcUrl: "https://api.mainnet-beta.solana.com" },
|
|
582
|
+
{ name: "solana-devnet", rpcUrl: "https://api.devnet.solana.com" },
|
|
583
|
+
];
|
|
584
|
+
for (const network of solanaNetworks) {
|
|
585
|
+
const svmScheme = new ExactSvmScheme(signerSession.solanaSigner, {
|
|
586
|
+
rpcUrl: network.rpcUrl,
|
|
587
|
+
});
|
|
588
|
+
client.register(network.name, svmScheme);
|
|
589
|
+
}
|
|
558
590
|
}
|
|
559
591
|
let paymentPayload;
|
|
560
592
|
try {
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { PayFetchFactory } from "./types.js";
|
|
2
2
|
export declare class DefaultPayFetchFactory implements PayFetchFactory {
|
|
3
|
-
build(
|
|
4
|
-
signer
|
|
3
|
+
build(config: {
|
|
4
|
+
signer?: import("../x402/types.js").ClientEvmSigner;
|
|
5
|
+
solanaSigner?: import("../x402/types.js").ClientSvmSigner;
|
|
5
6
|
}): typeof fetch;
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=build-pay-fetch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-pay-fetch.d.ts","sourceRoot":"","sources":["../../../src/modes/build-pay-fetch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-pay-fetch.d.ts","sourceRoot":"","sources":["../../../src/modes/build-pay-fetch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAiBlD,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,KAAK,CAAC,MAAM,EAAE;QACZ,MAAM,CAAC,EAAE,OAAO,kBAAkB,EAAE,eAAe,CAAC;QACpD,YAAY,CAAC,EAAE,OAAO,kBAAkB,EAAE,eAAe,CAAC;KAC3D,GAAG,OAAO,KAAK;CAqBjB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { X402ClientStandalone } from "../x402/client.js";
|
|
2
2
|
import { ExactEvmScheme } from "../x402/exactEvmScheme.js";
|
|
3
|
+
import { ExactSvmScheme } from "../x402/exactSvmScheme.js";
|
|
3
4
|
import { wrapFetchWithPayment } from "../x402/fetch.js";
|
|
4
|
-
const
|
|
5
|
+
const SUPPORTED_EVM_NETWORKS = [
|
|
5
6
|
"gatelayer_testnet",
|
|
6
7
|
"eth",
|
|
7
8
|
"base",
|
|
@@ -10,11 +11,26 @@ const SUPPORTED_NETWORKS = [
|
|
|
10
11
|
"gatechain",
|
|
11
12
|
"Arbitrum One",
|
|
12
13
|
];
|
|
14
|
+
const SUPPORTED_SOLANA_NETWORKS = [
|
|
15
|
+
{ name: "solana", rpcUrl: "https://api.mainnet-beta.solana.com" },
|
|
16
|
+
{ name: "solana-devnet", rpcUrl: "https://api.devnet.solana.com" },
|
|
17
|
+
];
|
|
13
18
|
export class DefaultPayFetchFactory {
|
|
14
|
-
build(
|
|
19
|
+
build(config) {
|
|
15
20
|
const client = new X402ClientStandalone();
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
// Register EVM networks
|
|
22
|
+
if (config.signer) {
|
|
23
|
+
for (const network of SUPPORTED_EVM_NETWORKS) {
|
|
24
|
+
client.register(network, new ExactEvmScheme(config.signer));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
// Register Solana networks with appropriate RPC URLs
|
|
28
|
+
if (config.solanaSigner) {
|
|
29
|
+
for (const network of SUPPORTED_SOLANA_NETWORKS) {
|
|
30
|
+
client.register(network.name, new ExactSvmScheme(config.solanaSigner, {
|
|
31
|
+
rpcUrl: network.rpcUrl,
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
18
34
|
}
|
|
19
35
|
return wrapFetchWithPayment(fetch, client);
|
|
20
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-pay-fetch.js","sourceRoot":"","sources":["../../../src/modes/build-pay-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,
|
|
1
|
+
{"version":3,"file":"build-pay-fetch.js","sourceRoot":"","sources":["../../../src/modes/build-pay-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,sBAAsB,GAAG;IAC7B,mBAAmB;IACnB,KAAK;IACL,MAAM;IACN,SAAS;IACT,WAAW;IACX,WAAW;IACX,cAAc;CACN,CAAC;AAEX,MAAM,yBAAyB,GAAG;IAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,qCAAqC,EAAE;IACjE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,+BAA+B,EAAE;CAC1D,CAAC;AAEX,MAAM,OAAO,sBAAsB;IACjC,KAAK,CAAC,MAGL;QACC,MAAM,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE1C,wBAAwB;QACxB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE,CAAC;gBAC7C,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,KAAK,MAAM,OAAO,IAAI,yBAAyB,EAAE,CAAC;gBAChD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE;oBACpE,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAED,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-private-key.d.ts","sourceRoot":"","sources":["../../../src/modes/local-private-key.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,qBAAa,mBAAoB,YAAW,kBAAkB;IAC5D,QAAQ,CAAC,EAAE,EAAG,mBAAmB,CAAU;IAC3C,QAAQ,CAAC,QAAQ,MAAM;IAEvB,iBAAiB,IAAI,oBAAoB;
|
|
1
|
+
{"version":3,"file":"local-private-key.d.ts","sourceRoot":"","sources":["../../../src/modes/local-private-key.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,qBAAa,mBAAoB,YAAW,kBAAkB;IAC5D,QAAQ,CAAC,EAAE,EAAG,mBAAmB,CAAU;IAC3C,QAAQ,CAAC,QAAQ,MAAM;IAEvB,iBAAiB,IAAI,oBAAoB;IA0BnC,aAAa,IAAI,OAAO,CAAC,qBAAqB,CAAC;IA0BrD,WAAW,IAAI,MAAM;CAGtB"}
|