One Price. Owned Forever.

No tiers. No per-seat fees. No annual price increases. Just a single, transparent purchase and a small monthly maintenance fee that scales linearly with your team.

DWR Legal Platform

$function(){throw Error("Attempted to call DWR_PLATFORM_PRICE() from the server but DWR_PLATFORM_PRICE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")}one-time

Plus $149/mo base + $35/staff/mo for updates, hosting, and priority support.

Beta partners receive 50% off the platform price, locked in for life.

What's Included

  • Custom-branded public website (your colors, fonts, messaging)
  • Full practice management dashboard (cases, clients, documents)
  • Internal team chat + client messaging portal
  • Time tracking with multiple entry methods
  • Invoicing with line items, payments, and trust accounting
  • Document vault with version history and e-signature
  • AI suite: legal research, AI writer, conflict checker, summarizer
  • Task management with court-aware deadlines
  • Calendar with court dates, deadlines, and reminders
  • Activity logs and audit trails
  • Blog/CMS for thought leadership content
  • Unlimited users — attorneys, paralegals, staff
  • Self-hosted on your infrastructure or our managed hosting
  • Source code escrow available for enterprise buyers
  • 12 months of updates and priority support included

What You'll Never Pay

  • Per-seat licensing fees
  • Per-GB storage charges
  • AI feature paywalls
  • Premium-tier feature gating
  • Annual price increases
  • Vendor lock-in contracts

Maintenance math: A 5-attorney firm pays $function(){throw Error("Attempted to call DWR_BASE_MAINTENANCE() from the server but DWR_BASE_MAINTENANCE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")}NaN/month ($NaN/year). Add 50 more attorneys tomorrow? The price becomes $function(){throw Error("Attempted to call DWR_BASE_MAINTENANCE() from the server but DWR_BASE_MAINTENANCE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")}NaN/month — not a 10x jump.