Invoice #1042 for 0.5 ETH is how you start an argument. Invoice #1042 for $12,500 USD, pay in USDC, is how AP and treasury both sign off.
Three timestamps
- Create: USD amount is the contract. $12,500. Done.
- Pay: client opens the link. For USDC that quote is the same number. Volatile assets lock a brief quote at checkout — we treat that as optional, not the default.
- Confirm: USDC hits the invoice address. Mark paid. Record USD FMV + tx hash for the books.
Quoting BTC/ETH between invoice date and due date is a volatility dispute waiting to happen.
What has to be true
- Display currency: USD (or EUR).
- Settlement: USDC on a chain the merchant actually uses (Ethereum / Polygon / BSC in our stack). Unique deposit address bound at issuance — not a temp wallet the platform can sweep.
- Signed webhook after on-chain confirmation. The chain is the ledger.
Your accountant still books fiat. The client still pays stablecoins. That is the whole product.
Longer write-up: How to invoice in USD and get paid in crypto.
I work on this at Settlematic. Collect is live. Gateway is sandbox.
Top comments (0)