qr-code-scanner

Classify scanned QR codes and route them to cryptocurrency, identity, and token handlers.

Updated Dec 31, 2025
One-click install
npx skills add https://github.com/PerceptLabs/mvmnt --skill qr-code-scanner
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: qr-code-scanner
Source: https://github.com/PerceptLabs/mvmnt/tree/main/skills/qr-code-scanner
Command: npx skills add https://github.com/PerceptLabs/mvmnt --skill qr-code-scanner

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Scanned QR codes often arrive in varied formats and require accurate interpretation and routing. This Skill provides a robust flow to classify camera-scanned content (Bitcoin addresses, Lightning invoices, Lightning addresses, Nostr npubs, Cashu tokens, and unknown data) and dispatch it to the appropriate handlers, with a reliable clipboard paste alternative.

Core Features & Use Cases

  • Camera-based QR scanning with automatic content classification and error handling.
  • Paste-from-clipboard fallback to support text-based QR data when a camera is unavailable.
  • Content-type routing: bitcoin_address, lightning_invoice, lightning_address, npub, cashu_token, unknown.
  • Accessibility considerations and cleanup to prevent resource leaks in UI.
  • Use Case: Developer adds QR scanning to a wallet app to accept Lightning invoices or Cashu tokens by scanning or pasting QR data.

Quick Start

Install html5-qrcode in your project and integrate the hooks and component; ensure a div with id "qr-reader" exists; start scanning and handle results, with a clipboard paste option as a fallback.

Frequently Asked Questions about qr-code-scanner

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I scan and classify QR codes for cryptocurrency payments in a web app?

You can scan and classify cryptocurrency QR codes by integrating a camera-based scanner that automatically routes content types like Bitcoin addresses, Lightning invoices, and Cashu tokens to their correct handlers. It also supports a clipboard paste fallback for text-based data.

Can I use a clipboard paste fallback for Lightning invoices when a camera is unavailable?

Yes, a clipboard paste fallback supports text-based Lightning invoices and other QR data when camera scanning is unavailable. This ensures content classification and routing continues seamlessly without requiring direct camera access.

Do I need the html5-qrcode library to scan QR codes for Nostr npubs and Cashu tokens?

Yes, you need the html5-qrcode library along with a scanning hook and scanner component to properly scan and classify Nostr npubs and Cashu tokens. This setup ensures accurate content-type routing and proper resource cleanup.

How do I prevent resource leaks when implementing camera-based QR code scanning?

To prevent resource leaks during camera-based QR code scanning, apply proper cleanup procedures within the scanning hook and scanner component. This includes handling camera permissions correctly and implementing duplicate scan prevention.

What content types are supported when classifying scanned QR codes for cryptocurrency routing?

Classifying scanned QR codes supports routing for Bitcoin addresses, Lightning invoices, Lightning addresses, Nostr npubs, Cashu tokens, and unknown data. This ensures accurate interpretation and dispatch to the appropriate cryptocurrency handlers.

Why does my QR code scanner keep triggering duplicate cryptocurrency payment requests?

Duplicate cryptocurrency payment requests occur when duplicate scan prevention is not implemented. Applying a prevention mechanism within the scanning hook ensures the scanner ignores repeated captures of the same QR code data.