USDC payments for merchants
Accept USDC with a QR code. Settle straight to your wallet.
Create an invoice, share a Solana Pay QR code, and let customers pay from their own wallet. Every payment is verified on-chain before it is marked paid.
Example invoice
PaidINV-2026-00001
10.00 USDC
Laptop accessory purchase
- Order
- ORDER-10001
- Recipient
- 7xKX…92Ab
- Pending
- Confirming
- Paid
How it works
- 01
Create an invoice
Set the amount, order ID and expiry. A unique payment reference is generated for the invoice.
- 02
Share the QR code
The customer scans a Solana Pay QR code or opens the checkout link on any device.
- 03
Customer pays in USDC
The customer approves the transfer in their own wallet. Funds go directly to your wallet.
- 04
Verified on-chain
The backend confirms the transfer independently. The invoice shows Confirming, then Paid once finalized.
Paid means verified
A wallet saying “sent” is not proof of payment. The server reads the transaction from the blockchain itself and checks every field before an invoice changes state.
- Recipient
- Funds arrived in the merchant's wallet
- Token
- Circle's official USDC mint, from a server-side allowlist
- Amount
- Exact match in integer base units: no floating point
- Reference
- The unique reference tied to this invoice
- Finality
- Paid only after finalized commitment
- Uniqueness
- One transaction can settle only one invoice
Built on open standards
Solana
Fast, low-fee settlement
USDC
Circle's dollar stablecoin
Solana Pay
Open payment request standard
Wallet Standard
Phantom and other compatible wallets
Next.js + TypeScript
Strictly typed web app and API
PostgreSQL
Relational ledger of invoices and payments