
Dealroom
io.github.sergiomaldov1.0.0Updated Oct 5, 2026
Draft and negotiate contracts clause by clause; a published formula proposes the compromise.
Overview
Lets an assistant draft and negotiate two-party contracts clause by clause, with an algorithm proposing weighted compromises.
- What it does
- Dealroom is a two-party asynchronous contract negotiation platform exposed as a remote MCP endpoint. It supports a structured clause-by-clause workflow: create a deal with a skill template and jurisdiction, invite the other party, submit clause preferences and firmness levels, let the weighted compromise algorithm suggest terms, then agree and generate the contract for signing. Built-in templates include NDA, DPA and MSA, with bilingual English and Castilian Spanish contracts.
- When to use it
- Use it when an assistant should help draft or negotiate agreements between two parties, such as NDAs, DPAs or MSAs, and when a structured, auditable negotiation flow with suggested compromises is preferable to free-form drafting.
- Requirements
- A remote MCP endpoint at dealroom.todo.law over streamable HTTP. Authentication uses an Authorization header containing a Bearer token followed by a Dealroom API key. The hosted service charges per contract via prepaid credits; self-hosting the AGPL kit instead needs Node.js 20+, PostgreSQL, a Resend account and environment variables such as DATABASE_URL, NEXTAUTH_SECRET and RESEND_API_KEY.
Installation
In SourceWeft
- Open Dealroom in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Other MCP clients
Add this to your client's mcpServers config.
{
"mcpServers": {
"dealroom": {
"type": "http",
"url": "https://dealroom.todo.law/api/v1/agent/mcp"
}
}
}README
Dealroom
Two-party async contract negotiation platform with weighted compromise algorithm.
Features
- Contract Negotiation — Structured clause-by-clause negotiation workflow
- Weighted Compromise — Algorithm suggests fair compromises based on party firmness and option bias
- Contract Skills — Built-in templates (NDA, DPA, MSA, etc.) plus premium skills for your own instance
- Bilingual Contracts — English and Castilian Spanish; the contract language is chosen when the deal is created and both parties negotiate in it
- Two-Level Admin — Platform admins manage marketplace; supervisors monitor deals
- Self-Hostable — AGPL-licensed sovereign kit for running on your own hardware (see below)
Hosted and the kit
- Hosted (dealroom.todo.law) charges per
contract. Drafting and negotiating are free. Each contract is paid once,
when it is first downloaded or when its signature starts; every skill,
premium ones included, is covered by that price. Agents pay per contract
with prepaid credits sold in packs of ten (see
docs/agent-api.md, "Paying per contract"). There is no monthly plan. - The kit (self-hosted) has no caps. Premium skills are sold only for the kit: 60 a year each in the kit (in your currency) on the todo.law storefront, installed and activated offline with a licence file.
The free-pilot limits (edit window, record ceilings) apply only to the hosted
build (Vercel production, VERCEL_ENV=production, or AUTH_COOKIE_DOMAIN=.todo.law)
while hosted billing is off; once billing is on they no longer apply. The
rules live in src/lib/pilot.ts and src/config/features.ts.
Note: the earlier dual-brand system (todo.law + northend.law) was retired in May 2026; the codebase now ships a single brand (
src/config/brand.tsdocuments the rationale and the restore path).
Tech Stack
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- API: tRPC
- Database: PostgreSQL + Prisma
- Auth: NextAuth (magic link, invite code, Google OAuth)
Getting Started
Prerequisites
- Node.js 20+
- PostgreSQL database
- Resend account (for magic link emails)
Installation
Open http://localhost:3000 to access the app.
Self-Hosting (Sovereign Kit)
Law firms can run Dealroom entirely on their own hardware with the
Docker-based sovereign kit — app + PostgreSQL + migrator (+ optional Caddy
TLS), published on port 8486, health-gated via /api/health:
See deploy/sovereign/README.md for the full runbook (backups, restore, cron wiring, hardening checklist). docs/deployment.md covers the hosted/Vercel path.
Environment Variables
Administration
Create Platform Admin
Access the platform admin portal at /admin.
Create Supervisor
Or create via the admin portal at /admin/supervisors.
Supervisors access their portal at /supervise and can only view deals assigned to them.
Documentation
Project governance: SECURITY.md · CONTRIBUTING.md · NOTICES.md · CHANGELOG.md
Project Structure
Key Concepts
Deal Flow
- Create — Initiator creates deal, selects skill and jurisdiction
- Invite — Respondent receives invitation link
- Submit — Both parties submit clause preferences and firmness levels
- Negotiate — Algorithm suggests compromises; parties can also propose changes to open fields (negotiable parameters)
- Agree — Parties accept final terms
- Sign — Contract generated for signing
Compromise Algorithm
Each party sets a firmness level (1–5) per clause; the UI shows firmness while the database stores flexibility (6 − firmness). The party with higher stake wins the clause; equal stakes trigger a balanced compromise. A global fairness pass rebalances if one party wins disproportionately.
Administration Levels
License
Copyright (c) 2025-2026 Rindogatan LLC
This project is licensed under the GNU Affero General Public License v3.0.
Under AGPL §13, if you run a modified Dealroom as a network service you must
offer its Corresponding Source to your users. The /licenses page carries
that offer (the footers no longer link to it since 2026-10-01); point it at
your fork with NEXT_PUBLIC_SOURCE_URL at build time, and add a visible
link if your deployment needs one. Third-party attribution lives in
NOTICES.md.
Source: README.md at commit 8a63880
Tools
0Version history
1- v1.0.0LatestOct 5, 2026
