Official client libraries for Billium — non-custodial crypto payments, invoices, and webhooks.
| Package | Version | Description |
|---|---|---|
@billium/node |
Node.js SDK — invoices, webhook signature verification, webhook management |
Additional language SDKs will live as siblings under packages/ as they ship.
npm install @billium/nodeimport { 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.
.
├── 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
└── .github/
├── workflows/ # CI + release automation
├── ISSUE_TEMPLATE/ # Bug + feature request forms
└── CODEOWNERS # Review requirements
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 packageTo work on a specific package, you can also cd packages/node && npm <script>.
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.