MCP server: One MCP server.

GenesisPay

@genesispayRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Let an AI agent find and pay for x402 APIs and products in USDC on Base, within owner-set limits.

Agent paymentsv1.8.0MITTypeScript
Freeno charge per call

One address for any MCP client. You sign in at genesispay.finance once, after adding it.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

What it asks for at sign-in

Access toReadChange
Genesispay

From the sign-in at genesispay.finance, as the endpoint publishes it. You approve it there.

Tools

None listed · checked 6 Oct 2026

Odel could not list its tools without signing in.

Try it in the Inspector
README3 min read

genesispay-js

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.

PackageWhat it does
@genesis-tech/genesispay-sellerFramework-agnostic payment gate: wrap any Fetch-API handler (Next.js, Hono, Bun) and it becomes a paid x402 endpoint.
@genesis-tech/genesispay-agentAgent-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-mcpMCP 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-protocolPure x402 V2 types, header codecs, validators, and EIP-3009 typed-data helpers. Zero I/O.

Sell: gate an endpoint

ts
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

ts
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

bash
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

bash
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

  1. Bump versions in packages/*/package.json.
  2. Confirm npm Trusted Publishing authorizes .github/workflows/publish.yml for every package. The workflow uses GitHub OIDC (id-token: write); it does not read an NPM_TOKEN secret.
  3. Tag the reviewed snapshot and push that tag.
  4. The publish workflow builds, tests, verifies pack manifests, and publishes only package versions absent from npm.

License

MIT © GenesisTech

Similar modules

Browse Agent payments