Documentation

Model your runway.

Set up a treasury, run scenarios, and read the projection chart. No backend, no signup — your model lives in the browser and travels by shareable URL.

Overview

What RoughRunway models

A deterministic projection engine over a 12, 15, or 18-month horizon.

RoughRunway answers two questions: how long the money lasts on liquid reserves alone (hard runway), and how much further it goes if you liquidate volatile assets at a haircut (extended runway).

The projection is pure math — no AI in the engine, no random sampling. Every dollar of burn, every token sold, and every haircut is reproducible from the inputs. AI assists only with drafting and editing inputs.

Note
Models never leave the browser. There is no database. Sharing encodes the entire model into the URL hash with lz-string.

Quick start

From zero to runway

  1. 1

    Open the dashboard.

    Either load the demo model or jump in with a clean slate.

  2. 2

    Add your treasury.

    Stablecoins, fiat, and any volatile assets you hold.

  3. 3

    Define burn.

    Headcount, infrastructure, marketing — anything that costs money each month.

  4. 4

    Add expected inflows.

    Revenue, grants, scheduled token unlocks.

  5. 5

    Read the chart.

    Hard runway is the solid line. Extended runway is the dashed line.

Tip
Prefer to describe your org in words? Use the AI setup wizard at /setup to draft a model from a short description, or use the Edit in words box inside any panel to patch fields with natural language.

Treasury

What you hold today

Three asset classes. Stablecoins and fiat fund burn first; volatile assets are liquidated only when reserves run out.

stablecoins
USD
USDC, USDT, DAI, and similar. Treated as cash equivalents — no haircut.
fiat
USD
Cash held in a bank account. Spent alongside stablecoins.
volatileAssets[]
tokens × price
ETH, BTC, native tokens, and alts. Each carries a haircut, a liquidity profile, and a liquidation priority that determines the order assets are sold.
Liquidity matters
Volatile assets configured with maxSellUnit: percent_of_volume are capped by daily volume × percent. Months where the cap binds are flagged as liquidity-constrained in the chart and in the Monthly Breakdown table.

Burn

What leaves the treasury each month

A flat monthly USD figure per category. Use scenarios to model raises and cuts rather than editing the baseline.

Burn is the sum of all category amounts per month. The engine subtracts inflows to get net burn, then draws from stablecoins and fiat first; volatile assets are only sold once liquid reserves are depleted.

Tip
Headcount-heavy teams can keep a single Headcount category and model hires or cuts via a scenario's headcountChange override.

Inflows

What comes in

Revenue, grants, scheduled raises, and token releases — modeled as monthly amounts or one-time events.

Inflows reduce net burn for the month they land in. A one-time $500K grant in month 4 produces a single positive blip; a $50K/mo recurring revenue line flattens the curve across the horizon.

Scenarios

Stress-test without rewriting the base

A scenario is a layer of overrides on top of the base model. The base never changes — overlays produce alternate projection lines on the chart.

Built-in templates cover the common stress cases:

  • Bear MarketNative -50%, ETH -30%, revenue -30%, native haircut +10.
  • Aggressive HiringAdd headcount and the corresponding monthly burn.
  • Emergency CutsTrim non-essential burn categories.
  • Token CrashShock the native token price downward.
Note
Scenarios reference base-model IDs. If you delete a category that a scenario overrides, that override is silently skipped — the scenario keeps applying its other rules.

Projections

Reading the chart

Two runway lines and an optional composition stack.

Hard runway
solid line
Stablecoin + fiat balance over time. The first month it hits zero is your hard-runway depletion date.
Extended runway
dashed line
Hard balance plus proceeds from liquidating volatile assets at their haircut. Always ≥ hard runway.
Composition
stacked area
Toggle on to see the stables / fiat / volatile breakdown each month. Useful for spotting when liquidations begin.
Liquidity-constrained
badge
A red badge marks months where the engine wanted to sell more volatile assets than the liquidity cap allowed. The shortfall carries forward as unmetDeficit.
Status thresholds
Healthy > 12 months. Warning 6–12 months. Critical < 6 months. The summary cards at the top of the dashboard use the same thresholds.

Share & export

Move models between people and agents

No accounts and no cloud — every model serializes to a URL or a JSON file.

Click Share to copy a URL with the model encoded in the hash. Anyone who opens it loads the same model locally; nothing is uploaded. Click Export for a JSON file you can email or commit to a repo.

The URL format looks like:

https://roughrunway.com/dashboard#model=N4IgZg9hIFwgxgUwM4...
Long URLs are expected
Compressed model hashes routinely exceed 2KB. Email and most chat clients handle this without issue. If a tool truncates the link, use Export → JSON instead.

AI assistant

Drafting and editing with Perplexity Sonar

The assistant only writes inputs. The projection itself stays deterministic.

Three AI surfaces are available:

  • Setup wizardAt /setup, paste a description of your org and the assistant drafts a full model.
  • Edit in wordsInside Treasury, Burn, and Inflows, describe a change in plain English — the assistant returns a diff you can review and apply.
  • Scenario builderDescribe a market condition and the assistant generates the override layer for a new scenario.
Note
AI is optional. If PERPLEXITY_API_KEY is not configured, AI surfaces return a 503 and everything else continues to work.

Ready to model

Build a model in under a minute.

Open the dashboard or describe your org in the setup wizard to get a runway projection you can share with one link.