How to get paid in crypto as a freelancer
How to agree with the client on the amount, token and network
A network is the shared system where crypto transfers are recorded, such as Tron or Ethereum. USDT and USDC are tokens, that is, crypto issued on top of someone else's network, and each of them travels on several networks. A transfer arrives only if the client sends it on a network where your wallet or exchange accepts that token (how to send USDT, what is a stablecoin). The networks a token runs on sometimes change, so before the first job, confirm that your wallet or exchange takes the token on exactly that network.
Agree on fees as a separate point. If the client pays from an exchange account, the exchange may take a withdrawal fee out of the transfer amount, and you will receive less than the invoice says.
The simplest fix is to state in the invoice the amount "to be received", which has to land on your address.
Put these in the invoice or contract:
- the amount and the token, for example 500 USDT;
- the network the client uses to send the payment;
- your address;
- the payment deadline;
- who pays the network fee and the exchange fee.
How do you set the amount on a crypto invoice if the rate keeps changing?
The simplest way is to invoice in a stablecoin from the start: 500 USDT stays 500 USDT however the rates of other cryptocurrencies move. If you agreed on a price in dollars or in local currency and the client pays in another cryptocurrency, write in the invoice the source of the rate, the moment of conversion and how long the invoice is valid. For example, "at the rate of the chosen exchange at the time of sending, invoice valid for 24 hours". After that, the amount is recalculated.
Which address to give the client
You can give an address from your own wallet or from an exchange account. In your own wallet, access to the crypto is protected by a seed phrase, a set of 12 or 24 words that only you know. An exchange address is handy if you sell the payment right away, though on the exchange it is the exchange that controls the crypto, and on some networks a transfer needs a memo, a short note that tells the exchange whose transfer it is. The guide how to store crypto compares these options, and the guide how to send crypto covers the memo.
Copy the address from your wallet in full or share it as a QR code. If you talk to the client in a messaging app, confirm the address again through another channel, for example by voice on a call. With a new client, agree on a small test transfer. The client sends the rest once the test transfer shows up on your side.
How to check that the payment has arrived
Ask the client for the transaction hash and open it in the explorer of the network the payment went through.
An explorer is a website where you can see from a transfer's number whether it arrived. A screenshot of the client's wallet is no proof, since it is easy to fake.
In the explorer, check three things: that the recipient matches your address, that the amount matches the invoice, and that what arrived is genuine USDT or USDC. Scammers issue tokens with the same name, and you can tell them apart by the address of the smart contract, meaning the program inside the network that issues the token. Compare this address with the official list from Tether or Circle. If it is missing from the list, a different token arrived, either a fake or a copy from an intermediary (more on this in the USDT profile). Do not accept such a payment, and do nothing with the token until you have sorted it out with the client1.
How to turn the payment into ordinary money
You sell the payment on an exchange or through P2P, that is, directly to another person on a platform that holds the crypto until the payment arrives, and then withdraw the money to your card. The guide how to sell and cash out crypto gives the steps and the protection against fraud, and the article how to choose a crypto exchange helps you pick a platform for your country.
The bank that receives the money after the sale may ask where it came from. Your answer is the paperwork on the work and on the crypto movements: the contract or invoice to the client, the transaction hash of the payment and the trade history on the exchange. Keep them together, job by job.
How to keep records of payments for taxes
It helps to open a separate wallet or a separate exchange account for work, so that payments do not mix with personal transactions. For every payment, record the date, the token and the amount, the transaction hash, the value in your currency on the day you received it together with where you took the rate from, and the fees paid. The guide how to handle crypto taxes explains how a tax return is put together from such records.
Do you owe tax on a USDT payment you have not cashed out?
That depends on the country ⚖️. The US tax agency (IRS), for example, treats crypto received for services by an independent contractor, such as a freelancer, as income at its market value in dollars on the day it was received. That same value is later used to work out the gain or loss when the crypto is sold4. In such a system, tax arises at the moment of payment even if the USDT stays in the wallet. Your country may handle it differently, and you need to check that against official sources.
What to check in your own country's rules
Tax is one legal side of a payment from abroad, and there are others. Before you take the first job, look up in your country's official sources ⚖️:
- whether you may accept crypto as payment for work and services;
- whether you have to report income from abroad and whether currency control rules apply;
- whether this kind of income requires you to register as a sole trader or self-employed;
- which exchanges and swap services operate legally in the country.
The client has their own country's rules, and those decide whether they can pay you in crypto. What is known about individual countries is collected on the pages cryptocurrency in Argentina, cryptocurrency in Brazil and cryptocurrency in Kazakhstan.
Risks of getting paid in crypto
A confirmed transfer on the network cannot be reversed5, and there is no bank chargeback like the one a card has. The client cannot pull the payment back, and likewise you cannot recover a mistaken transfer without their goodwill. That is why a large job is easier to split into stages, with payment for each one.
The issuer, the company that issues a stablecoin, can freeze tokens at an address. On 8 August 2022, for example, Circle froze USDC at addresses on the US sanctions list6. The profiles USDT and USDC explain how this works for each token.
To send you money, the client needs only your address. A request to connect your wallet to a website and approve something, or to enter your seed phrase in order to "receive the payment", is a sign of fraud. The article staying safe when connecting a crypto wallet explains the danger, and phishing and scams covers other schemes.
More detail on network changes and token copies
On 21 February 2024, Circle stopped issuing USDC on the Tron network7. An intermediary usually issues a copy of a token through a bridge, a service that moves a token from one network to another; USDT on BNB Chain, for example, was issued this way. Networks compatible with Ethereum, such as BNB Chain and Polygon, can share the same addresses.