npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@czagents/payqr

v0.1.13

Published

European payment QR codes — generate and read SPAYD (CZ/SK) and EPC/GiroCode (Eurozone) payment QR, plus standard QR (text, WiFi, vCard). Scan with any banking app to pre-fill a transfer. Runs locally, no data leaves your device. Free.

Readme

@czagents/payqr

European payment QR codes — generate and read SPAYD (CZ/SK) and EPC/GiroCode (Eurozone) payment QR, plus standard QR (text, WiFi, vCard). Scan with any banking app to pre-fill a transfer. Runs locally, no data leaves your device. Free.

Deterministically create SPAYD (Czech/Slovak) and EPC / GiroCode (SEPA) payment QR codes, plus plain-text, Wi-Fi and vCard QR codes — and decode QR codes back from an image.

Free, MIT-licensed, no AI and no paid API. Everything is computed locally; nothing is sent anywhere.

💡 Prefer a browser? The same engine runs as a free web app at https://qr.cz-agents.dev — type the details or drop a payment screenshot / QR code, all client-side.

Why

Copying an IBAN, amount and variable symbol from a broker deposit instruction (Revolut, Trading 212, XTB, an invoice…) into a banking app by hand is slow and error-prone — one wrong digit sends money to the wrong account. This server turns those details into a scannable payment QR your bank app reads directly, and can also read an existing payment QR back into structured fields.

Install

Add it to your MCP client (e.g. Claude Desktop claude_desktop_config.json):

{
  "mcpServers": {
    "payqr": {
      "command": "npx",
      "args": ["-y", "@czagents/payqr"]
    }
  }
}

Or run directly:

npx -y @czagents/payqr        # stdio transport

Tools

Each example is an MCP tool-call argument object.

  • qr_payment — creates a payment QR, selecting SPAYD for CZ/SK IBANs and EPC/GiroCode for other SEPA IBANs. Do not use it from payment details extracted from an image until the user has checked the read-back fields; EPC also requires recipient_name. Example: {"iban":"CZ6508000000192000145399","amount":1500,"currency":"CZK","variable_symbol":"1234567890","message":"Invoice 2026-001"}.
  • qr_text — creates a QR containing plain text. Do not use it for a structured payment, Wi-Fi configuration, or contact when the dedicated tool is appropriate. Example: {"text":"https://cz-agents.dev"}.
  • qr_wifi — creates a Wi-Fi network QR for WPA, WEP, or an open network. Do not use it to share credentials with someone who should not receive network access. Example: {"ssid":"Office WiFi","password":"correct-horse-battery-staple","security":"WPA","hidden":false}.
  • qr_vcard — creates a vCard 3.0 contact QR. Do not use it when the contact has not agreed to share the included personal details. Example: {"name":"Ada Lovelace","phone":"+420123456789","email":"[email protected]","org":"Analytical Engines"}.
  • qr_read — decodes and classifies an existing base64 PNG/JPEG QR image. Do not use it to verify a QR generated by this server, which is already self-verified; do not treat a failed decode as a verified payment. Example: {"image_data":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUg..."}.
  • qr_payment_batch (paid; available when x402 is configured) — generates and verifies up to 50 payment QRs in one invoice-run call. Do not use it for a single payment, or before obtaining the x402 payment terms. Example: {"payments":[{"ref":"INV-001","iban":"CZ6508000000192000145399","amount":1500,"currency":"CZK","variable_symbol":"2026001"}]}.

Each generating tool returns both a rendered QR image and a text block with the encoded payload, the chosen standard and any warnings — so clients display the QR natively and you can verify exactly what it encodes.

Optional IBANforge referral

Successful qr_payment responses, and paid batch responses that generate at least one QR, can include an optional next_steps referral. It is disabled by default. To enable it, set all three variables:

IBANFORGE_REFERRAL_ENABLED=true
IBANFORGE_REFERRAL_URL=https://ibanforge.com/?src=payqr
IBANFORGE_REFERRAL_RELATIONSHIP=unpaid_partner # or affiliate

The URL must use HTTPS and belong to ibanforge.com (or one of its subdomains). Invalid enabled configuration stops the server at startup. The referral URL never contains IBAN, amount, reference, or other payment data. Free non-payment tools, failed payments, and unpaid x402 responses never carry the referral. Affiliate relationships are identified in the returned copy.

Payment-from-image workflow

When you paste a screenshot or photo of payment details, the assistant reads the IBAN, amount, currency, recipient and reference from the image and calls qr_payment. Before showing the QR it echoes the extracted fields back for you to verify against the source — a misread digit sends real money to the wrong place — and only then presents the code.

Standards

  • SPAYD (SPD*1.0*…) — the Czech/Slovak "QR Platba" string format read by Czech and Slovak bank apps.
  • EPC / GiroCode (BCD…) — the SEPA Credit Transfer QR standard (EPC069-12), EUR-only, widely used in Germany, Austria and across the euro area. Requires a recipient name.

Privacy

No telemetry, no network calls for QR generation, no AI. Pure local computation.

License

MIT © cz-agents