Invoice templates
USDC invoice template
Bill in USD, accept payment in USDC — with the wallet, network and confirmation details a client actually needs to pay.
Preview
See the template as a client-facing document, then open the same starting point inside Hanko.
Circuit Services
billing@example.com
USDC settlement
INVOICE
#INV-2026-042
Bill to
Northstar Group
Alex Morgan
Engagement details
What this is
A USDC invoice quotes an amount in a fiat currency (typically USD) and accepts payment in USDC, a stablecoin pegged to the dollar — the invoice needs a few things a standard invoice doesn't: the receiving wallet address, which blockchain network to use, and how payment confirmation works.
When to use it
- Billing a client or contractor who prefers or is set up to pay in stablecoins
- Billing international clients where USDC avoids wire fees and delays
- As a payment option alongside fiat rails, not necessarily a replacement for them
What to include
Fiat-equivalent amount
State the amount in USD (or your billing currency) — USDC is pegged 1:1, so this doubles as the USDC amount due.
Receiving wallet address and network
The exact address and which blockchain (e.g., Base, Ethereum, Polygon, Solana) — sending to the wrong network can result in lost funds.
Confirmation policy
State that payment is considered received only once the transaction is confirmed on-chain, not on the client's word.
Fiat fallback
Offer card, ACH or wire as an alternative for clients without a wallet, so USDC is an option, not a requirement.
Template text
Copy this into your own document, or open it directly as a branded starting point in Hanko. Bracketed text like [Client Name] is a placeholder to fill in.
Invoice
Invoice #: [INV-001]
Issue date: [Date] | Due date: [Date]
Amount due: $[amount] USD, payable in USDC (1:1) or fiat
From
[Your Company Name]
[Address]
[Email]
Bill to
[Client Company Name]
[Client Contact Name]
Line items
Description Qty Rate Amount
[Service/deliverable] [1] $[rate] $[amount]
Totals
Subtotal: $[amount]
Total due: $[amount] USD
Payment in USDC
Network: [Base / Ethereum / Polygon / Solana — specify one]
Wallet address: [0x... or wallet address]
Send exactly $[amount] worth of USDC. Payment is considered received only once the transaction is confirmed on the specified network — please do not mark this invoice as paid based on a pending transaction.
Sending on the wrong network may result in lost funds. Confirm the network above before sending.
Alternative payment methods
Card: [payment link]
ACH / wire: [bank details, if offered]
Receipt
A receipt with a block-explorer link will be provided once the USDC payment is confirmed on-chain.
How to customize it
- Specify exactly one network per invoice to avoid confusion — don't list multiple options unless you're prepared to monitor several wallets
- Double- and triple-check the wallet address before sending the invoice — an error here is unrecoverable once funds are sent
- State the confirmation policy plainly so the client understands payment isn't 'done' until it's on-chain
- Keep a fiat fallback listed so clients without a wallet aren't blocked from paying
Common mistakes
- No specified network, leading a client to send on the wrong chain and lose the funds
- Marking the invoice paid based on a client's message ('just sent it!') instead of on-chain confirmation
- No fiat fallback offered, which unnecessarily excludes clients without a crypto wallet
- Wallet address copy-pasted incorrectly — always verify character-for-character before sending
Frequently asked questions
Is USDC always worth exactly $1?
USDC is designed to maintain a 1:1 peg with the US dollar, but like any asset it can experience brief deviations. For invoicing purposes it's treated as equivalent to USD.
What happens if a client sends USDC on the wrong network?
Funds sent on an unsupported or incorrect network are often unrecoverable. Always confirm the exact network before sending, and consider a small test transaction for large invoices.
When should an invoice be marked as paid?
Only once the transaction is confirmed on the specified blockchain network — not when the client says they've sent it. This is the single most important rule for avoiding disputes over crypto payments.
Other templates
Send this invoice with on-chain confirmation built in
Hanko marks a USDC invoice paid only once the network confirms it, with a fiat fallback on the same invoice.