PayFiBlog

Proof of Payment: What a Real Receipt Should Show (and How to Check It)

by PayFi · 5 October 2026 · Trust you can check

A picture of a payment proves very little. Anyone can edit a screenshot, and anyone can design an email that looks official. A receipt is worth keeping when it points to a record that nobody can edit, so that anyone can check it without asking the seller, the buyer or the payment company.

A screenshot as "proof"

✓ Payment sent $50.00500.00 To: Amara T. · Today, 09:14 edited in 5 seconds

Looks official. Nothing on it you can check.

A receipt that points to a public record

Receipt · payfi.cx

Received amount
50.00 USDC
Memo
"Translation, 3,000 words, invoice #14"
Recipient wallet
7xKp…9fQ2
Time
2026-10-05 08:14:22 UTC
Settlement TX
4Hn8…kP1w

Solana · public record

  • Transaction 4Hn8…kP1w found
  • Confirmed at 08:14:22 UTC
  • 49.50 USDC to 7xKp…9fQ2 (99%)
  • 0.50 USDC to PayFi (1%)

The memo is fixed in the link before payment.

Edit the picture, and it no longer matches the record.

Example values, shortened. The receipt is drawn only after the payment is split on Solana, because it carries that transaction's code. Anyone can paste the code into a Solana explorer such as Solscan. No buyer name, email or card number appears on the receipt.

The accountant's question

Let's meet a freelancer we will call Amara. She is not a real person, but her week is a familiar one.

Amara translates documents from French and Swahili into English. A small company in Germany hires her to translate a contract, 3,000 words, for 50 dollars. Her contact there, Lukas, pays her through a payment link in USDC, a digital dollar. The money lands in her wallet a few seconds after he pays.

A week later, Lukas writes again. The company's accountant needs "proof of payment" for the books. Lukas has a screenshot of his wallet app saying "sent". The accountant is not impressed. "A screenshot isn't proof. Anyone can make one."

The accountant is right. And the same doubt runs the other way too: when a buyer sends a seller a picture saying "I've paid", the seller has no way to know whether that picture is real.

So what is proof of payment, really? What should a receipt show, and what should it let you check? This essay is about that question, from both sides of the payment.

What we usually accept as proof

Think about what usually counts as proof that someone paid.

A screenshot of a banking or payment app. A confirmation email from a payment service. A PDF receipt with a logo, a reference number and a nice layout. A paper receipt with a stamp. Sometimes just a message: "Done, sent it!"

Most of the time, these work well enough, because most people are honest. But look at what they have in common. They all ask you to trust how something looks. A logo looks official. A layout looks professional. A green checkmark looks like success.

Looks are exactly what is easiest to fake.

How easily proof is faked

This is not a theoretical worry. Fake proof of payment is one of the most common tricks in online buying and selling.

On marketplaces where strangers sell to each other, a common scam is described simply by NordVPN: "A buyer sends a forged or outdated payment screenshot to convince you that the money is on its way." Some scammers go further and design a fake confirmation email that looks like it came from PayPal or a bank. The advice is the same in every warning: never treat a screenshot or an email as proof, and check that the money has actually arrived (NordVPN).

Faking receipts is also getting easier. Computerworld reported that, according to the expense software company AppZen, around 14 percent of the fake receipts it found in September 2025 were made with AI tools, compared with none a year earlier. Another finance company, Ramp, said it had flagged more than 1 million dollars of fraudulent invoices in three months (Computerworld). When a computer can produce a realistic receipt in seconds, a receipt that only looks real is worth less every year.

Invoices, the request side of a payment, are attacked in the same way. In business email compromise, criminals pretend to be a supplier or a colleague and send a payment request with changed bank details. The FBI's Internet Crime Complaint Center received 21,442 complaints of this kind in 2024, with close to 2.8 billion dollars in reported losses (Nacha).

The wider picture points the same way. The US Federal Trade Commission reported that consumers lost more than 12.5 billion dollars to fraud in 2024, and that people lost more money to scams paid by bank transfer or cryptocurrency than with all other payment methods combined (FTC). Payments that are fast and hard to reverse are exactly the payments where proof needs to be solid, before anyone hands over goods, work or money.

The lesson running through all of these is the same. A document that looks right is not proof. Proof is something you can check.

What a screenshot actually shows

It is worth looking closely at what even an honest screenshot proves, because it is less than most people think.

A screenshot of a payment app shows what the sender's own screen displayed at one moment. It does not show whether the payment was completed, reversed or still pending. It does not show whether the money went to the right account; a payment sent to a mistyped address can produce a perfectly real "sent" screen. It does not show whether this is today's payment or an old one, taken from a different deal. And it does not show whether the person sending it is the person who paid.

