{"_id":"@ambosstech/lightning-mpp-sdk","_rev":"4-20506faab7418dec03de532aa509ee9b","name":"@ambosstech/lightning-mpp-sdk","dist-tags":{"latest":"0.2.3"},"versions":{"0.1.1":{"name":"@ambosstech/lightning-mpp-sdk","version":"0.1.1","_id":"@ambosstech/lightning-mpp-sdk@0.1.1","maintainers":[{"name":"ambossbot","email":"external-npm@amboss.tech"}],"dist":{"shasum":"51eca03da8a7c5feda06dd3192609ee4fbe143cf","tarball":"https://registry.npmjs.org/@ambosstech/lightning-mpp-sdk/-/lightning-mpp-sdk-0.1.1.tgz","fileCount":7,"integrity":"sha512-tvLQ5/Q/v1+oeBUwk/uShdL+MAc3cWhV6v9loaHBPFWppCYrOUQQB888DZAsQwfdSm9I0XKk9J9Uuynfhj+7LA==","signatures":[{"sig":"MEYCIQCOSL6I52ta+mRVJOxvhwcksn7Drx6IzOuOzB2QkR+c4gIhAJgF/aplh4TWGRfWxbTsARzD37Ke7G6HbVHJICDgvgNg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201607},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8e4a6b902c84c8818036ceda00a192a129105134","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"ambossbot","email":"external-npm@amboss.tech"},"_npmVersion":"11.8.0","directories":{},"_nodeVersion":"24.13.1","dependencies":{"zod":"^3.24.0","mppx":"^0.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"~5.7.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/lightning-mpp-sdk_0.1.1_1773874512877_0.584685830840795","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ambosstech/lightning-mpp-sdk","version":"0.2.0","_id":"@ambosstech/lightning-mpp-sdk@0.2.0","maintainers":[{"name":"ambossbot","email":"external-npm@amboss.tech"}],"homepage":"https://github.com/AmbossTech/lightning-mpp-sdk#readme","bugs":{"url":"https://github.com/AmbossTech/lightning-mpp-sdk/issues"},"dist":{"shasum":"3a67b5eec46f736a0692a0e784e5f250bea639d7","tarball":"https://registry.npmjs.org/@ambosstech/lightning-mpp-sdk/-/lightning-mpp-sdk-0.2.0.tgz","fileCount":8,"integrity":"sha512-sduVk4L0viEiP3LnwXn0gsc1HZIh/tT3/EfZAnLiCNuj9gOP6BmG1FW8A+smUodyNt/hqOo4+lB9SnLeoLoD+g==","signatures":[{"sig":"MEYCIQDOz3gVckKQlXVqWywuLKKBeWzZTx2y7dXPE2PywrifKQIhAN21vlYMbU1FHU4qDXHtyknS+nr/p2vBrNVldrIQFzyW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ambosstech%2flightning-mpp-sdk@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205851},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c3ea9b293975a02d3f26c38566e0fcc198183878","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:304cf278-c144-41ca-afa3-27e441e41b46"}},"repository":{"url":"git+https://github.com/AmbossTech/lightning-mpp-sdk.git","type":"git","directory":"packages/sdk"},"_npmVersion":"11.9.0","description":"Core SDK for Lightning Network payments using [MPP](https://mpp.dev) (Machine Payments Protocol).","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^3.24.0","mppx":"^0.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"~5.7.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/lightning-mpp-sdk_0.2.0_1774029947143_0.5474813123319953","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@ambosstech/lightning-mpp-sdk","version":"0.2.2","keywords":["lightning","bitcoin","payments","mpp","bolt11","402"],"_id":"@ambosstech/lightning-mpp-sdk@0.2.2","maintainers":[{"name":"ambossbot","email":"external-npm@amboss.tech"}],"homepage":"https://github.com/AmbossTech/lightning-mpp-sdk#readme","bugs":{"url":"https://github.com/AmbossTech/lightning-mpp-sdk/issues"},"dist":{"shasum":"5b35bd5f184d2ce072c74a22c6c5e656de88736c","tarball":"https://registry.npmjs.org/@ambosstech/lightning-mpp-sdk/-/lightning-mpp-sdk-0.2.2.tgz","fileCount":8,"integrity":"sha512-p4ngJ6cQDbENTSgEb0+84vo3vTyzf2SXXpevUT//e//hlCDw9qfeAm5YusrTDwnR/88cPZQIEDjTuBVRdZ3lzA==","signatures":[{"sig":"MEUCIQCG1k5hQnI1OdRaaOSnVT0DwDhnPIykiOhas0bcBVgQWQIgZtxzOPxzRJH6iiq4323L+InTN/4jcTVnRl8xbBKw/T4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ambosstech%2flightning-mpp-sdk@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":206044},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9d2cf2842f6ee9eb65af3276474494470a3ed5f0","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6717e398-e649-4d8e-a54b-17e53664370b"}},"repository":{"url":"git+https://github.com/AmbossTech/lightning-mpp-sdk.git","type":"git","directory":"packages/sdk"},"_npmVersion":"11.9.0","description":"Lightning Network payment method for Machine Payments Protocol (MPP)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^3.24.0","mppx":"^0.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"~5.7.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/lightning-mpp-sdk_0.2.2_1774033973507_0.5423946563038227","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@ambosstech/lightning-mpp-sdk","description":"Lightning Network payment method for Machine Payments Protocol (MPP)","keywords":["lightning","bitcoin","payments","mpp","bolt11","402"],"version":"0.2.3","repository":{"type":"git","url":"git+https://github.com/AmbossTech/lightning-mpp-sdk.git","directory":"packages/sdk"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","clean":"rm -rf dist"},"dependencies":{"light-bolt11-decoder":"^3.2.0","mppx":"^0.4.7","zod":"^3.24.0"},"devDependencies":{"@types/node":"^25.5.0","tsup":"^8.3.0","typescript":"~5.7.0","vitest":"^2.1.0"},"gitHead":"7f80fd3e759cb6c3edc2149e83e2f0d75adec4f4","_id":"@ambosstech/lightning-mpp-sdk@0.2.3","bugs":{"url":"https://github.com/AmbossTech/lightning-mpp-sdk/issues"},"homepage":"https://github.com/AmbossTech/lightning-mpp-sdk#readme","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-crvZNkCEgahoNOB7rJRuRHVPa6vI+rpWZHvK/BpZyX/hmjkZToNWnIph3LOBQ9VHP2x7HY0Z6GX+bcjB60UxXA==","shasum":"c500a3ce8cde9922b01b23da9e9c4315c41e9b16","tarball":"https://registry.npmjs.org/@ambosstech/lightning-mpp-sdk/-/lightning-mpp-sdk-0.2.3.tgz","fileCount":8,"unpackedSize":210887,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ambosstech%2flightning-mpp-sdk@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCYxkE6QFDPf0frcanS0/uxKq20Hq0VkYtzY8a9PmkJ3QIgFEUHcSMHl2ycTWwPttzD8z2VyVcXO/ZuT4LTYpuFy9c="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6717e398-e649-4d8e-a54b-17e53664370b"}},"directories":{},"maintainers":[{"name":"ambossbot","email":"external-npm@amboss.tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lightning-mpp-sdk_0.2.3_1774037234048_0.9771992871003847"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-18T22:55:12.763Z","modified":"2026-03-20T20:07:14.586Z","0.1.1":"2026-03-18T22:55:13.036Z","0.2.0":"2026-03-20T18:05:47.364Z","0.2.2":"2026-03-20T19:12:53.656Z","0.2.3":"2026-03-20T20:07:14.218Z"},"bugs":{"url":"https://github.com/AmbossTech/lightning-mpp-sdk/issues"},"homepage":"https://github.com/AmbossTech/lightning-mpp-sdk#readme","keywords":["lightning","bitcoin","payments","mpp","bolt11","402"],"repository":{"type":"git","url":"git+https://github.com/AmbossTech/lightning-mpp-sdk.git","directory":"packages/sdk"},"description":"Lightning Network payment method for Machine Payments Protocol (MPP)","maintainers":[{"name":"ambossbot","email":"external-npm@amboss.tech"}],"readme":"# @ambosstech/lightning-mpp-sdk\n\nCore SDK for Lightning Network payments using [MPP](https://mpp.dev) (Machine Payments Protocol).\n\nMPP lets any HTTP API accept payments using the standard `402 Payment Required` flow. This SDK provides the method definitions, provider interface, store, and error classes — pair it with an adapter to connect to your Lightning node or wallet.\n\n## Installation\n\n```bash\npnpm add @ambosstech/lightning-mpp-sdk\n```\n\nYou'll also need an adapter:\n\n- [`@ambosstech/lightning-mpp-adapter-lnd`](https://www.npmjs.com/package/@ambosstech/lightning-mpp-adapter-lnd) — LND (gRPC + REST)\n- [`@ambosstech/lightning-mpp-adapter-nwc`](https://www.npmjs.com/package/@ambosstech/lightning-mpp-adapter-nwc) — Nostr Wallet Connect (NIP-47)\n- [`@ambosstech/lightning-mpp-adapter-mock`](https://www.npmjs.com/package/@ambosstech/lightning-mpp-adapter-mock) — Mock for testing\n\n## Usage\n\n### Server — charge (one-time payment)\n\n```ts\nimport { Mppx } from \"mppx\";\nimport { lightningChargeServer, createMemoryStore } from \"@ambosstech/lightning-mpp-sdk\";\nimport { LndLightningProvider } from \"@ambosstech/lightning-mpp-adapter-lnd\";\n\nconst provider = new LndLightningProvider({\n  transport: \"rest\",\n  url: \"https://127.0.0.1:8080\",\n  macaroon: process.env.LND_MACAROON!,\n});\n\nconst chargeMethod = lightningChargeServer({\n  provider,\n  currency: \"sat\",\n  network: \"mainnet\",\n});\n\nconst mppx = Mppx.create({\n  methods: [chargeMethod],\n  secretKey: process.env.MPP_SECRET_KEY!,\n});\n\nexport async function handler(request: Request): Promise<Response> {\n  const result = await mppx.charge({\n    amount: \"100\",\n    currency: \"sat\",\n    description: \"Premium API access\",\n  })(request);\n\n  if (result.status === 402) return result.challenge;\n  return result.withReceipt(Response.json({ data: \"...\" }));\n}\n```\n\n### Client — charge (one-time payment)\n\n```ts\nimport { Mppx } from \"mppx\";\nimport { lightningChargeClient } from \"@ambosstech/lightning-mpp-sdk\";\nimport { LndLightningProvider } from \"@ambosstech/lightning-mpp-adapter-lnd\";\n\nconst provider = new LndLightningProvider({\n  transport: \"rest\",\n  url: \"https://127.0.0.1:8080\",\n  macaroon: process.env.LND_MACAROON!,\n});\n\nconst chargeClient = lightningChargeClient(provider, {\n  maxFeeSats: 100,\n  onProgress: (event) => console.log(event.type),\n});\n\nconst mppx = Mppx.create({ polyfill: false, methods: [chargeClient] });\nconst response = await mppx.fetch(\"https://api.example.com/weather\");\n```\n\n## Provider interface\n\nImplement `LightningProvider` to add support for any Lightning node or wallet:\n\n```ts\nimport type { LightningProvider } from \"@ambosstech/lightning-mpp-sdk\";\n\nclass MyProvider implements LightningProvider {\n  async createInvoice(params: { amountSats: number; memo?: string; expirySecs?: number }) {\n    // Return { bolt11: string, paymentHash: string }\n  }\n  async payInvoice(params: { bolt11: string; amountSats?: number; maxFeeSats?: number; timeoutSecs?: number }) {\n    // Return { preimage: string }\n  }\n  async lookupInvoice(params: { paymentHash: string }) {\n    // Return { settled: boolean, preimage?: string, amountSats?: number }\n  }\n}\n```\n\n## Error handling\n\n```ts\nimport {\n  InsufficientBalanceError,\n  InvoiceExpiredError,\n  RouteNotFoundError,\n  PaymentTimeoutError,\n  ConnectionError,\n  AuthenticationError,\n} from \"@ambosstech/lightning-mpp-sdk\";\n```\n\n| Error                      | Code                   | When                             |\n| -------------------------- | ---------------------- | -------------------------------- |\n| `InsufficientBalanceError` | `INSUFFICIENT_BALANCE` | Not enough local balance         |\n| `InvoiceExpiredError`      | `INVOICE_EXPIRED`      | Invoice TTL has elapsed          |\n| `RouteNotFoundError`       | `ROUTE_NOT_FOUND`      | No route to destination          |\n| `PaymentTimeoutError`      | `PAYMENT_TIMEOUT`      | Payment did not complete in time |\n| `ConnectionError`          | `CONNECTION_ERROR`     | Cannot reach the Lightning node  |\n| `AuthenticationError`      | `AUTHENTICATION_ERROR` | Invalid credentials              |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}