The build story · November 2026

Trust the deal,not the stranger.

How Handshake went from a familiar bad feeling to a working product in four days, what it taught us, and where we want to take it.

Yashas M · Founder · 8 min read

It starts with a message

Almost everyone has a version of this story. You find a used console at a good price. The seller is friendly and replies fast. Then: “Still available! Send it Friends & Family so there are no fees, and please do it in the next half hour, two other people are asking.”

You stand there with your thumb over the button. If you pay, there's no protection at all. If you ask for buyer protection, the seller goes quiet. If you meet in person, you're carrying cash to meet a stranger. Honest sellers have it no better: fake “payment sent” screenshots, boxes that “arrived empty”, and chargebacks weeks later.

What struck me is that this isn't a technology gap. PayPal can already hold money without sending it. AI can already read a chat and spot pressure tactics. Nobody had put them in the one place the risk actually happens: the moment two strangers agree a deal.

The real problem is that trust has to come first. Handshake exists to remove that first leap.

One rule before any code

Before writing anything, I set one rule, and it shaped every decision after it: the AI advises, code moves the money.

AI is very good at reading a messy chat, a blurry shipping label or a photo of a cracked controller. It should never be the thing that decides how much money moves. So every model in Handshake returns structured data checked against a strict schema, and every amount, limit and refund is computed by plain, tested code, then executed by PayPal.

Day one: money first

I started with the part that had to be right: the money. Before there was a single screen, a script proved the whole PayPal lifecycle on the sandbox: hold the buyer's money with an authorization, capture part of it, attach tracking, pay the seller, release a hold. That gave Handshake its shape: the buyer's money is reserved, not sent, and only the fair amount is ever captured.

By the evening there was a working site: the scam check, PayPal-held deals, AI damage claims, and two AI agents negotiating a price. That last one needed the most care. Each agent knows only its own owner's secret limit, and a referee written in code checks every offer and every message, so neither can cross its limit or leak it, even when a listing tries to talk it into doing so.

Deals also had to finish on their own, so deadlines moved into a Render Workflow: a seller who never ships has the hold released, an old hold is renewed, and a buyer who goes quiet after a verified delivery can't stall the seller forever.

Day two: making it real

Day two was about proof. A live test suite started running real deals against the PayPal sandbox and the real AI models, with real images: scam screenshots, shipping labels to the right and wrong address, a cracked Joy-Con, even a coffee cup sent as “damage”. It found a real privacy bug on its first run, and that set the habit for the rest of the week: every bug becomes a test.

Then the product grew. A buyer can paste a listing link and a cloud browser checks whether the photos are the seller's own. Every scam caught is remembered, so the next one is recognised by its tactics, a reused phone number or a reused photo, but only after two different people report it, so nobody can smear an honest seller. And for local deals, the buyer checks the item and scans the seller's one-time code: PayPal pays on the spot, no cash involved.

Day three: from demo to product

Sign in with PayPal came first, so sellers are paid into their own account. Chrome flagged the first version as phishing: a free-hosting address jumping straight to a PayPal login looks exactly like a scam kit. The fix was humbling and simple: let the browser go to PayPal itself.

Payouts taught the biggest lesson. After many test deals they started failing, because PayPal was holding the incoming money on a new business account. Handshake learned to queue a refused payout and retry it, to tell a seller they're paid only once PayPal confirms it, and to pay from a separate balance. Then came emails, real parcel tracking with the carrier, a public status page, and a proper database where two servers can never run the same money step at once.

Day four: trying to break it

The last day started with an uncomfortable discovery: the automated tests had quietly written test deals into the live database during a deploy. Now tests strip every live setting first, and any attempt to reach a real service from a test fails loudly.

Then I attacked the live site the way a scammer would: stolen links, forged requests, injected scripts, five buyers paying at the same moment, prompt injection. Most of it held. The most important find was subtle: the “no red flags” badge on a deal page came from the seller's own browser, so a scammer could have forged one. Scans are now sealed by the server, and a seller's own check never vouches for them. I also walked through it as a stranger would, which found the most human bug of all: someone trying it alone could never see the buyer's side.