In other words, a screenshot is the sender's story about a payment, told in a picture. It may be true. But the person receiving it can only check it by asking someone else, usually the very bank or app the screenshot claims to come from.

For sellers, a mistaken belief in that picture can be expensive. They hand over the product, finish the work or ship the item, and only later find that no money arrived. For buyers, a screenshot can also fail them in the opposite direction: they really did pay, but they cannot convince an accountant, a tax office or the seller, because their only evidence is a picture that anyone could have made.

What a receipt should actually prove

If we put looks aside, what should a receipt prove? For almost any payment, it comes down to a few plain questions.

How much was paid? The exact amount, and in which currency.

Where did the money go? Not just a company name, but the actual account or wallet that received it.

When was it paid? A precise time, in a time zone everyone can agree on.

What was it for? A description that both sides agreed to, not one that someone can quietly change later.

Can someone who was not there check it? This is the question most receipts fail. An accountant, an auditor, a tax office or a friend helping to settle an argument should be able to confirm the payment without having to believe either the buyer or the seller.

There is also something a good receipt should not do: reveal more than it needs to. A receipt for a translation does not need the buyer's home address, date of birth or card number. Proof and privacy are not opposites. A good receipt proves the payment and leaves the people alone.

The old idea of proof, and a newer one

For a long time, the answer to "can someone else check it?" was authority. A bank statement was proof because the bank said so. A receipt was proof because it came from a known company. If you doubted it, you had to contact that bank or that company and ask.

This works when there is a trusted authority in the middle, and when that authority answers your questions. It works less well between strangers in different countries, or when the company in the middle is small, unknown or no longer exists.

Payments on a public blockchain offer a different kind of proof. Every transaction of USDT or USDC on Solana is recorded in a public record that anyone can read. Each transaction has its own code, a long string of letters and numbers called a transaction signature. Anyone can paste that code into a free website called a blockchain explorer, such as Solscan, and see the transaction: the amount, the sending address, the receiving address and the time. Nobody can edit it afterwards. Not the buyer, not the seller, not the payment service.

That changes what a receipt can be. Instead of a document that asks you to trust its looks, a receipt can be a pointer to a record that anyone can check.

A receipt built to be checked

PayFi offers several ways for a seller to deliver something after payment. One of them is simply a receipt, built for payments where there is no file to send: freelance services, consulting hours, donations, or money sent by family abroad.

When a seller creates this kind of link, they write a short memo: for example, "Translation, 3,000 words, invoice #14". The memo is part of the link from the moment it is created, before anyone pays. The buyer sees what they are paying for, and the seller cannot change the memo afterwards for that link.

When the buyer pays, PayFi does not draw the receipt straight away. It waits until the payment has been split on the blockchain, which usually takes a few seconds: 99 percent to the seller's wallet and 1 percent to PayFi, in one transaction. Only then is the receipt drawn, because it includes the code of that transaction.

The receipt shows:

The buyer can download it as an image. They also keep their private order link, which reopens the order page later, on any device.

Notice what is not on the receipt: the buyer's name, email, address or card number. PayFi never asks for them, so they cannot appear.

The private order link deserves a word of its own. It is shown to the buyer before they pay, with a reminder to save it. It works like the stub of a ticket: whoever holds it can reopen the order, see its status, download the receipt again or ask for a refund if something went wrong. That is why buyers should keep it private, and why they do not have to rely on a single downloaded image. Lose the picture, and the link brings the receipt back.

Why the exact time matters

One field on a receipt is easy to overlook: the time.

Times matter more than they seem. A client may have a deadline for paying an invoice. A seller may promise delivery within a certain number of hours after payment. An accountant needs to put the payment in the right month, and sometimes the right tax year. If the buyer is in Germany and the seller in Kenya, "paid on Tuesday evening" can mean two different moments.

That is why a receipt should state the time in UTC, the world's standard time, rather than in someone's local time. Everybody can convert UTC to their own clock, and nobody can argue that it meant something else.

On a blockchain receipt, the time is not just a claim either. The transaction on Solana carries its own time. If the receipt says a payment was made at 08:14 UTC on October 5, anyone looking up the transaction will see the same moment.

Why the transaction code matters more than the picture

Here is an honest point that matters. The receipt image is just an image. Someone with editing software could change the number on it, just as they could with any screenshot.

The difference is the transaction code. If someone changes the amount or the wallet on the picture, the code on that picture will lead anyone who checks to the real transaction on Solana, with the real amount and the real wallet. The edit will not match. And if someone invents a code, it will lead to nothing at all.

So a receipt like this does not ask you to believe the picture. It hands you the means to check it. The picture is for convenience: easy to file, easy to send to an accountant. The proof is the record it points to.

