Accepting crypto payments as a freelancer or small business

·5 min read·By SSP Editorial Team
SSP Academy cover: accepting crypto payments as a freelancer or small business

Accepting crypto payments as a freelancer or small business

Accepting crypto into your own wallet is simple in principle: share an address, the customer pays, the funds arrive. No processor, no chargebacks, no account that can be frozen. But the things a processor normally handles — matching payments to invoices, finality, refunds, records — are now yours.

Here are the basics. This is general information, not financial or tax advice.

Decide what you accept, and on which network

Start with a short list. Every coin and network you accept is another balance to track and another way for a customer to send to the wrong place.

  • Stablecoins such as USDC or USDT are the natural fit for invoicing: the amount you quote is roughly the amount you keep. But the same token exists on many networks, so "send USDC" is not enough. Name the network every time: "USDC on Base", "USDT on Ethereum".
  • Volatile coins like BTC or ETH are what some customers prefer to pay with. If you accept them, decide in advance whether you hold them or convert them (more on that below).

Moving tokens on an EVM network later costs fees in its native coin, so keep a little ETH, POL or BNB alongside your stablecoins on each network you use.

Give each customer the right address

Your invoice should state, unambiguously: the asset, the network, the exact amount and the address. A QR code helps, because it removes copy-paste mistakes.

In SSP Wallet, the Receive screen shows the address for the selected chain with a QR code and a copy button, along with a reminder that the address is only for that network. Fake "updated payment details" emails are common, so tell customers your address won't change without notice in another channel.

If you run a website, SSP Wallet's developer API has a pay request that opens the customer's wallet with chain, address and amount pre-filled; they still review and approve it. For most freelancers, a clear invoice and a QR code are enough.

Some networks and exchange accounts use memos or destination tags to tell deposits apart. If you ever receive from or send to such an account, read memos, destination tags and missing deposits first.

Match payments to invoices, then wait for finality

There are two common approaches:

  • One address per customer (or per invoice). Reconciliation is easy: whatever arrives at that address belongs to that customer. SSP Wallet lets you generate up to 20 addresses per chain from the wallet switcher, which is plenty for a handful of regular clients. Label them in your own records.
  • One address, distinct amounts. Ask each customer to pay a slightly unique amount (say 500.07 USDC) and match by amount and time. This breaks when customers round, split payments or pay from an exchange that deducts fees.

Many addresses also means many small balances to consolidate later, so pick the approach that matches your volume.

A payment that appears in your wallet isn't necessarily final. Scale the wait with the amount: one confirmation may do for a small payment, while a large Bitcoin payment deserves several before you deliver. Write your rule down once — "under $500: 1 confirmation; above: 6" — and apply it consistently. Confirmations and reorgs explains why the numbers differ between chains.

Over-, underpayments and refunds

Have a policy before it happens:

  • Underpayment: ask for the difference, or accept small shortfalls caused by fees.
  • Overpayment: offer a refund or a credit on the next invoice.
  • Refunds: always ask the customer for a refund address in writing. Never simply send back to "the address it came from". Payments from exchanges usually come from shared hot wallets the customer doesn't control, so funds sent there may be lost or take weeks to recover.

With no chargebacks, your refund policy is the only one the customer has. Put it on your invoices.

Volatility, records and taxes

If you invoice in your local currency but get paid in a volatile coin, the value can change between invoice and payment, and again until you convert. Many small businesses quote in stablecoins, or convert a fixed share of each payment soon after receipt to cover expenses and taxes. Make it a rule, not a case-by-case call.

For records, note for each payment: the date, the invoice, the asset and network, the amount, the transaction ID and the value in your local currency at receipt. In many countries crypto received for work is taxable income at that value, and later conversions can be separate taxable events — check with a local accountant. Keeping records of your crypto covers what to keep and how.

Keep operating funds separate

Don't run your business out of the same wallet as your savings. A simple split is one wallet or set of addresses for incoming payments and day-to-day spending, and a separate one for what you're keeping long term, topped up on a schedule.

For teams, SSP Enterprise adds organisation vaults with M-of-N approval, so no single person can move the company's money, plus a shared address book and transaction export to CSV, Excel or PDF depending on your plan. A treasury policy for small teams walks through how to set up the rules around it.

The honest summary

Self-custody payments are cheap and direct, but you become your own payment processor. Accept few assets, always name the network, reconcile in a way that fits your volume, wait for confirmations in proportion to the amount, refund only to an address the customer gives you, and keep records from day one.

SSP Wallet gives you the building blocks — per-chain receive addresses with QR codes, up to 20 addresses per chain, contacts, and two-device approval for every outgoing payment. It doesn't generate invoices or do your accounting; those still sit with you and your accountant.

Share this article

Related articles