Rights Institute Docs
Pages & Features

Contract Builder

Generate legal contracts in minutes.

Route: /contract

A multi-step form wizard that produces ready-to-sign legal agreements. Supports independent contractor agreements, employee agreements, and NDAs.

Form steps:

  1. Contract type selection
  2. Basic info (parties, addresses)
  3. Services scope
  4. Payment terms & expense type
  5. Contractor status & insurance
  6. Legal terms & termination conditions
  7. Dispute resolution method
  8. NDA / confidentiality clauses
  9. Digital signature capture (canvas-based signature pad)
  10. Live contract preview & export

Supported agreement types:

  • Independent Contractor Agreement
  • Employee Agreement
  • Non-Disclosure Agreement (NDA)
  • Co-Founders Agreement

Invite your employer to sign

The Invite Employer to Sign tab lets a job seeker start the agreement and hand it to their employer:

  1. Pre-fill. The seeker enters their details and the job terms; these are woven into editable paragraphs they can adjust before sending.
  2. Share. They get an invite link to copy, send from their own mail app, or have emailed to the employer — plus a private tracker link (/contract/track/:id?k=…), also emailed to them.
  3. Track. Each time the invite link is opened it is recorded; the tracker shows whether it was clicked, how often, and a full activity log, and can send up to three reminder emails.
  4. Employer edits & signs (/contract/invite/:token). The employer can rewrite, add, remove or reorder any paragraph, then signs. The text is frozen and its SHA-256 content hash recorded.
  5. Seeker countersigns the exact text the employer signed (the content hash must match).
  6. Certificate. The executed agreement is hashed, given a certificate ID (PRSP-XXXX-XXXX-XXXX-XXXX) and appended to the Prosper ledger. Both parties are emailed the certificate with the signed agreement attached. /contract/certificate/:id re-verifies it publicly without revealing the agreement text.

The Prosper ledger

prosperLedger is an append-only hash chain: each block's hash covers its height, the previous block's hash, the certificate ID, the document hash and a timestamp, so the newest block hash fingerprints every agreement ever recorded, and changing any past entry breaks every later link. GET /api/prosper-ledger lists recent blocks and re-verifies the whole chain.

When PROSPER_RPC_URL, PROSPER_REGISTRY_ADDRESS and PROSPER_ANCHOR_KEY are set, each new block is also anchored on-chain through the AgreementRegistry contract in packages/prosper-coin, and the transaction hash appears on the certificate.

API

MethodRouteWho
POST/api/agreementsSeeker creates the invite
GET/api/agreements/:id?k=Seeker's tracker
POST/api/agreements/:id/remindSeeker re-emails the invite
POST/api/agreements/:id/signSeeker countersigns
GET / POST/api/agreement-invites/:tokenEmployer opens / edits & signs
GET/api/certificates/:certificateIdPublic verification
GET/api/prosper-ledgerPublic ledger

Apply migration 0003_agreements before use: wrangler d1 migrations apply DB --remote.