v1.0.0 — Production Launch
VoidPay v1.0.0 — the first production release of zero-backend crypto invoicing. All invoice data lives in the URL hash fragment — no database, no signup, no server-side state. The link IS the invoice.
Core Architecture
- TLV v1 codec with Brotli WASM compression — invoices encode to URL-safe strings under 2KB
- Schema v1 is locked — links created today work forever
- Domain separator + salt for anti-replay protection
- 29-address token dictionary for compact encoding
Networks
- Ethereum (1), Arbitrum (42161), Optimism (10), Polygon PoS (137)
- Native tokens (ETH, MATIC) + any ERC-20 with Uniswap Token List verification
- RPC proxy (
/api/rpc) — API keys server-side, multi-provider failover (Alchemy → Infura → public)
Invoice Creation
- Form-based editor with live InvoicePaper preview
- Line items, due dates, notes (280 char limit), recipient address
- Magic Dust — random micro-amount for exact payment matching
- OG preview opt-in (
?og=) — server sees minimal metadata, hash stays private - ShareModal with link copy, QR code, and social sharing
Payment Flow
- SmartPayButton: 9-state machine (connect → switch network → send → confirm)
- Auto-chain switching — one click from disconnected wallet to submitted transaction
- EIP-681 QR codes for mobile wallet scanning
- Native and ERC-20 transfer support (
send-native.ts,send-erc20.ts)
Verification
- Payment verification to
finalizedblock status — reorg protection /invoicepage for creators to track payment status/paypage decodes hash fragment client-side with 4 error states
History & Export
- LocalStorage-based history (created + paid invoices, no financial data leaves device)
- Client-side PDF generation via pdfmake — QR for pending, "PAID" watermark with tx hash
- Export/import history for backup
Privacy & Security
- No Clarity, no Sentry, no client-side analytics collecting invoice data
- URL hash fragment never sent to server (HTTP spec)
- Umami analytics with
data-exclude-hash— pageviews only, no invoice content - No cookies, no session tokens, no accounts
UI
- Hybrid theme: dark UI (zinc-950) + light invoice document — "paper on desk" metaphor
- Network-colored ambient glows (Ethereum indigo, Arbitrum blue, Optimism red, Polygon purple)
- Pixi.js animated backgrounds on landing
- Mobile-first: 44px touch targets, safe areas,
100dvh, iOS zoom prevention - Glassmorphism design system built on Radix UI + shadcn/ui + Framer Motion
Landing Page
- 9 sections: Hero, Demo, WhyVoidPay, Audience, FAQ, SocialProof, Comparison, Nav, Footer
- JSON-LD schemas: FAQPage, Organization, SoftwareApplication
- Interactive demo invoice
Developer Experience
- Next.js 15 + React 19 + TypeScript strict
- Feature-Sliced Design architecture
- 2,550+ tests, 80%+ coverage (Vitest + Istanbul)
- TypeScript Project References (~1.5s incremental builds)
- ESLint 9 flat config, pre-commit hooks (lint + typecheck + coverage)
Links
- Live: https://voidpay.xyz
- Create invoice: https://voidpay.xyz/create