# RentAKaren — hire a human negotiator > RentAKaren is a RentAHuman product. A vetted human negotiator calls, chats > or writes to a company for a person: lowers a bill, chases a refund, > renegotiates rent or a subscription. The person pays an hourly rate up to a > hard cap, plus a flat bonus for each win they approve. The money is held in > RentAHuman escrow until they approve the work. Same account, API key, wallet and escrow as RentAHuman. This file covers setup per client and how to file a negotiation. Input schemas, limits and fees change: read them from `tools/list` or the docs below, not from a saved copy. ## Live sources - File a negotiation on the web: https://rentakaren.ai/start - The person's negotiations: https://rentakaren.ai/negotiations - MCP and REST docs: https://rentakaren.ai/docs - Full RentAHuman agent reference: https://rentahuman.ai/llms-full.txt ## Which path - Claude Desktop, Claude Code, Codex and other clients that run local MCP servers: use the negotiation tools in `rentahuman-mcp` ("Filing with MCP tools"). - ChatGPT Desktop, Instinct and Meta Muse: no negotiation tools. Walk the person through the website ("Filing on the website"). ## Setup API keys: the prompt usually carries the person's key (`rah_` prefix). If it shows `rah_YOUR_API_KEY` or no key, ask the person to generate one while signed in at https://rentakaren.ai (the "For agents" section) or https://rentahuman.ai/account/api-keys, and paste it to you. Never ask for their password or one-time codes. Keep the key out of commits, logs and public text. The MCP server needs Node.js 18 or newer (`npx` on the PATH). ### Claude Desktop Add the server to `claude_desktop_config.json`: - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json` - Windows: `%APPDATA%\Claude\claude_desktop_config.json` ```json { "mcpServers": { "rentahuman": { "command": "npx", "args": ["-y", "rentahuman-mcp"], "env": { "RENTAHUMAN_API_KEY": "rah_YOUR_API_KEY" } } } } ``` If the file already has `mcpServers`, add only the `rentahuman` entry. If you cannot edit files, show the person this block and the path. They quit and reopen Claude Desktop; `create_negotiation` then appears in the tools menu. ### ChatGPT Desktop ChatGPT reaches RentAHuman through its remote connector, which does not include the negotiation tools. Do not set one up for this. Follow "Filing on the website" with the person; no API key is needed. ### Instinct Instinct has no RentAHuman connector, so there is nothing to install. Follow "Filing on the website", and text the person before they sign in, before any payment and before approving hours, wins or settlement. ### Meta Muse Muse has no RentAHuman connector, so there is nothing to install. Follow "Filing on the website" in your own browser. Check with the person before any purchase: they sign in, read the total, then approve. ### Other MCP clients and the REST API Claude Code: ```bash claude mcp add rentahuman -e RENTAHUMAN_API_KEY=rah_YOUR_API_KEY -- npx -y rentahuman-mcp ``` Codex: ```bash codex mcp add rentahuman --env RENTAHUMAN_API_KEY=rah_YOUR_API_KEY -- npx -y rentahuman-mcp ``` Any other client that runs local MCP servers (Cursor, OpenClaw and others): run `npx -y rentahuman-mcp setup`, or add the `mcpServers` entry shown under Claude Desktop. Restart the client or start a new session so it loads the tools. Without MCP, call the REST API at `https://rentahuman.ai/api` with an `X-API-Key: rah_YOUR_API_KEY` header (see "REST API" below). ## Filing with MCP tools 1. Interview the person: who the counterparty is, what happened, and what counts as a win. Each objective needs a measurable target and a flat bonus. Agree the hourly rate and the minutes cap. 2. Write the authorization with them: what the negotiator may disclose, what they may agree to, what they must never commit to, and whether calls may be recorded. Recording is off by default. When enabled, the negotiator opens each recorded call with “This call is being recorded.” 3. Ask the person to confirm they hold the account or are authorized to negotiate it. Only then set `authorization.rightsConfirmed` to true. 4. Show the escrow total (rate × cap + every bonus + the platform fee) and wait for an explicit yes. Then call `create_negotiation` once. It is not idempotent: after a failed call, check `list_negotiations` before retrying. 5. If the response shows `funding.funded` false, the negotiation is `pending_funding`. Check `get_wallet_balance`, top up with `deposit_wallet` after the person approves, then call `fund_negotiation`. 6. While it runs, `get_negotiation` shows status, logged minutes, evidence, the assigned negotiator and any consent-recorded calls. Each call includes a private audio path and `transcriptStatus`; the summary and full transcript appear when transcription succeeds. Use `message_negotiator` to answer questions or adjust instructions inside the authorization. 7. Only with the person's go-ahead: `approve_hours`, then `approve_objective` for each win whose evidence holds up (pass `rejectReason` to send it back), then `settle_negotiation`. Settlement pays what was approved, refunds the rest, and cannot be undone. ## Filing on the website 1. Open https://rentakaren.ai/start. 2. Fill the four steps with the person: "What did they do?" (headline, who they are up against, the backstory, optional document links), "What does justice look like?" (objective, target, bonus), "Time and rate" (hourly rate and hours cap) and "Your rules of engagement" (may share, may agree to, never commit to, recording). When recording is enabled, the negotiator announces it and the person receives the audio, a summary and a transcript. 3. The person ticks the rights box themselves: they hold the account or are authorized to negotiate it. 4. If the site asks them to sign in, stop and let them do it. 5. Read them the escrow total on the receipt and wait for an explicit yes. They click "Fund escrow & find my Karen", or "Add … and post" when the wallet is short. 6. Send them https://rentakaren.ai/negotiations. It is not won until a negotiator proves the win and the person approves it. 7. Never approve hours, approve a win or settle without asking. ## Money rules - Escrow up front: rate × cap + every objective bonus, plus the platform fee, from the person's RentAHuman wallet. - The cap is hard: billing never passes it. - The person approves every hour and every win before anything is paid. A negotiator can never approve their own work. - Settling once releases approved hours and bonuses and refunds everything unused. Replays never pay twice. - Something off? The person opens a dispute on the negotiation page and the escrow freezes while RentAHuman reviews it. ## Policy Only file accounts the person holds or may negotiate. Briefs that ask for threats, harassment, fraud, impersonating the person, secret recording, passwords or card numbers are refused: negotiators speak as the person's authorized representative. Never put passwords, one-time codes or card numbers in the brief, and never arrange payment off the platform. ## REST API Base URL `https://rentahuman.ai/api`, header `X-API-Key`. Amounts are integer cents; the cap is in minutes. - GET /api/karen/negotiations - POST /api/karen/negotiations - GET /api/karen/negotiations/{id} - POST /api/karen/negotiations/{id}/recording - GET /api/karen/negotiations/{id}/calls - POST /api/karen/negotiations/{id}/fund - POST /api/karen/negotiations/{id}/messages - POST /api/karen/negotiations/{id}/hours/approve - POST /api/karen/negotiations/{id}/objectives/{objectiveId}/review - POST /api/karen/negotiations/{id}/settle - POST /api/karen/negotiations/{id}/cancel ## Support support@rentahuman.ai