MNEE POS x402
Inspiration
Most crypto payments today still feel like crypto: wallet popups, gas fees, confirmations, and confusing transaction hashes.
Meanwhile, the web already solved payments using HTTP — every SaaS, API, and app expects money to flow over simple requests.
When we discovered the x402 (HTTP 402) payment protocol, it clicked:
[ \text{If browsers speak HTTP and money can speak HTTP, payments become programmable.} ]
We wanted to build something that felt as simple as Stripe, but ran on MNEE stablecoins instead of banks.
So we built MNEE POS x402 — a real point-of-sale system powered by HTTP-native crypto payments.
What it does
MNEE POS x402 lets a merchant:
- Create an invoice for any amount
- Generate a QR code or payment link
- Let a customer pay with their crypto wallet
- Get paid instantly in MNEE stablecoins
- Receive real-time confirmation and a receipt
Behind the scenes, it uses:
- HTTP 402 (x402 protocol)
- ERC-2612 Permit
- ERC-4337 smart accounts to make the entire payment gasless, instant, and web-native.
To the user, it feels like:
“Scan → Pay → Done”
How we built it
The system has three layers:
1. Web POS
Built with Next.js 16 + React 19, where merchants:
- Create invoices
- View QR codes
- Track live payment status
- Download receipts as PDFs
2. HTTP Payment Layer
We implemented x402 using Thirdweb’s SDK so that:
/api/pay/:invoiceIdreturns HTTP 402 Payment Required- Wallets read the headers
- The payment itself becomes the HTTP request
3. Smart-Account Settlement
Payments are executed via:
- ERC-2612 Permit signatures
- ERC-4337 UserOperations
- A gas-sponsored facilitator
This makes transactions gasless and lets users pay without owning ETH.
All invoices and payment states are stored in PostgreSQL via Prisma.
Challenges we ran into
x402 doesn’t return blockchain transaction hashes
It returns a Queue ID (UUID) because payments are batched via ERC-4337. We had to redesign how receipts and tracking work.EIP-712 domain mismatches
MNEE’s token name and version had to exactly match the on-chain contract for Permit signatures to verify.Signature normalization on Sepolia
Sepolia’s EIP-155vvalues required custom normalization for x402 to work correctly.Real-time UX
We built polling and live UI updates so merchants see payments appear instantly.
Accomplishments that we're proud of
- Built a real POS system on stablecoins
- Fully working x402 payment flow
- Gasless crypto checkout
- Invoice system with:
- QR codes
- Live status
- PDF receipts
- Database-backed, production-ready backend
This isn’t a demo — it’s a real payment terminal.
What we learned
- Stablecoins become powerful when they integrate with web standards
- ERC-4337 + x402 creates a Stripe-like abstraction for crypto
- HTTP-native payments unlock:
- APIs that charge money
- Websites that require micro-payments
- Web-first crypto commerce
What's next for MNEE POS x402
- Mainnet deployment
- Multi-merchant accounts
- Invoice history & analytics
- Email receipts
- Webhooks for businesses
- Mapping Queue IDs → blockchain transactions
- Mobile POS mode
Built With
- ethereum
- next.js
- postgresql
- sepolia
- thirdweb
- typescript
Log in or sign up for Devpost to join the conversation.