Self-hosted · Multi-currency

Your wealth,
on your infrastructure.

The personal finance OS for people who outgrew Mint. Aggregate every bank, every brokerage, every alternative — on a server you control. We have zero access to your data.

Portfolio · YTD
$22,905,668 +12.47%
USD
$1,984,463
EUR
€167,875
BRL
R$7,487,418
Integrates with
Why Steward

Built for serious portfolios.

Stocks across five brokerages, bonds with quarterly coupons, alternatives at quarterly NAV, structured notes with autocall observation dates. Steward speaks the language.

📊

Live multi-currency dashboard

Sparkline YTD across all accounts, FX-converted to USD on the headline tile, native amounts everywhere else.

🏦

Per-custodian breakdown

See exactly what UBS holds vs JPM vs Bergos. Multi-bank positions split proportionally so totals reconcile.

📈

18 benchmark comparisons

Rebased-to-100 charts against S&P 500, NASDAQ, MSCI World, Mag-7 stocks — pick any combo, switch instantly.

🧠

AI-grade daily briefing

Once-a-day push with portfolio delta, what's overdue, what's coming up. Full briefing inside the mobile app.

🔒

Biometric unlock

Face ID / Touch ID gate before anything sensitive shows. Hide-values toggle for screen sharing.

📱

Web + iOS + Android

Same backend, same data, three surfaces. Mobile reads the cache instantly + revalidates in the background.

3 steps

From zero to insight in 5 minutes.

01

Spin up your server

One-click deploy to Railway under your account. Your tenant database, your control.

02

Connect the mobile app

Scan the QR from your /connect page. JWT in iOS Keychain, biometric optional.

03

Aggregate everything

Pluggy / Teller / Enable Banking for live sync, or paste CSV from any broker. Yahoo Finance prices auto-refresh.

Free companion app

Your portfolio in your pocket.

Steward Mobile is a read-and-edit viewer that connects to your self-hosted backend. Scan a QR on /connect, type your password, done. The app stores nothing on disk beyond your session token.

  • Dashboard, transactions, investments, charts Everything the web app has, optimized for one hand.
  • Push notifications Overdue payments, big movers, daily summary, budget exceeded.
  • Face ID / Touch ID unlock Biometric gate before the app reveals balances.
  • No payments inside the app License purchase happens here on the web. The mobile app is free — works the moment you log in.
Steward
Dashboard
Total · USD
$23.38M
▲ $14,694 today
Equities · YTD
+12.4%
vs S&P 500 +9.8%
UBS Wealth$2.56M
Citi Strata$3.20M
Bergos$1.60M
JPM$2.57M
Side by side

Why Steward, not the other guys.

Compared to the consumer apps you've probably looked at — Pocketsmith, Copilot Money, Monarch, YNAB, Tiller — Steward is built for one thing they all skip: a real multi-asset portfolio on infrastructure you own.

  Steward Pocketsmith Copilot Monarch YNAB Tiller
Self-hosted on your infra
Your data never leaves your DB
Equities + bonds + commodities basic basic via sheets
Alternatives (PE / VC / hedge funds)
Structured notes + options
Multi-bank custodian split (per share)
Multi-currency native (no forced USD) USD only USD only limited
AI-parsed broker statements
Recurring-payment matching engine manual manual manual manual
Multi-user with RBAC family family family
Open API + MCP (LLM-ready)

Competitor info from public docs & pricing pages as of 2026. Find something wrong? Let us know via the contact form.

The differentiator

You host it. We can't see it.

Most finance apps say "we take your privacy seriously" while having full read access to every transaction. This one is built differently: the architecture itself prevents us from seeing your data.

Your Postgres, your Railway

The database lives in your Railway VPC. We have no DATABASE_URL, no SSH key, no team membership. Zero credentials to your environment.

Zero phone-home

The image makes outbound requests to bank aggregators, Anthropic, Yahoo Finance, your email provider — and nothing else. CI fails the build if a new domain appears.

All API keys are yours

Plaid, Teller, Pluggy, Anthropic, Resend, SMTP — every secret is set in your env vars. None ever flow to us. If you don't set a key, the integration is off.

No telemetry, no analytics

No Sentry, no Plausible, no GA, no anonymous usage stats. Not opt-out — not present. Errors stay in your Railway logs.

Pull-only updates

You pull the image from a public Docker registry on your schedule. We have no inbound channel to push code into your container.

Pin & audit

Pin to a specific image tag (:v1.2.3) and audit the matching source before allowing your service to update. Sigstore-signed releases verify provenance.

Verify it yourself — block our domain in your firewall:

# In Railway → Service → Settings → Networking
# Add an outbound deny rule for: paired.net, *.paired.net
# The app keeps working. Empirical proof, not a promise.

Or run the egress-allowlist test against your own clone — every host the image touches is listed in SECURITY.md with what's sent and what gates it.

Pricing

One tier. No surprises.

14-day free trial, every feature unlocked. No credit card. Cancel via Stripe portal.

Operator
$29/month
  • Unlimited equity positions, bonds, alternatives
  • Daily portfolio snapshot + briefing email
  • iOS + Android apps with biometric unlock
  • Bank aggregation (Pluggy / Teller / Enable Banking)
  • Self-hosted on your Railway instance
  • Cancel anytime
Start 14-day trial

Take your money back.

Stop letting Mint / Empower / Personal Capital have a copy of your bank logins. Run your own infrastructure. Sleep better.