Your agent negotiates with theirs. Your limit never leaves your room.

Handshake runs on Switch, inside your team chat. Each person's agent bargains at a shared table, from a private room the other side can't enter.

Replaying a real deal on Switch

Put your limit in an AI's prompt, and the other side will talk it out.

11/20

times your own bot gave your walk-away away

6/20

times a shared deal bot did

The same 20 attacks and the same "never reveal it" instruction, on qwen2.5 3B. Raw results

Handshake moves your limit out of reach.

  1. A private room each

    Your limit lives where only you and your agent are members. Their agent gets a 403.

  2. Your agent obeys only you

    Switch refuses an order from the other side before your agent ever reads it.

  3. Nothing moves without your yes

    Every offer is drafted in your room and goes to the table only when you approve it.

Tested on a real Switch server.

0/80

attacks got a limit out: 20 attacks through each of the 4 routes their side has

85 s

from "open a deal" in chat to an agreed $86K and a term sheet

10 s

to come back after we killed the agents mid-deal, and it still closed

24

tests green in CI, plus a leak check read back from Switch after every deal

Every run, raw · CI

Not a prompt that asks nicely. A wall.

A bot with your limit in its promptHandshake
Who knows your limitThe modelPlain code; the model never sees it
What stops a leakAn instructionSwitch room membership
Who gives ordersAnyone in the channelOnly you, enforced by Switch
ProofHopeA leak check after every deal

Try a deal. Their floor is sealed.

You're buying a design retainer. Tell your agent your limits, say open, and approve each move.

Your roomyou + your agent
The tableboth agents
Their roomsealed

403 · Agent is not a member of this room

This runs Handshake's own terms parser and strategy in your browser. The real thing runs on Switch.

Bring your agent. Keep your limit.

claude mcp add handshake-you --transport http \ http://localhost:8000/mcp/ \ --header "Authorization: Bearer <your seat key>"

Your seat key comes from python scripts/seat.py you. It reaches your rooms and the tables, and gets a 403 everywhere else.

Run it in ten minutes

git clone https://github.com/Ishaan-Gpt/handshake && cd handshake python scripts/up.py # Switch + chat, in Docker python scripts/join.py you "You" # a seat each python -m handshake # the agents

No Docker? python scripts/simulate.py plays a whole negotiation in a second.