@quackai/q402-mcp 0.8.38 → 0.8.39

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 (2) hide show
  1. package/dist/index.js +11 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -211,7 +211,7 @@ var isValidPrivateKey = (s) => typeof s === "string" && PRIVATE_KEY_RE.test(s);
211
211
  // package.json
212
212
  var package_default = {
213
213
  name: "@quackai/q402-mcp",
214
- version: "0.8.38",
214
+ version: "0.8.39",
215
215
  description: "MCP server for Q402 \u2014 gasless USDC/USDT/RLUSD payments on 11 EVM chains + Chainlink CCIP USDC bridge on the eth/avax/arbitrum triangle, callable from Claude (Desktop / Code), OpenAI Codex CLI, and any other Model Context Protocol client.",
216
216
  mcpName: "io.github.bitgett/q402-mcp",
217
217
  keywords: [
@@ -974,6 +974,9 @@ function checkConsent(intent, provided) {
974
974
  // src/tools/pay.ts
975
975
  var PayInputSchema = z2.object({
976
976
  chain: z2.enum(["avax", "bnb", "eth", "xlayer", "stable", "mantle", "injective", "monad", "scroll", "arbitrum", "base"]),
977
+ rail: z2.enum(["q402", "x402"]).optional().describe(
978
+ 'Settlement rail. Base only \u2014 leave unset everywhere else. "q402" (default) = Q402 gasless EIP-7702 (USDC + USDT). "x402" = the Coinbase x402 standard (EIP-3009 USDC transferWithAuthorization), settled gaslessly by the Q402 facilitator \u2014 Base USDC only, no Hooks. walletMode="agentic-server" only.'
979
+ ),
977
980
  to: z2.string().refine(isAddress2, "to must be a valid 0x-prefixed EVM address").describe("Recipient EVM address (0x + 40 hex)."),
978
981
  amount: z2.string().regex(/^\d+(\.\d+)?$/, "amount must be a positive decimal string").describe('Human-readable decimal amount, e.g. "5.00".'),
979
982
  token: z2.enum(["USDC", "USDT", "RLUSD"]).describe(
@@ -1227,7 +1230,8 @@ async function runPay(input) {
1227
1230
  // the per-wallet hook dispatch, so forwarding here is the only
1228
1231
  // place hookParams take effect. The landing route ignores them
1229
1232
  // for owner-sig calls (trust boundary), so this is safe.
1230
- ...input.hookParams ? { hookParams: input.hookParams } : {}
1233
+ ...input.hookParams ? { hookParams: input.hookParams } : {},
1234
+ ...input.rail ? { rail: input.rail } : {}
1231
1235
  }),
1232
1236
  signal: AbortSignal.timeout(6e4)
1233
1237
  });
@@ -1413,6 +1417,11 @@ var PAY_TOOL = {
1413
1417
  enum: CHAIN_KEYS,
1414
1418
  description: "Target chain."
1415
1419
  },
1420
+ rail: {
1421
+ type: "string",
1422
+ enum: ["q402", "x402"],
1423
+ description: 'Settlement rail (Base only). "q402" (default) = gasless EIP-7702 (USDC+USDT). "x402" = Coinbase x402 standard (EIP-3009), Base USDC only, agentic-server only. Leave unset elsewhere.'
1424
+ },
1416
1425
  to: {
1417
1426
  type: "string",
1418
1427
  description: "Recipient EVM address (0x + 40 hex)."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quackai/q402-mcp",
3
- "version": "0.8.38",
3
+ "version": "0.8.39",
4
4
  "description": "MCP server for Q402 — gasless USDC/USDT/RLUSD payments on 11 EVM chains + Chainlink CCIP USDC bridge on the eth/avax/arbitrum triangle, callable from Claude (Desktop / Code), OpenAI Codex CLI, and any other Model Context Protocol client.",
5
5
  "mcpName": "io.github.bitgett/q402-mcp",
6
6
  "keywords": [