RealSiteWorth

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 twelve links, in this order:

LabelPath
Dashboard/account
Run Valuation/dashboard/run-valuation
Saved Reports/dashboard/reports
Watchlist/dashboard/watchlist
Owner Proof/dashboard/owner-proof
Buyer Checks/dashboard/buyer-checks
Seller Workflows/dashboard/seller-workflows
Social Assets/dashboard/social-assets
Websites & Domains/dashboard/websites-domains
Business Assets/dashboard/business-assets
Access Code/account/access-code
Settings/account/settings

Below the links, the sidebar shows two running totals, saved reports and tracked assets, then your signed-in email and your current plan badge.

Dashboard (/account)

This is the longest page in the workspace. Top to bottom, it holds:

  • Welcome back hero. An input box and a Run valuation button that sends you to /dashboard/run-valuation.
  • Getting started. A checklist with a percentage-complete bar, built from your history, watchlist, social unlocks, and settings.
  • Recent reports. Your four most recent saved rows.
  • Watchlist preview. Your three most recently tracked assets, with the saved value range or "Needs run".
  • Next actions. Three suggested next steps that change depending on whether you already have reports and tracked assets.
  • Lane shortcut grid. Eight cards linking out to domains, websites, saved reports, watchlist, buyer checks, seller workflows, social assets, and the business lane.
  • Portfolio rollup. A summary built from your tracked assets.
  • Newsletter imports. See Newsletter imports.
  • Latest reports. Up to six shortcuts, one per unique asset, each with a "Run again" link and a "View report" link when a saved snapshot exists. Each is tagged Tracked or History, and flagged stale when the saved run has aged out.
  • Workspace access this month. Two meters, described in Usage meters.
  • Watchlist table. The full table, with add, refresh, and remove controls.
  • Valuation history. The full saved-report table, grouped by run month, with four filters: All activity, Saved reports, Sites and stores, Creator assets.
  • Payment history. Renders only if you have a Stripe customer record and at least one payment.
  • Notification preferences, and on Pro only, the REST API section.
  • Settings and profile forms, duplicated here from /account/settings for convenience.

Usage meters

The Workspace access this month card shows two meters:

  • General valuations, your used count against your monthly allowance.
  • Watchlist assets, your tracked count against your slot cap.

On a paid plan the valuation meter reads Included rather than a number, because paid monthly quotas are enforced in the billing layer rather than shown as a free-account allowance.

Free accounts also get a passive upgrade nudge on this page once you pass 70% of your monthly website allowance.

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 an 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.

The button does not render on Free or Basic, and the endpoint returns a 403 with CSV export is available on the Pro plan. if you call it anyway.

Watchlist (/dashboard/watchlist)

Tracked assets with their value range, confidence, and freshness.

Slots

Slot caps come from your plan:

PlanWatchlist slots
Free5
Basic10
Pro50

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:

PlanRefreshes per asset per day
Free5
Basic5
Pro20

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:

PlanWindows
Freenone
Basic30 days
Pro30, 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 feature 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:secret form, 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.

On Free and Basic, the card still renders and shows any existing imports, but the import form is replaced with an upgrade prompt.

API keys

Pro accounts get a REST API section at the bottom of the dashboard home 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 four JSON-RPC methods: value_website, value_social, get_watchlist, and get_history. Pro includes access at 5 requests per second.

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 (/account/access-code)

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 basic allowance above the free default of 50 — typically to 10 and 150. 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 (/account/settings)

Three 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.

The same three forms also appear at the bottom of the dashboard home.

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 /account when you are done.

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:

PlanMonthlyAnnual
Basic$39$399
Pro$99$999

What changes immediately after you upgrade

Stripe returns you to /account?cs={session_id}. That page claims the checkout session against your user id and re-renders using the new plan on the spot. 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 valuation meter switches from a numeric allowance to Included.
  • Watchlist trend windows unlock: 30 days on Basic, 30/90/365 on Pro.
  • On Pro, the Export CSV button appears on the history table, and the REST API section appears at the bottom of the page.
  • On Pro, the newsletter import form unlocks.
  • 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.

FreeBasicPro
Basic valuations per month90 (dormant — see below)2501,250
Advanced valuations per month01050
Free-account monthly allowance50n/an/a
Signed-in website valuations per month15n/an/a
Social valuations per day5n/an/a
Watchlist slots51050
Watchlist refreshes per asset per day5520
Trend windowsnone30d30d, 90d, 365d
CSV exportnonoyes
Newsletter importsnonoyes
MCP/agent accessnonoyes, 5 req/s

The free 90 is a dormant constant, not a cap you will meet. Signed-in free accounts are overridden to 50, and the wall that actually binds free website valuations is the 15/month bucket; anonymous callers stop at the daily IP cap before any monthly check runs. See Plans, quotas & billing for the full explanation.

The free monthly website figure of 15 is a configurable default. Your account may show a different number if the deployment overrides it.

Basic's 10 advanced valuations per month are included in the plan, and the in-app way to run them is rolling out. The allowance is real and metered, but advanced runs currently enter only through the agent/API transports, and MCP/agent access is Pro-only — so on Basic there is no control in the workspace that spends this allowance yet.

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%.