There is a second place to check, too. Every payment PayFi settles is written into its public ledger at payfi.cx/ledger, a book of all payments that anyone can read. A buyer can paste their private order link there and find the line for their own order, with the same amounts and the same transaction. Two independent places, the blockchain and the open book, saying the same thing.

How a buyer checks a receipt

Let's go back to Lukas and the accountant.

Lukas opens the receipt image he downloaded after paying Amara. It shows "Received Amount: 50 USDC", the memo "Translation, 3,000 words, invoice #14", Amara's wallet address, a time in UTC and the settlement transaction code.

The accountant copies the transaction code into Solscan. The transaction is there. It shows the order address sending 49.50 USDC to Amara's wallet and 0.50 USDC to PayFi, at the time printed on the receipt.

To connect the wallet to Amara, the accountant checks one more thing: the wallet address on Amara's invoice and on her website. It matches.

The accountant now has something better than a screenshot. They have a record they verified themselves, on a website that neither Lukas nor Amara nor PayFi controls.

Looking up a transaction, step by step

If you have never used a blockchain explorer, it can sound technical. It is not much harder than tracking a parcel.

First, copy the transaction code from the receipt. It is a long string of letters and numbers; copy all of it, not just the start.

Second, open a Solana explorer in your browser. Solscan is one of the most widely used, and others show the same data, because they all read the same public blockchain.

Third, paste the code into the search box at the top of the page.

The page that opens describes one transaction. Near the top, you will see whether it succeeded and the time it was confirmed. Further down, you will see the token transfers: which addresses sent how much USDT or USDC to which other addresses. For a PayFi payment, you will see the order address sending 99 percent to the seller's wallet and 1 percent to PayFi, in the same transaction.

Then compare: does the time match the receipt? Does the receiving wallet match the one on the receipt and on the seller's invoice? Does the amount match? If all three match, the receipt is telling the truth. If anything does not match, you have found the problem in about a minute, without having to ask anyone.

How a seller checks a payment

Now turn it around. A seller receives a message: "Paid! Here's the screenshot."

The safe habit for sellers, with any payment method, is the one the scam warnings repeat: do not trust the picture, check that the money arrived (NordVPN). With digital dollars, that means looking at your own wallet, or looking up the transaction code on an explorer.

With a payment link, the seller does not even need to do that by hand. The buyer's product, or their receipt, only opens after the payment is confirmed on the blockchain. A fake screenshot from a buyer does not unlock anything, because nothing in the system looks at screenshots. It looks at the chain.

That removes a whole category of argument between buyer and seller. "I paid" and "I didn't get it" are no longer two stories against each other. There is one record, and both can look at it.

Putting the payment link inside the invoice

For freelancers and small businesses that already send invoices, there is a simple way to tie everything together.

Amara now puts a payment link at the bottom of each invoice, with a memo that repeats the invoice number: "Translation, 3,000 words, invoice #14". When the client pays through that link, the receipt carries the same invoice number, the same amount and her wallet address, which also appears on the invoice.

Now the three documents support each other. The invoice says what is owed and to which wallet. The receipt says it was paid, when and in which transaction. The blockchain confirms both. An accountant can match them in a minute, and nobody needs to trust a picture.

This also protects against one of the tricks described earlier. If a criminal sent the client a fake invoice with a different wallet address, the payment link and the wallet on Amara's real invoice would not match what the fake one says. A client who knows to look for the wallet on the receipt has one more chance to notice that something is wrong before paying the next time.

The limits of this kind of receipt

A good receipt is honest about what it does not prove.

A wallet address is not a name. The blockchain shows that money went to a certain wallet, not who owns it. If you need to show that the wallet belongs to a specific person or business, connect it the way the accountant did: the same address on an invoice, a website or a contract.

The memo is the seller's description. It is fixed before payment, which is useful, but the blockchain does not check whether the translation was 3,000 words. It proves the payment, not the work.

It may not replace a formal invoice. In many countries, businesses have rules about what an invoice must contain, such as the names and tax numbers of both sides. A receipt that deliberately leaves out names cannot cover those rules on its own. A seller who needs to issue formal invoices can still send one alongside the payment, and the receipt then proves that the invoice was paid.

Records still need keeping. Tax authorities usually expect records to be kept for years. In the United States, for example, the IRS says the general rule is to keep records for 3 years, with longer periods in some situations (IRS). Save the receipt image, the transaction code and, for buyers, the private order link in a safe place. The blockchain record will still be there, but you need the code to find it.

When a payment does not go to plan

Real payments are not always tidy. Buyers sometimes send too little, too much or after the order has expired. A good receipt system needs to be clear in those cases too, because that is exactly when people argue.

