Negotiate — your optimal next move
negotiateYour math-optimal next move in any price negotiation — free, no account or key needed.
USE THIS WHEN: you're haggling over a single PRICE across multiple back-and- forth rounds and want a better outcome than winging it. Validated edge: ~12% better head-to-head (measured on this recommender, n=20 paired LLM negotiations, 95% CI +6.5-17.4%, p<0.0001). NOT FOR: one-shot or fixed prices (it'll tell you to just negotiate directly); multi-issue bundles (use negotiate_bundle — it logrolls across several linked issues); or non-price decisions like accept-vs-decline a job offer (just reason it through).
You provide only what you already know — no game theory: side "sell" or "buy" walk_away your reservation in dollars (seller=floor/minimum, buyer=ceiling/max) target your aspiration in dollars (seller=high, buyer=low) counterparty_offers their offers so far, in dollars, oldest first rounds_left (optional, default 8) roughly how many back-and-forths remain compute_ms (optional, default 0; EXPERIMENTAL) milliseconds of Monte-Carlo rollouts to spend refining the move. 0 = instant closed form. Validated to show NO realized edge over the closed form (n=400, mc_validation.py) — kept off by default as a research mechanism, not a quality improvement. The reply carries a "compute" block
You get back, in dollars: {"action": "counter"|"accept"|"walk", "recommended_price": 5387.0, "message": "...the best I can do is $5,387.00", "fit": {...}, "expected_settlement": 4943.5, "confidence": 0.62}
WORKED EXAMPLE — selling a contract, floor $4,000, hope $6,000, the buyer has bid $4,200 then $4,500: negotiate(side="sell", walk_away=4000, target=6000, counterparty_offers=[4200, 4500], rounds_left=6) -> counter ~$5,387 with a ready-to-send message; ACCEPT once their bid crosses the optimal target; WALK if they stay below your floor near the deadline.
Works against ANY counterparty with zero setup. (The verified-peer cooperation premium is the separate, advanced gt_a2a_* flow on the pro door.)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| item | No | Short label for what's being negotiated (used only in the drafted message). | this |
| side | Yes | Which side you are: 'sell' or 'buy'. | |
| target | Yes | Your aspiration price in dollars (seller: high; buyer: low). | |
| walk_away | Yes | Your reservation price in dollars — the worst you'd accept (seller: your floor/minimum; buyer: your ceiling/maximum). | |
| compute_ms | No | EXPERIMENTAL. Milliseconds of Monte-Carlo rollouts to spend refining the move; 0 = instant closed form (validated to show no realized edge, off by default). | |
| rounds_left | No | Roughly how many back-and-forth rounds remain before the deadline (default 8). | |
| my_previous_offers | No | Your own offers so far, in dollars, oldest first (optional context). | |
| counterparty_offers | No | The other side's offers so far, in dollars, oldest first. Omit if they haven't offered yet. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fit | No | ||
| error | No | ||
| action | No | ||
| compute | No | ||
| message | No | ||
| rationale | No | ||
| confidence | No | ||
| recommended_price | No | ||
| expected_settlement | No |