General Legal
pilotctl appstore install io.pilot.generallegalAbout General Legal
General Legal is a Y Combinator-backed law firm. This app puts a licensed attorney and a Delaware filing desk behind your agent — contract review and company formation, in one namespace.
The two halves have different requirements. Formation works the moment you install. Contract review needs a General Legal account and an API key.
Company formation — nothing to set up
No account, no key, no configuration. Call generallegal.formation_options and it works on a fresh install.
You will still need to pay: formation_start_llc and formation_start_c_corp return a payment link, and the founder pays there. Use the founder's real details — this files an actual Delaware company.
Contract review — bring your own API key
1. Sign up at https://portal.general.legal/signup 2. Open the account menu and choose API keys (https://portal.general.legal/api-keys) 3. Create a key and copy it — the full value is shown once 4. Import it into the app:
`` printf '{"GENERAL_LEGAL_API_KEY":"glk_YOUR_KEY"}' > ~/.pilot/apps/io.pilot.generallegal/secrets.json chmod 600 ~/.pilot/apps/io.pilot.generallegal/secrets.json pilotctl appstore restart io.pilot.generallegal ``
The restart matters: the key is read at startup. Verify with pilotctl appstore call io.pilot.generallegal generallegal.deals_list '{}'. The key stays on your machine, is never sent to the formation service, and scopes you to your own General Legal organization.
What it costs
Contract review is flat-fee, with no hourly billing and no minimums. The fee covers every turn through signature, including negotiation with the counterparty.
| Work | Price | | --- | --- | | Contract, 3 pages or fewer | $250 | | Contract, 3-50 pages | $500 | | Contract, 50+ pages | $10 per page | | Drafting from scratch | $2,000 | | Delaware LLC | $190 instant / $210 standard / $260 next-day / $310 same-day | | Delaware C-corp | $218 standard / $268 next-day / $318 same-day |
What the app does
Company formation — formation_options (free), formation_start_llc (paid), formation_start_c_corp (paid), formation_status, formation_update, formation_documents (free).
Contract review — deal_open (paid), document_upload (paid), thread_post (paid, covered by the matter's flat fee), plus deals_list, deal_get, thread_get, contracts_list, contract_get, version_download_link (free) and upload_begin, upload_chunk, upload_abort (free — a document is staged in chunks because a single call cannot carry a file).
What costs money
Five methods spend real money and will not warn you first: formation_start_llc, formation_start_c_corp, deal_open, document_upload and thread_post. Every other method is free. generallegal.help lists them under billable_methods with the price.
Plan & limits
Methods · 19
generallegal.formation_optionsgenerallegal.formation_start_llcpaidgenerallegal.formation_start_c_corppaidgenerallegal.formation_statusgenerallegal.formation_updategenerallegal.formation_documentsgenerallegal.deals_listgenerallegal.deal_openpaidgenerallegal.deal_getgenerallegal.thread_getgenerallegal.thread_postpaidgenerallegal.contracts_listgenerallegal.contract_getgenerallegal.document_uploadpaidgenerallegal.version_download_linkgenerallegal.upload_begingenerallegal.upload_chunkgenerallegal.upload_abortgenerallegal.helpFull usage demo
When a contract needs a licensed attorney to review, redline or draft it, or when an agent needs its own Delaware company. Formation works on a fresh install; contract review needs your own General Legal API key.
pilotctl appstore call io.pilot.generallegal generallegal.formation_options '{"entity_type":"llc"}'{"options":[{"filing_speed":"instant","total_cents":19000},{"filing_speed":"standard","total_cents":21000}]}Free, and it needs no account or key at all — the fastest way to confirm the app works. Contract review is the half that needs a key; see the examples.
Worked examples
pilotctl appstore call io.pilot.generallegal generallegal.formation_start_llc '{"filing_speed":"standard","company_name":"NewCo LLC","founder":{"full_name":"Ada Lovelace","email":"ada@example.com"},"principal_address":{"street":"1 Main St","city":"Dover","state":"DE","postal_code":"19901"},"ai_agent_description":"Procurement agent","authority_limits":"No commitments above $5,000 without sign-off","contract_threshold":"$5,000"}'{"formation_id":"f-...","payment_url":"https://...","status":"awaiting_payment"}BILLABLE - files a real company. $190 instant / $210 standard / $260 next-day / $310 same-day, paid by the founder at the returned link. No account or key needed to call it. formation_id is shown once.
pilotctl appstore call io.pilot.generallegal generallegal.formation_status '{"formation_id":"f-..."}'{"status":"filed","poll_after_seconds":30} then {"status":"complete"}Free. Repeat only after poll_after_seconds. When complete, generallegal.formation_documents returns short-lived links.
pilotctl appstore call io.pilot.generallegal generallegal.deals_list '{"page":1,"page_size":5}'{"items":[...],"total":n} once the key is in place; 401 until thenContract review only. Sign up at https://portal.general.legal/signup, then account menu -> API keys (shown once). Import: printf '{"GENERAL_LEGAL_API_KEY":"glk_YOUR_KEY"}' > ~/.pilot/apps/io.pilot.generallegal/secrets.json && chmod 600 ~/.pilot/apps/io.pilot.generallegal/secrets.json && pilotctl appstore restart io.pilot.generallegal
pilotctl appstore call io.pilot.generallegal generallegal.deal_open '{"initial_request":"Please review this mutual NDA. We are the disclosing party; flag anything unusual in the confidentiality term.","deal_name":"Acme mutual NDA"}'{"deal_id":"d-9f3...","status":"open"}BILLABLE - flat fee per contract: $250 (<=3 pages), $500 (3-50), $10/page (50+), $2,000 to draft. Covers every turn through signature. Keep the deal_id.
pilotctl appstore call io.pilot.generallegal generallegal.upload_begin '{"file_name":"nda.docx","content_type":"application/vnd.openxmlformats-officedocument.wordprocessingml.document","total_bytes":3145728,"sha256":"<sha256 of the file>"}'{"blob_id":"a1b2...","max_chunk_bytes":524288,"next_seq":0}Then generallegal.upload_chunk with seq 0,1,2... and base64 of at most max_chunk_bytes raw bytes. The last returns complete:true. Finally generallegal.document_upload with the blob_id and deal_id (BILLABLE).
pilotctl appstore call io.pilot.generallegal generallegal.version_download_link '{"version_id":"v-07..."}'{"file_name":"nda-redline.docx","download_url":"https://...","download_token_expires_at":"..."}Free. The URL needs no auth and expires in ~15 minutes - fetch it yourself. Find version ids via generallegal.deal_get or generallegal.contract_get.
Good to know
- Two halves, different requirements. Company formation needs no account and no key. Contract review needs a General Legal account and an API key imported.
- For contract review: sign up at portal.general.legal/signup, mint a key under API keys, write it to $APP/secrets.json, then restart the app - the key is read at startup.
- Five methods spend money: deal_open and document_upload are flat-fee per contract ($250/$500/$10-per-page/$2,000); formation_start_llc and formation_start_c_corp file a real company ($190-$318); thread_post is covered by the matter's fee.
- A document cannot ride in one call. Use upload_begin then upload_chunk (<=512 KiB raw each) and pass the blob_id. A blob is single-use and dropped once sent.
- Matters reach a real attorney and formations file a real company. Neither is a sandbox - confirm before calling a billable method.
- Contract-review limits are per organization: 120 reads/min, 25 new matters/day, 50 uploads/day. Honour Retry-After on a 429.
Next
generallegal.formation_options to price a company, or generallegal.deals_list to see the matters your key can reach.generallegal.help lists every method and marks exactly which ones cost money.
What’s New
- Contract review: matters, lawyer thread, document upload and released-version downloads.
- Delaware company formation: pricing, LLC and C-corp filing, status and documents — no API key required.
- Bring your own General Legal API key for contract review; it never reaches the formation service.