moneydevkit

Web & Frontend Development
v0.2.0
Benign

Accept payments on any website using moneydevkit.

11.6K downloads1.6K installsby @satbot-mdk

Setup & Installation

Install command

clawhub install satbot-mdk/moneydevkit

If the CLI is not installed:

Install command

npx clawhub@latest install satbot-mdk/moneydevkit

Or install with OpenClaw CLI:

Install command

openclaw skills install satbot-mdk/moneydevkit

or paste the repo link into your assistant's chat

Install command

https://github.com/openclaw/skills/tree/main/skills/satbot-mdk/moneydevkit

What This Skill Does

moneydevkit adds Bitcoin Lightning payments to web apps without a bank account or traditional payment processor. It supports fixed pricing, pay-what-you-want, products, customers, and orders. Next.js and Replit are the two supported frameworks.

Accepts payments globally via Bitcoin Lightning without bank account requirements or payment processor approvals, making it viable where traditional processors are unavailable.

When to Use It

  • Adding a paywall to a Next.js blog
  • Collecting tips or donations with a custom amount
  • Selling digital products from a Replit app
  • Charging for API access via per-request invoices
  • Building a small online store checkout
View original SKILL.md file
# moneydevkit

Add payments to any web app in under 5 minutes. Two supported frameworks: Next.js and Replit (Express + Vite).

## Workflow

### 1. Get credentials

**Option A — MCP:**

There are two MCP servers:
- **Unauthenticated** (`/mcp/`) — for creating a new account and minting credentials
- **Authenticated** (`/mcp/account/`) — for managing your account after setup (requires OAuth)

To create a new account:
```
claude mcp add moneydevkit --transport http https://mcp.moneydevkit.com/mcp/
```

After you have credentials, switch to the authenticated MCP for full account control:
```
claude mcp add moneydevkit --transport http https://mcp.moneydevkit.com/mcp/account/
```

**Option B — CLI:**
```bash
npx @moneydevkit/create
```

**Option C — Dashboard:**
Sign up at [moneydevkit.com](https://moneydevkit.com) and create an app.

All options produce two values:
- `MDK_ACCESS_TOKEN` — API key
- `MDK_MNEMONIC` — wallet seed phrase

Add both to `.env` (or Replit Secrets, Vercel env vars, etc.). Both are required.

### 2. Pick a framework and follow its guide

- **Next.js** → read [references/nextjs.md](references/nextjs.md)
- **Replit (Express + Vite)** → read [references/replit.md](references/replit.md)

### 3. Create products (optional)

For fixed catalog items, create products via the dashboard or MCP:
```
mcporter call moneydevkit.create-product name="T-Shirt" priceAmount=2500 currency=USD
```
Then use `type: 'PRODUCTS'` checkouts with the product ID.

For dynamic amounts (tips, donations, invoices), skip products and use `type: 'AMOUNT'` directly.

### 4. Deploy

Deploy to Vercel (Next.js) or Replit. Ensure `MDK_ACCESS_TOKEN` and `MDK_MNEMONIC` are set in the production environment.

⚠️ Use `printf` not `echo` when piping env vars — trailing newlines cause silent auth failures.

## Checkout types

| Type | Use case | Required fields |
|------|----------|----------------|
| `AMOUNT` | Dynamic amounts, tips, invoices | `amount`, `currency` |
| `PRODUCTS` | Sell dashboard products | `product` (product ID) |

## Pricing options

- **Fixed price** — set specific amount (USD cents or whole sats)
- **Pay what you want** — customer chooses amount (set `amountType: 'CUSTOM'` on product)

## Currency

- `USD` — amounts in cents (e.g. 500 = $5.00)
- `SAT` — amounts in whole satoshis

## Customers

Collect customer info to track purchases and enable refunds:
```ts
await createCheckout({
  // ...checkout fields
  customer: { email: 'jane@example.com', name: 'Jane', externalId: 'user-123' },
  requireCustomerData: ['email', 'name'] // show form for missing fields
})
```

## MCP tools

If the [moneydevkit MCP server](https://mcp.moneydevkit.com/mcp/account/) is connected (authenticated), these tools are available:

- `create-app` / `list-apps` / `update-app` / `rotate-api-key` — manage apps
- `create-product` / `list-products` / `get-product` / `update-product` / `delete-product`
- `create-customer` / `list-customers` / `get-customer` / `update-customer` / `delete-customer`
- `list-checkouts` / `get-checkout` — view checkout sessions
- `list-orders` / `get-order` — view completed payments
- `search-docs` — search moneydevkit documentation

## Security

⚠️ **MDK_MNEMONIC is a wallet seed phrase** — treat it like a private key.

- **Never commit** it to git or share in chat messages
- **Never log** it in application output or error handlers
- Use **environment variables** or a **secrets manager** (Vercel env vars, Replit Secrets, AWS Secrets Manager, etc.)
- For production: prefer **separate apps with limited-scope keys** rather than reusing one mnemonic across projects
- The mnemonic controls the Lightning wallet that receives payments — if compromised, funds can be stolen
- **Test with signet/testnet** credentials first before using mainnet

**MDK_ACCESS_TOKEN** is an API key scoped to your app. Rotate it via the dashboard or MCP (`rotate-api-key`) if compromised.

**External endpoints** used by this skill:
- `mcp.moneydevkit.com` — MCP server for account management (HTTPS, OAuth)
- `docs.moneydevkit.com` — documentation

**Source code:** [@moneydevkit on npm](https://www.npmjs.com/org/moneydevkit) · [docs.moneydevkit.com](https://docs.moneydevkit.com)

## Docs

Full documentation: [docs.moneydevkit.com](https://docs.moneydevkit.com)

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: Adding a paywall to a Next.js blog

AGENT
  1. 1Adding a paywall to a Next.js blog
  2. 2Collecting tips or donations with a custom amount
  3. 3Selling digital products from a Replit app
  4. 4Charging for API access via per-request invoices
  5. 5Building a small online store checkout
OUTPUT
Accept payments on any website using moneydevkit.

Share this skill

Security Audits

VirusTotalBenign
OpenClawBenign
View full report

These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.

Details

LanguageMarkdown
Last updatedFeb 26, 2026