About Billium
Billium provides a non-custodial crypto payment SDK and an MCP server for merchants managing invoices and webhooks. Its MCP package makes those management tasks available from Claude, Cursor, and other MCP hosts.
Key features
- 01Manage crypto invoices
- 02Manage webhooks
- 03Verify webhook signatures
- 04Node.js SDK for Billium
Use cases
- 01Create and manage payment invoices
- 02Manage merchant webhooks
- 03Verify incoming webhook signatures
MCP support
The @billium/mcp server lets MCP clients manage Billium invoices and webhooks.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @billium/mcpBILLIUM_API_KEYSecretSecret API key (sk_...), from the dashboard under Settings → Developer → API keys.BILLIUM_MERCHANT_IDMerchant ID (mer_...).BILLIUM_BASE_URLOverride the API base URL (testing / staging environments).Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
23Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Invoice display name, e.g. "Order #1234". |
| currency | string | No | Currency code, e.g. 'USD'. Defaults to USD. |
| rawAmount | number | Yes | Amount in the given currency (e.g. 99.99). |
| description | string | No | |
| redirectUrl | string | No | URL to send the customer to after a successful payment. |
| customerName | string | No | |
| customerEmail | string | No | |
| idempotencyKey | string | No | Optional dedup key. If omitted, a UUID is generated so retries never create duplicate invoices. |
| customerAddress | string | No | |
| customerPhoneNumber | string | No |
Details
From the project READMEBillium SDKs
Official client libraries for Billium — non-custodial crypto payments, invoices, and webhooks.
Packages
| Package | Version | Description |
|---|---|---|
@billium/node | Node.js SDK — invoices, webhook signature verification, webhook management | |
@billium/mcp | MCP server — manage invoices and webhooks from Claude, Cursor, and any MCP host |
Additional language SDKs will live as siblings under packages/ as they ship.
Quick start
npm install @billium/node
import { Billium } from '@billium/node';
const billium = new Billium({
apiKey: process.env.BILLIUM_API_KEY,
merchantId: process.env.BILLIUM_MERCHANT_ID,
webhookSecret: process.env.BILLIUM_WEBHOOK_SECRET,
});
const invoice = await billium.invoices.create(
{ name: 'Order #1234', rawAmount: 99.99 },
{ idempotencyKey: crypto.randomUUID() },
);
See packages/node/README.md for the full Node.js SDK reference.
Repository layout
.
├── packages/
│ ├── node/ # @billium/node — TypeScript Node.js SDK
│ │ ├── src/ # Source
│ │ ├── tests/ # Vitest test suite
│ │ ├── README.md # Public-facing docs (rendered on npmjs.com)
│ │ └── CHANGELOG.md # Per-release notes
│ └── mcp/ # @billium/mcp — Model Context Protocol server
│ ├── src/ # Server + tool definitions
│ ├── tests/ # Vitest in-memory round-trip suite
│ └── README.md # Host setup (Claude Code, Cursor, …)
└── .github/
├── workflows/ # CI + release automation
├── ISSUE_TEMPLATE/ # Bug + feature request forms
└── CODEOWNERS # Review requirements
Development
This is an npm workspace. Run scripts from the repository root:
npm install # installs all workspace packages
npm run lint # typechecks every package (src + tests)
npm test # runs every package's test suite
npm run build # builds every package
To work on a specific package, you can also cd packages/node && npm <script>.
Releasing
Releases are published to npm by GitHub Actions when a v*.*.* tag is pushed:
- Bump
packages/node/package.json#versionandpackages/node/src/version.ts#SDK_VERSIONto the new version (CI verifies they match). - Add a section to
packages/node/CHANGELOG.mddescribing the changes. - Commit the bump on
main. - Tag and push:
git tag v1.0.1 && git push origin v1.0.1. - The release workflow runs lint, test, build, then
npm publishwith provenance.
License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.