GenesisPay
Let an AI agent find and pay for x402 APIs and products in USDC on Base, within owner-set limits.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http genesispay 'https://genesispay.finance/mcp'
{
"mcpServers": {
"genesispay": {
"type": "http",
"url": "https://genesispay.finance/mcp"
}
}
}
@genesis-tech/genesispay-mcpclaude mcp add genesispay -e 'GENESISPAY_AGENT_KEY=<your genesispay_agent_key>' -e 'GENESISPAY_BASE_URL=https://genesispay.finance' -- npx -y @genesis-tech/genesispay-mcp@1.10.0
{
"mcpServers": {
"genesispay": {
"command": "npx",
"args": [
"-y",
"@genesis-tech/genesispay-mcp@1.10.0"
],
"env": {
"GENESISPAY_AGENT_KEY": "<your genesispay_agent_key>",
"GENESISPAY_BASE_URL": "https://genesispay.finance"
}
}
}
}
Environment variables
GENESISPAY_AGENT_KEYrequired secret Agent API key (gp_ag_...), created on the GenesisPay dashboard under the agent account's Keys tab.GENESISPAY_BASE_URLrequired Base URL of the GenesisPay deployment the agent key belongs to.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
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.
| 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
Frequently asked questions
What is GenesisPay?
Let an AI agent find and pay for x402 APIs and products in USDC on Base, within owner-set limits.
How do I install GenesisPay?
It runs as a remote server. In Claude Code: claude mcp add --transport http genesispay 'https://genesispay.finance/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does GenesisPay need an API key?
Yes. It expects GENESISPAY_AGENT_KEY, GENESISPAY_BASE_URL, which you set in its configuration.
Is GenesisPay open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains GenesisPay?
It is published by GenesisTechAT. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.