Docs
Your workspace
Every section of the signed-in workspace sidebar, what each one does, the caps that apply to your plan, and what changes when you upgrade.
Your workspace is the signed-in side of RealSiteWorth. It holds your saved reports, your watchlist, your account settings, and the lane views that group assets by type.
Every page below requires a session. If you open one while signed out, you get sent to /login with a next parameter, and you land back on the page you asked for after you sign in.
Signing in
There is no password. You enter your name and email on /login, tick the consent box, and the form posts to /api/auth/otp. You get an email with a sign-in link.
The submit button stays disabled until you fill in a name, fill in an email, and leave the consent checkbox ticked. All three are required.
If a link fails, /login shows an error and asks you to start again on the same device. Sign-in links are device-bound, so request a fresh one rather than forwarding an old one.
To sign out, use the Sign out button at the bottom of the sidebar. It posts to /api/auth/logout, which signs you out on all devices rather than only the one you clicked from.
The sidebar
The same sidebar renders on every workspace page. It has 21 links in 6 groups, in this order:
| Group | Label | Path |
|---|---|---|
| Core | Run Valuation | /dashboard/run-valuation |
| Core | Dashboard | /dashboard |
| Core | Saved Reports | /dashboard/reports |
| Core | Watchlist | /dashboard/watchlist |
| Workflows | Owner Proof | /dashboard/owner-proof |
| Workflows | Buyer Checks | /dashboard/buyer-checks |
| Workflows | Seller Workflows | /dashboard/seller-workflows |
| Assets | Social Assets | /dashboard/social-assets |
| Assets | Websites & Domains | /dashboard/websites-domains |
| Assets | Business Assets | /dashboard/business-assets |
| Tools | MCP & Agents | /dashboard/api-mcp |
| Tools | Batch Valuations | /dashboard/batch-valuations |
| Account | Plan & Billing | /dashboard/plan |
| Account | Notifications | /dashboard/notifications |
| Account | Access Code | /dashboard/access |
| Account | Settings | /dashboard/settings |
| Resources | Partners | /dashboard/partners |
| Resources | Guides & Blog | /blog |
| Resources | Docs | /docs |
| Resources | Changelog | /changelog |
| Resources | Support | /support |
Below the links, the sidebar shows two running totals, saved reports and tracked assets, then your signed-in email and your current plan badge.
/account, /account/settings, and /account/access-code are legacy paths. Each permanently redirects to its /dashboard/... equivalent above, so an old bookmark or link still lands you in the right place.
Dashboard (/dashboard)
Top to bottom, the dashboard home holds:
- Hero. "Welcome back", a Run a valuation link to
/dashboard/run-valuation, and a usage card showing your monthly valuation count, your tracked-asset count against your watchlist cap, and a View usage and plan link to/dashboard/plan. - Getting started. A dismissible checklist with a percentage-complete bar, shown only until every step is done.
- Saved work. Your four most recent saved reports, with a View all link to Saved Reports.
- Tracked assets. Your three most recently tracked watchlist assets with their saved value range or "Needs run", with a Manage link to Watchlist.
- Newsletter imports. Pro accounts only — see Newsletter imports below.
- A quota-progress upgrade nudge, shown once your monthly allowance crosses 70% used.
- A contextual upsell, Free and Basic only, at most one per browser session: a watchlist-full nudge, a 50–70%-quota nudge, or a general workspace nudge once you have two or more saved reports, or any tracked asset — whichever condition fires first.
- A locked-feature preview, tier-dependent: Free sees what the AI Memo and Roadmap unlock on Basic; Basic sees what a larger Full Diligence allowance unlocks on Pro; Pro sees none.
- A dunning banner, shown only when your subscription has a billing problem.
The watchlist table, valuation history, payment history, notification preferences, MCP & Agents, and settings forms each live on their own dedicated sidebar page instead — see Watchlist, Saved Reports, API keys, Settings, and Billing and upgrading below.
Run Valuation (/dashboard/run-valuation)
Starts a new valuation from inside the workspace. You pick one asset and an intent, the existing valuation engine runs, and you get a report you can save, track, or use for diligence.
/account/run-valuation is an alias. It redirects here.
Saved Reports (/dashboard/reports)
Your report history with search and section filters. Each row is labelled with one of three states:
- Saved. The run has a durable snapshot and a complete mode.
- Needs proof. The run finished but on a mode that is not a full estimate.
- Draft. There is no durable snapshot and no workflow behind the row, so snapshot-backed tools are unavailable.
Opening a row takes you to the report detail view. E-commerce rows open their workflow receipt instead.
Report detail
Report detail pages carry three cards at the bottom, but only when the row has a durable snapshot behind it:
- Email summary. Sends you a redacted recap: the saved range, confidence, and a link. It does not include your private workspace notes.
- Export. Downloads a print-ready copy of the saved report. It arrives as a standalone HTML file that you print to PDF from your browser. It is tier-trimmed before it is generated, so a free-account export carries the free-account level of detail.
- Share. Links to share a redacted summary card on X or LinkedIn, plus a link to open the OG card.
On a Draft row, the email and export cards are replaced with a note explaining that there is no durable snapshot reference yet.
Comparing two reports
/account/compare puts two saved reports side by side. It takes left and right snapshot ids as query parameters, and defaults to your two most recent distinct snapshots when you do not pass them.
Both snapshots are ownership-checked against your own history before anything renders. You cannot compare a snapshot you do not own.
CSV export
Pro accounts get a working Export CSV button in the header of the valuation history table. It pulls up to 1,000 rows of your history, joins the saved range and confidence values, and downloads a CSV.
Free and Basic accounts that have saved history see the same slot as a locked CSV history export — Pro link to /pricing instead of a disappearing button. Accounts with no saved history see nothing there on any tier. Calling the export endpoint directly without Pro still returns a 403 with CSV export is available on the Pro plan.
Watchlist (/dashboard/watchlist)
Tracked assets with their value range, confidence, and freshness.
Slots
Slot caps come from your plan:
| Plan | Watchlist slots |
|---|---|
| Free | 5 |
| Basic | 10 |
| Pro | 50 |
An account holding a redeemed access code gets 10 slots instead of the free 5.
When you are at cap, the add form is hidden, and a direct call to the API returns a 409 reading Watchlist is at the {limit}-slot cap. Remove an asset first. Remove something before adding something else.
Adding an asset
The add form takes a surface and a target. Five surfaces are available:
- Website / domain
- Instagram handle
- TikTok handle
- Newsletter / Substack
- E-commerce store
E-commerce entries need at least a monthly revenue figure, because that number is what future refreshes run against. The form also accepts COGS, employee cost, category, top traffic source share, churn, inventory value, LTV/CAC, top SKU share, age in years, and trademark or patent flags.
Free accounts cannot add an e-commerce entry. The API returns a 403 reading Store valuations (and store watchlist entries) are part of Basic.
Refreshing
Each tracked asset has a Refresh button that reruns the valuation for that asset and writes a new snapshot.
Refreshes are capped per asset per UTC day:
| Plan | Refreshes per asset per day |
|---|---|
| Free | 5 |
| Basic | 5 |
| Pro | 20 |
The counter is keyed on your user id plus the specific tracked asset, so refreshing one asset does not consume another asset's allowance. The window resets at 00:00 UTC.
Trend windows
The watchlist table can plot value history over a window. Available windows depend on your plan:
| Plan | Windows |
|---|---|
| Free | none |
| Basic | 30 days |
| Pro | 30, 90, and 365 days |
Chart type can be line, area, or bars. Both settings are carried in the URL as ?tw= and ?chart=, so a particular view is linkable.
Lane views
Four sidebar entries are read-only summaries that group your existing saved reports by asset type. They do not start valuations. They count what you already have and link you onward.
- Websites & Domains separates bare domains, aged domains, and operating websites, and lists your eight most recent website or domain reports.
- Social Assets counts your saved YouTube, TikTok, Instagram, Twitch, Telegram, X, and Facebook reports, plus your recorded proof events.
- Business Assets counts your saved e-commerce, newsletter, and SaaS workflows alongside your connected newsletter imports, and shows a business proof checklist.
- Buyer Checks counts how many of your saved reports still run on a mode weaker than a full estimate, and lists questions to put to a seller.
Seller Workflows works the same way: a four-step prep sequence, with your live saved-report and tracked-asset counts filled into steps one and two.
The content of these checklists is fixed guidance. It does not change based on the specific asset you are looking at.
Business workflows (e-commerce)
/account/businesses/ecommerce/new runs the guided store valuation. It walks through revenue, margin, inventory, and concentration risk.
This is a Basic feature. Free accounts see an upgrade panel instead of the form, with no partial data and no dead end.
A completed run saves a receipt at /account/businesses/ecommerce/{workflowId}. The receipt holds the inputs you submitted, the resulting range, and the main business risks in one account-only record. Receipts are ownership-checked, and a workflow that has not completed returns a 404 rather than a partial page.
Owner Proof (/dashboard/owner-proof)
This section is a placeholder. It is reachable, but nothing on it accepts input yet.
The page lists five proof steps. Two of them read from your real data, your saved report count and your tracked asset count. The other three, financial proof, traffic and audience proof, and platform connections, all report Not connected.
The financial proof inputs for TTM revenue, TTM SDE, and owner hours are rendered disabled, with the placeholder text Add after proof storage is enabled.
The page states plainly that RealSiteWorth will not claim a confidence lift, a tighter range, or a proof level until verified owner-proof records exist. Treat this section as a preview of intended behaviour, not a working feature.
Newsletter imports
A Pro-only card on the dashboard home. It pulls owner-verified newsletter metrics from three providers:
- Beehiiv. An owner bearer token. Publication ID is optional when the token covers one publication.
- Ghost. An Admin API key in
id:secretform, plus the production site URL. - Kit. An API key. Current coverage captures subscriber totals.
Each imported publication shows subscribers, paid subscribers, average open rate, and average click rate. Credentials are used to verify ownership and are not stored.
The card renders only for Pro accounts. Free and Basic accounts do not see it on the dashboard home.
API keys
Pro accounts get a dedicated MCP & Agents page at /dashboard/api-mcp, reachable from the sidebar's Tools group, with two panels: key management and usage.
You can create a named key, list your existing keys, and revoke a key. Keys use the format rsw_ followed by 40 hex characters. Only a SHA-256 hash is stored on the server, and the full key is shown exactly once, at creation. Copy it then, because you cannot retrieve it later.
Keys authenticate the MCP endpoint at /api/mcp, which exposes JSON-RPC valuation and workspace tools. MCP / agent access is an operational Pro-only Beta. It remains de-emphasized and is not a headline Launch 1.0 feature.
To point an MCP client at your workspace:
{
"mcpServers": {
"realsiteworth": {
"url": "https://realsiteworth.com/api/mcp",
"headers": { "Authorization": "Bearer rsw_<your-pro-key>" }
}
}
}
Key creation, listing, and revocation all run on your session cookie, not on a bearer token. You manage keys from the browser while signed in.
Access Code (/dashboard/access)
Applies a launch access code to your account. A redeemed code raises your free limits without hiding what your account state actually is.
An active code lifts your watchlist slots above the free default of 5, and your monthly Quick-valuation allowance above the free defaults of 15/month (website) and 25/month (social) — typically to 10 slots and 150/month on each surface independently. Both lifted values are carried on the code itself rather than fixed in the product, so a given code can grant different amounts. Your plan badge changes to Expanded free access, and the panel names the code and shows its expiry when it has one.
Codes are normalised to uppercase letters, digits, and hyphens on entry, so case and spacing do not matter.
Settings (/dashboard/settings)
Four cards:
- Notification preferences. Your email defaults. Product emails are on by default and can be turned off here.
- Dashboard settings. Your workspace display preferences.
- Profile. Your account details.
- Privacy requests. Submit a data access, correction, deletion, portability, or restriction request.
Billing and upgrading
/account/billing is a redirect, not a page. It looks up your Stripe customer record and sends you to a short-lived Stripe-hosted Customer Portal session, where you manage your payment method, cancel or resume, and pull invoices. It returns you to Plan & Billing (/dashboard/plan) when you are done — the same page lists your payment history below your plan details.
If your account has no Stripe customer mapped, the route returns a 404 with a no_subscription message. The manage-billing control is hidden for accounts without a subscription, so you should not normally hit this.
Current prices, read from the pricing constants:
| Plan | Monthly | Annual |
|---|---|---|
| Basic | $39 | $399 |
| Pro | $99 | $999 |
What changes immediately after you upgrade
Stripe returns you to /checkout/success, which claims the session against your user id and links on to the workspace. You do not need to sign out and back in, and you do not need to wait for a webhook.
On that first render after upgrade:
- Your plan badge changes to Basic active or Pro active.
- Your watchlist slot cap recomputes, so the add form reappears if you were at cap.
- The usage card keeps showing
X of Y valuations this monthon every tier —Yis the Full website valuation allowance, and it gets much bigger: 100/mo on Basic, 250/mo on Pro. - Watchlist trend windows unlock: 30 days on Basic, 30/90/365 on Pro.
- On Pro, the Export CSV slot on the history table turns from a locked upsell link into a working button. The MCP & Agents page is its own sidebar link at
/dashboard/api-mcp, not part of the dashboard home — see API keys below. - On Pro, the newsletter imports card appears on the dashboard home. Free and Basic never see it there.
- Report exports stop being watermarked.
A success banner confirms the change when you arrive with a credits_purchased marker.
If the claim fails for any reason it is logged and swallowed rather than blocking the page, so you still get a working workspace. Reload /account or open /account/billing to check your subscription state.
Quotas at a glance
Every number below comes from the runtime constants, not from marketing copy.
| Free | Basic | Pro | |
|---|---|---|---|
| Lite valuations per month (Quick) | 15 website+domain · 25 social (max 5/day) | 1,000 shared (websites · domains · social) | 2,500 shared |
| Core Standard — Basic (per month, Core Full valuation) | 0 | 100 website + 50 social | Included as Expanded Standard |
| Expanded Standard — Pro (per month, Expanded Full valuation) | 0 | Included as Core Standard | 250 website + 100 social |
| Domain Appraisal | Paused | Paused | Paused |
| Deep valuations per month | 0 | 3 | 25 |
| Watchlist slots | 5 | 10 | 50 |
| Watchlist refreshes per asset per day | 5 | 5 | 20 |
| Trend windows | none | 30d | 30d, 90d, 365d |
| CSV export | no | no | yes |
| Newsletter imports | no | no | yes |
| MCP/agent access | no | no | Beta — not part of Launch 1.0 |
The row names above are the run types the app uses. Read them as Quick valuation (Lite), Full valuation (Core / Expanded Standard) and Full Diligence Valuation (Deep). Free carries zero Full/Full Diligence allowance (2026-08-26 overhaul) — its only allowance is Quick, the same fixed reduced-evidence contract Basic and Pro can also select for a Lite pull; only the monthly count differs by plan. Anonymous (signed-out) visitors get a combined 3/day Lite cap shared across website and social, not the signed-in Free numbers above. See Plans, quotas & billing for the full explanation.
The free monthly website figure of 15 is a configurable default; the free monthly social figure of 25 is fixed. Your account may show a different website number if the deployment overrides it.
Both paid plans include the Full Diligence Valuation: Basic includes 3 per month, Pro includes 25. Pick Deep in the Run Valuation depth selector to spend one — the option is selectable on both paid plans. A Full Diligence Valuation is identical on both paid plans: same evidence, same operations, same answer-engine coverage, same report content, including the bounded referring-domain sample and the new/lost link-trend window. Only the monthly allowance and the surrounding workflow differ. MCP/agent access is Pro-only, but the dashboard trigger works on both paid plans.
Two soft warnings sit under these caps. The workspace shows a "nearing your cap" banner at 80% of a monthly allowance, and the free-tier upgrade nudge appears at 70%.
