
Accept payments on any website using moneydevkit. Use when building a site that sells something, adding a checkout/paywall, or integrating payments into a Next.js or Replit app. Supports fixed pricing, pay-what-you-want, products, customers, and orders. Bitcoin Lightning under the hood — works globally, no bank account needed.
moneydevkit follows the SKILL.md standard. Use the install command to add it to your agent stack.
---
name: moneydevkit
description: Accept payments on any website using moneydevkit. Use when building a site that sells something, adding a checkout/paywall, or integrating payments into a Next.js or Replit app. Supports fixed pricing, pay-what-you-want, products, customers, and orders. Bitcoin Lightning under the hood — works globally, no bank account needed.
---
# 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
## Docs
Full documentation: [docs.moneydevkit.com](https://docs.moneydevkit.com)