With PayFi, each order has its own payment address and a one-hour window. If a buyer sends too little, the order page says so, and the buyer can send the rest or ask for the money back. If a buyer sends too much, the receipt shows the price that was paid, and the extra amount is reported separately as money that belongs to the buyer. The buyer can claim it back from the order page, minus a small refund fee.

Refunds leave their own trail. Each one is a separate transaction on Solana, with its own code, sent to the buyer's wallet. And each one is written into the public ledger, next to the order it belongs to.

So even when something goes wrong, the proof does not become a matter of memory or screenshots. The payment, the extra amount and the refund are each a record that anyone can look up.

Different payments, same kind of proof

The same idea helps in situations that look quite different.

Freelance work. A client pays for a translation, a logo or a week of coding. The receipt shows the agreed description, the amount and the transaction. The client's accountant can check it. The freelancer can show it if a payment is ever questioned.

Deals between strangers in chat. Two people who met on a forum or a social network agree on a price for a service. Neither knows the other. A payment link with a receipt gives both of them one record they can point to, instead of screenshots they have to take on faith.

Donations. A small community project accepts donations. A donor can keep a receipt with the project's wallet address and the transaction, and anyone can confirm that the money arrived in the wallet the project published.

Money from family abroad. Someone working in another country sends money home. The family receives a receipt with the amount, a note and the transaction code. If anyone ever asks where the money came from, there is a clear record of when it arrived and from which order.

In each case, the receipt does the same job: it turns "trust me" into "check it".

Why a payment service would design receipts this way

It is worth asking why a payment service would build receipts around public records instead of around its own brand.

For PayFi, the reason is the same one behind the rest of its design. It does not ask buyers or sellers for accounts, names or IDs, and it does not hold anyone's money. People who use it are often strangers to each other and to PayFi. In that world, a receipt that says "trust us, it's from PayFi" would be weak. PayFi is not a famous bank, and a receipt's value should not depend on anyone knowing or trusting the company behind it.

So the receipt points away from PayFi, to the Solana record and to the open ledger. If PayFi disappeared tomorrow, the transaction behind every receipt would still be on Solana, and anyone could still check it.

There is also a reason to keep names off the receipt. A record that proves a payment without naming the people involved protects both of them. The buyer's identity is not printed on a file that may be forwarded to accountants and colleagues. The seller is identified only by the wallet they chose to publish. Each side can add more information if they want to, but nobody is forced to.

What to keep, and how

If you pay or get paid with digital dollars, a few simple habits make your proof strong.

Buyers: save the receipt image or the product page, the transaction code and your private order link. Keep them where you keep other financial records. If you need to prove the payment, share the receipt and the code. Do not share the private order link with people who should not open your order.

Sellers: publish your wallet address somewhere that clearly belongs to you, such as your website, your invoices or your profile. That is what connects the wallet in a receipt to you. When someone says they paid, check your wallet or the transaction, never just a screenshot.

Anyone checking a receipt: copy the transaction code into a blockchain explorer you trust. Confirm the amount, the receiving wallet and the time. Then confirm that the receiving wallet belongs to the person or business you expect.

None of this takes more than a minute. And none of it requires you to trust the person who sent you the receipt.

Questions people ask

Is a blockchain receipt legally valid? Rules about receipts and invoices depend on your country and your situation. A blockchain receipt is strong evidence that a payment happened, because the transaction can be checked by anyone. Whether it is enough on its own for tax or legal purposes is a question for a local accountant or lawyer.

What if someone edits the receipt image? Then it will not match the transaction it points to. Anyone who checks the code on an explorer will see the real amount, wallet and time.

Can the seller change the memo after I pay? Not for that link. The memo is part of the link from the moment it is created, before payment.

Does the receipt show my name? No. PayFi does not ask for names, so they cannot appear. If you need a receipt in your name, ask the seller for a formal invoice, and keep the PayFi receipt as proof that it was paid.

What if I lose the receipt image? If you still have your private order link, you can reopen your order page. If you have the transaction code, you can find the payment on any Solana explorer. That is the advantage of a receipt that points to a public record: the picture can be replaced, the record cannot be lost.

Back to the accountant

Let's return to Amara, Lukas and the accountant one last time.

The accountant's first answer was the right instinct: a screenshot is not proof. But the old solution to that problem was to demand something that looks more official: a letterhead, a stamp, a bank's logo. Those can be faked too, and today they are faked faster than ever.

The better solution is a different idea of proof. Not a document that looks trustworthy, but a document that points to a record nobody can edit, so that anyone can check it in a minute without trusting the buyer, the seller or the payment company.

Lukas sends the receipt and the transaction code. The accountant checks them, files the receipt and moves on. Amara's next client pays the same way. When that client's accountant asks for proof, she already knows the answer: "Here's the receipt. Don't take my word for it. Look up the transaction."

Sources

PayFi 2026