GenesisPay

Registre officiel IA et agents

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

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http genesispay 'https://genesispay.finance/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "genesispay": {
            "type": "http",
            "url": "https://genesispay.finance/mcp"
        }
    }
}
NPM package @genesis-tech/genesispay-mcp
Claude Code
claude 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
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "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"
            }
        }
    }
}

Variables d'environnement

  • GENESISPAY_AGENT_KEY obligatoire secret Agent API key (gp_ag_...), created on the GenesisPay dashboard under the agent account's Keys tab.
  • GENESISPAY_BASE_URL obligatoire Base URL of the GenesisPay deployment the agent key belongs to.

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. genesispay-js
  2. Sell: gate an endpoint
  3. Buy: pay from an agent
  4. Give your AI agent the tools
  5. Development
  6. Releasing
  7. License

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

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

  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

Questions fréquentes

Qu'est-ce que GenesisPay ?

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

Comment installer GenesisPay ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http genesispay 'https://genesispay.finance/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour GenesisPay ?

Oui. Il attend GENESISPAY_AGENT_KEY, GENESISPAY_BASE_URL, à renseigner dans sa configuration.

GenesisPay est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient GenesisPay ?

Il est publié par GenesisTechAT. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.