genesispay-js
MCP serverAI & modelsLets your agent find and pay for x402 APIs and products in USDC on Base within limits you set.
Available today. Use it from your connected AI after setup.
Needs your own genesispay-js account. You sign in to it and approve access when you connect.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use genesispay-js
About this server
Let an AI agent find and pay for x402 APIs and products in USDC on Base, within owner-set limits.
Install genesispay-js
The server’s own address, for the clients that take one directly. Or connect ahel once and every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user genesispay-js 'https://genesispay.finance/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://genesispay.finance/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=genesispay-js&config=eyJ1cmwiOiJodHRwczovL2dlbmVzaXNwYXkuZmluYW5jZS9tY3AifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://genesispay.finance/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add genesispay-js --url 'https://genesispay.finance/mcp'Run it once, then sign in with codex mcp login genesispay-js if the server asks for an account.
From the project's README
As published by genesistechat/genesispay-js in README.md.
JavaScript/TypeScript SDKs for GenesisPay — stablecoin payments over HTTP 402 (x402) that work for both humans and AI agents. USDC on Base; every amount is integer minor units, never floats.
| Package | What it does |
|---|---|
@genesis-tech/genesispay-seller | Framework-agnostic payment gate: wrap any Fetch-API handler (Next.js, Hono, Bun) and it becomes a paid x402 endpoint. |
@genesis-tech/genesispay-agent | Agent-side client: pay x402-gated URLs (GET, or POST with an exact JSON body) from a policy-guarded agent wallet, discover payable services and shops, handle human approvals. |
@genesis-tech/genesispay-mcp | MCP stdio server (npx @genesis-tech/genesispay-mcp) exposing genesispay_discover / genesispay_shops / genesispay_quote / genesispay_shipping_profile / genesispay_pay / genesispay_payment_status / genesispay_account and more (16 tools, plus an MCP App product card) to Claude and other MCP clients. |
@genesis-tech/genesispay-protocol | Pure x402 V2 types, header codecs, validators, and EIP-3009 typed-data helpers. Zero I/O. |
Sell: gate an endpoint
import { createPaymentGate, genesisPaySettlement } from "@genesis-tech/genesispay-seller";
const gate = createPaymentGate({
amountUsdc: "0.10",
payTo: "0xYourWallet",
description: "Premium market data",
network: "base-sepolia",
});
export const GET = gate.wrap(async () => Response.json({ data: "…" }), {
verifySettlement: genesisPaySettlement({
facilitatorBaseUrl: "https://your-genesispay-instance.example",
apiKey: process.env.GENESISPAY_SELLER_KEY!, // gp_sk_...
}),
});
Buy: pay from an agent
import { GenesisPayAgent } from "@genesis-tech/genesispay-agent";
const agent = new GenesisPayAgent(); // env: GENESISPAY_AGENT_KEY, GENESISPAY_BASE_URL
const [service] = await agent.discover("weather api");
// Persist the key with your order before the first call, then reuse it on retries.
const result = await agent.pay(service.resourceUrl, { idempotencyKey: "saved-order-42", maxAmountUsdc: "0.50" });
if (result.settled) if (result.response) console.log(result.json()); // Replay has no captured resource body.
else console.log("Needs human approval:", result.approvalUrl);
Spending caps, allowlists, and approvals are enforced server-side by GenesisPay — the agent key never holds a raw private key.
Give your AI agent the tools
claude mcp add genesispay \
--env GENESISPAY_AGENT_KEY=gp_ag_your_key \
--env GENESISPAY_BASE_URL=https://your-genesispay-instance.example \
-- npx -y @genesis-tech/genesispay-mcp
See GenesisTechAT/genesispay-agent-skill
for the full agent skill (discovery-then-pay pattern, approval handling) and
config snippets for other MCP clients.
Development
npm ci
npm run build # tsc -b, dependency order
npm test # vitest, tests run from package sources
Node >= 20.9. Each package builds to dist/ with tsc; tests are colocated
(src/*.test.ts).
This repository is a read-only publish mirror — development happens in the main GenesisPay repository and is synced here. Issues and PRs are welcome and are folded back upstream.
Releasing
- Bump versions in
packages/*/package.json. - Confirm npm Trusted Publishing authorizes
.github/workflows/publish.ymlfor every package. The workflow uses GitHub OIDC (id-token: write); it does not read anNPM_TOKENsecret. - Tag the reviewed snapshot and push that tag.
- The publish workflow builds, tests, verifies pack manifests, and publishes only package versions absent from npm.
License
MIT © GenesisTech
Signals
- GitHub stars
- 1
- Last commit
- Oct 2026
- Weekly_downloads
- 570 weekly_downloads
Advanced
- Delivery
- GenesisPay MCP server → your ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
finance-genesispay-mcp- Source
- github.com/genesistechat/genesispay-js
- Hosted endpoint
https://genesispay.finance/mcp
github.com/genesistechat/genesispay-js