{"_id":"@blockwavelabs/demo-payer","_rev":"2-d5c4695c2d59c98d14a9db8614c712e5","name":"@blockwavelabs/demo-payer","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@blockwavelabs/demo-payer","version":"0.1.0","keywords":["ledger","demo","payer","load","receipt"],"author":"","license":"Apache-2.0","_id":"@blockwavelabs/demo-payer@0.1.0","maintainers":[{"name":"sskys18","email":"jcs25822@gmail.com"}],"bin":{"demo-payer":"dist/cli.js"},"dist":{"shasum":"2c84753df48db3da76e0edbe2338e76347206d84","tarball":"https://registry.npmjs.org/@blockwavelabs/demo-payer/-/demo-payer-0.1.0.tgz","fileCount":7,"integrity":"sha512-D1Ph5df+ObdlgoiGdYW0WQr7+XXREsy9bEKXmE8lKehfxN4qXkVrK+gnMAlNIPqCpsuZMwWyDQtFQFeFwtO5ag==","signatures":[{"sig":"MEQCIGutwX9l6q4B/LGw9GXRPg4Ih3boRljKkfmOi/k8LRIwAiBxbvPIdZDZD81KfVrQCjwwJnrrVGMBl/AHI3o/uFF2Hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25649},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"043e0760f1914a355e806d215625269942c5a177","scripts":{"test":"npm run build && node --test test/**/*.test.mjs","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"npm run build"},"_npmUser":{"name":"sskys18","email":"jcs25822@gmail.com"},"_npmVersion":"10.9.4","description":"API-key authenticated demo payer for Ledger API load and lifecycle demos.","directories":{},"_nodeVersion":"22.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/demo-payer_0.1.0_1778656976650_0.733489911698445","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@blockwavelabs/demo-payer","version":"0.1.2","description":"API-key authenticated demo payer for receipt API load and lifecycle demos.","type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"demo-payer":"dist/cli.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"publishConfig":{"access":"public"},"scripts":{"build":"tsc","prepack":"npm run build","test":"npm run build && node --test test/**/*.test.mjs","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\""},"keywords":["receipt","demo","payer","load","proof"],"author":"","license":"Apache-2.0","devDependencies":{"@types/node":"^20.0.0","typescript":"^5.3.0"},"_id":"@blockwavelabs/demo-payer@0.1.2","gitHead":"6743bb028a5ce26efdee451e7b76d7e3ad10dfce","_nodeVersion":"22.22.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-ugDx71+KDmKoEdVXvxnRvAD6O+CBAhJvO5ZcnOE5VPKb9Dfuu1fz3i27ZNgD32h3n8sH+jp+EVl30XBQb9pMIw==","shasum":"af92c7fa097c3a3ce230d4c002b4238fd076d9c0","tarball":"https://registry.npmjs.org/@blockwavelabs/demo-payer/-/demo-payer-0.1.2.tgz","fileCount":7,"unpackedSize":27594,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGse1xP67QrJYSSDnfvMTirLP079helOFwIdVQiqoBt/AiEAornILXNAOpgiaEo4HFUiFt0UTk4BqZcnNxJekEemXxo="}]},"_npmUser":{"name":"sskys18","email":"jcs25822@gmail.com"},"directories":{},"maintainers":[{"name":"sskys18","email":"jcs25822@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/demo-payer_0.1.2_1778676394828_0.48526787548517136"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-13T07:22:56.589Z","modified":"2026-05-13T12:46:35.279Z","0.1.0":"2026-05-13T07:22:56.801Z","0.1.2":"2026-05-13T12:46:35.100Z"},"license":"Apache-2.0","keywords":["receipt","demo","payer","load","proof"],"description":"API-key authenticated demo payer for receipt API load and lifecycle demos.","maintainers":[{"name":"sskys18","email":"jcs25822@gmail.com"}],"readme":"# @blockwavelabs/demo-payer\n\nAPI-key authenticated demo payer for receipt API load and lifecycle demos.\n\nNpm package: https://www.npmjs.com/package/@blockwavelabs/demo-payer\n\n## Package Contents\n\nThe npm artifact is intentionally dist-only: `dist/*.js`, `dist/*.d.ts`,\n`README.md`, `LICENSE`, and `package.json`. TypeScript `src/` files and source\nmaps are not published.\n\nThis package creates demo receipts through `POST /api/receipts`, fetches the\nreceipt proof, then optionally polls the receipt lifecycle until `COMMITTED` or\n`ANCHORED`.\n\nIt always requires an API key. It is not an anonymous public write tool.\n\n```sh\nnpm install @blockwavelabs/demo-payer\n```\n\n## CLI\n\n```sh\ndemo-payer run \\\n  --api-url https://api.example.com \\\n  --api-key \"$RECEIPT_API_KEY\" \\\n  --count 100 \\\n  --rate 5 \\\n  --scenario skewed \\\n  --wait anchored \\\n  --out receipts.jsonl\n```\n\nWhen `--wait anchored` is used, each JSONL result includes the receipt proof\nneeded by `@blockwavelabs/receipt-proof`, so the verification step does not\nneed an API URL:\n\n```sh\nreceipt-proof rcpt_... --proof receipts.jsonl --json\n```\n\n## JavaScript API\n\n```ts\nimport { DemoPayer } from '@blockwavelabs/demo-payer';\n\nconst payer = new DemoPayer({\n  baseUrl: 'https://api.example.com',\n  apiKey: process.env.RECEIPT_API_KEY!,\n});\n\nconst results = await payer.run({ count: 10, ratePerSecond: 2, wait: 'anchored' });\nconsole.log(results[0].receiptId, results[0].proof);\n```\n\n## API Key Model\n\nReceipt creation is operator/system-key gated. Publishing this package publicly\ndoes not grant write access; callers still need a valid API key from the API\noperator.\n","readmeFilename":"README.md"}