4

days from the first sandbox call to a hardened product

The build

327

automated tests, plus 44 live runs on the PayPal sandbox

Proof

12

PayPal calls, from a held payment to a paid seller and a paid receipt

PayPal

What we learned

  • Build the money path first, and make it boring. Saving each step as it happens and never repeating a payment is what let everything else move fast.
  • Every bug becomes a test. Many of the 319 app tests exist because something real went wrong, or nearly did.
  • Trust signals are attack surface. Anything that tells a buyer “this is safe” has to be impossible for a seller to fake.
  • Test as a stranger. Scripts proved the money was right; only walking through it as a newcomer showed where a person gets stuck.

Where this goes

From a hackathon project to a company.

Handshake works end to end today on the PayPal sandbox. Here is how we think about turning it into a business: our plan and reasoning, not promises.

The opportunity

Secondhand trade between strangers is huge and growing, and almost none of it has a safe way to pay. Marketplaces protect deals that stay inside their own checkout, but people meet in comment threads, group chats and forums, and the moment money changes hands, they're on their own. That gap is where scams live.

Handshake's bet is that trust shouldn't belong to one marketplace. It should travel with the deal. A link is all either side needs, wherever they met.

Who we serve first

Secondhand electronics and gaming. It's where the pain is sharpest: items are valuable, easy to ship, easy to fake, and they have real store prices to compare against, which is exactly where Handshake's checks are strongest. We'd start with the communities that already trade this way: buy-and-sell forums, Discord and WhatsApp trading groups, and campus marketplaces.

How it makes money

  • The scam check stays free. It's how people find us, and every check makes scam memory smarter for everyone.
  • A small fee on each protected deal. Paid when the deal settles, and always far less than what a single scam costs. If the deal falls through, nobody pays it.
  • Handshake for platforms. Communities and smaller marketplaces could add “Protected by Handshake” to their listings, and use scam memory to catch repeat scammers before they post.
Every protected deal introduces Handshake to a stranger: the other side of the deal.

How it grows

Handshake spreads the way a payment link does. A seller sends a Handshake link to a buyer who has never heard of it; the buyer has a safe experience and uses it for their next deal. And “is this a scam?” is a question people already ask their friends. A free, clear answer is easy to share.

Why it's hard to copy

  • Scam memory compounds. Every scam caught makes the next check sharper. A newcomer starts with an empty memory.
  • Trust that travels. Over time, a record of completed protected deals becomes a reputation people carry across every platform they trade on.
  • Deep PayPal integration. Holds, partial captures, renewals, tracking and payouts working together safely took real work, and it's the foundation everything else stands on.

What has to go right

  • Going live with PayPal. Real money means a production PayPal app and onboarding sellers through PayPal's platform tools, so payments go straight to them.
  • Disputes handled fairly. When people disagree, the case needs a clear path, ideally into PayPal's own Resolution Center with the evidence already attached.
  • Staying ahead of scammers. They adapt. Scam memory, human review and appeals have to grow with them.
  • Earning trust slowly. A safety product only works if people believe it. That means being honest about what it can and can't do, every time.

The road ahead

  1. Now

    Working end to end on the PayPal sandbox: checks, holds, negotiation, tracking, meetups, claims, deadlines.

  2. Next

    Live payments with PayPal, sellers paid directly at capture, disputes into PayPal's Resolution Center, and a share-sheet app to check any listing in one tap.

  3. Then

    The first trading communities on board, Venmo for buyers, and a reputation from completed deals that travels with you.

  4. Later

    Agents that shop for you through PayPal's Agent Toolkit, inside the same limits and holds; PYUSD for cross-border deals; scam memory shared with platforms.

Thank you

To PayPal for the sandbox and the challenge, to Channel3, Render, Kernel and Elastic for the tools, and to everyone who has ever lost money to a stranger online. This is for you. Handshake was built by one developer with Claude Code as a pair programmer, and you can try it right now.