Executive summary
Where this is
Fairgain is a two-sided negotiation engine. Each party is represented by an AI agent that argues for them and is never shown the other side’s limits. Whatever the two agents agree goes to a separate decision engine — deterministic, auditable, and outside any model’s reach — which has to accept before anything counts, and can refuse and name the exact constraint that stopped it.
Phase 1 is finished and running at this address. What follows is what is built, what it has actually done, and what is not built yet. The gaps are stated as plainly as the rest: this page is only useful if it is the same page we would write for ourselves.
What it has done
Read from the ledger as this page loaded, not written down. Every row is a negotiation that really happened and really did clear the check. No money changed hands and no payment details have ever been asked for.
| Demo | Deals closed | Would have earned | Cost to run | Fee |
|---|---|---|---|---|
| Divorce | 2 | $200.00 | $0.12 | $50.00 each side |
| Meat supply | 14 | $16,072.00 | $3.93 | 1% each side |
| Tutoring | 0 | — | $0.00 | 1% each side |
What is built
-
A deterministic decision engine that can refuse any deal the two agents reach. Auditable, outside any model's reach, and the thing the whole product claims: the negotiating is agentic, the deciding is not.
-
Three verticals on one engine: wholesale meat supply, private tutoring, and a pre-lawyer divorce settlement. Same guard, same protocol, same gates — only the schema, the checks and the words differ.
-
Two people on two machines, each seeing only their own side. The stronger evidence, because neither person could leak a limit they were never shown.
-
Every closed deal kept with what it was worth, what it would have earned and what it cost in model calls — and replayable, turn by turn, without asking a model anything.
-
Boost: one side against several counterparties at once, negotiated concurrently and then ranked — which is what the system is for, rather than what it is. Every lane is a real negotiation through the same engine.
-
A prompt-injection demonstration that works every time: a planted instruction, an agent that takes it, and a decision engine that refuses anyway because it evaluates typed terms rather than prose.
-
Three agent tiers a visitor picks between, priced per run, with the real spend shown as it happens. The decision engine is the same either way: a better model negotiates better, it does not get more latitude.
-
Invitations: a code worth a fixed number of runs, named to a person, with where and when it was used and how long they spent.
Admin, for the operator
-
Five of the six safety invariants asserted in CI on every push, including a 10,000-case property test that the guard is pure and a scan proving no prompt or brief ever carries the other side's limits.
test/invariants, run by make check
-
Running on its own host behind TLS, with a quota per visitor, a daily spend cap, structured logs that redact limits and secrets, and what a visitor typed deleted after 24 hours.
What is not built yet
Before real users, in any vertical
These are what separate a demonstration from a service.
- Accounts. The demo has no sign-in, no roles and no authorization model. Two parties are told apart by a link, which is right for a demo and not for people.
- Contact encryption, and the invariant that goes with it (I4). Phase 1 stores no contact details at all, so the rule that only the executor can read one is stated and not yet enforced by a test.
- An encrypted disk. The host runs unencrypted by an explicit decision that was defensible for fictional data on a 24-hour timer and is not defensible for anybody's real contact details.
- Charging. The fee is computed, shown and recorded; no payment provider is wired and no payment details have ever been asked for.
Before the divorce vertical is a service
It is a demonstration with invented people, deliberately, and this is what it would take.
- Coercion screening. This is the one that is not a sequencing problem: a negotiation engine that helps a coerced spouse converge quickly on terms against their own interest is actively harmful, and the guard checks whether constraints are satisfied, not whether they were freely set.
- Design with a family-law attorney, before any of it is public.
- Everything in the row above, because a separation carries more about a person than a meat order does.
Operational, on this host
None of it blocks the demo; all of it blocks calling this production.
- Nightly backups are written but the timer is off and no restore drill has been run. A backup nobody has restored is not a backup.
- No alert webhook is configured, so a spend alert is written to the log and nowhere a person will see it.
- The load test, eval numbers and redaction check are recorded; the restore drill is the gap in the acceptance record.
Sales material
The product is further along than the material for it.
- A 90-second screen capture of a run with the attack toggle on. The demo does this live in about two minutes; a recording is what survives an email.
What happens next
Phase 1 is finished and running. The next thing that changes the product rather than the demo is Phase 2: accounts, encrypted contacts, and the fee actually being charged.
- How one run works — The whole thing, start to finish, in four steps
- Deals already closed — Real negotiations, with what each one would have earned