Alopex

Open source · MIT · Self-hosted

The open-source Monarch alternative for European banks.

Net worth from 2000+ EU banks, stocks and crypto, synced read-only into your own Supabase project. Free, on free tiers.

Or open the repo in Codespaces and run ./setup.sh

  • GitHub stars
  • 2000+ European banks over PSD2
  • Read-only access
  • No Alopex server
alopex.finance
Alopex net worth dashboard: one total across bank accounts, portfolio and crypto, with a chart over time

Where your data goes

Four hops. The last two run under your own accounts, and nothing in this line is ours.

Your bank

Balances and transactions

Released under PSD2 account-information access. Read-only by law.

Enable Banking

Licensed relay

Fetches from the bank and hands the data on. Keeps no copy for Alopex.

Your Supabase

Postgres, your account

Row Level Security on every table. The service-role key never reaches the browser.

Your Vercel

The dashboard

Deployed from your fork. Updates arrive as pull requests you merge.

  • Optional: Google Gemini, only if you add a key, receives transaction descriptions for categorization.
  • Sync logs hold counts, never names or amounts. Alopex cannot move money.

Everything in one daily total

One net worth figure

Banks, portfolio and crypto in one daily total, in EUR, USD or GBP.

Import past months from CSV so the chart starts with your history.

Alopex net worth page: total with year-to-date change and a chart over time

Bank sync over PSD2

Revolut, Wise, Fineco and 2000+ other European banks, synced every 6 hours.

Your category rules run first; Gemini fills the rest if you add a key.

Alopex transactions page: register with merchant, category and subscription tags

Portfolio and crypto, auto-priced

Add holdings by ticker or ISIN; prices from Yahoo Finance and CoinGecko. Coinbase syncs with a read-only key.

Alopex portfolio page: total return, holdings and allocation

Subscription detection

Billing frequency and true monthly cost of every recurring charge.

Transfers and refunds

Transfers between your accounts are not income; refunds pair with the original charge.

Spending by category

Where the month went, in categories you can rename and group.

"Worth it?" prompts

After a discretionary purchase, a push notification asks. The answer is saved on the transaction.

Shared costs

Split a transaction with someone; the owed share leaves your spending.

Installable PWA

On your phone's home screen, with a push reminder before bank consent expires.

Switching from Monarch, Finary or a spreadsheet

Monarch Money

Connects US and Canadian banks. Subscription. Your transactions live on their servers.

2000+ European banks over PSD2, free, in your own database.

Finary

European banks, hosted service, proprietary code.

Same scope, MIT licensed, self-hosted. It keeps working if we stop.

A spreadsheet

Typed by hand, no history, one currency.

Synced every 6 hours, daily history, EUR/USD/GBP. Import the spreadsheet as CSV.

Coming from Firefly III, Actual or Ghostfolio? See the FAQ. Corrections welcome on GitHub.

Set up in about 30 minutes

In the browser, on free tiers. No computer has to stay on.

  1. Create free accountsGitHub, Supabase, Enable Banking and Vercel. Optional Gemini key. About 15 minutes.
  2. Run setup in CodespacesRun ./setup.sh. It creates the schema, deploys the functions and turns on the sync.
  3. Deploy the dashboardClick Deploy with Vercel, paste the three values setup printed, sign in.
  4. Link a bankFrom the Accounts page. Balances appear at once, transactions with the next sync.
Open the setup guide

Own hardware? docker compose up runs both apps.

Who it is not for

You bank outside Europe. PSD2 only. No Plaid, SimpleFIN or US banks.

You want someone else to run it. You host it, merge updates and renew bank consent every 180 days.

You want real-time balances. Sync runs every 6 hours; banks cap unattended access at about 4 calls a day.

You want budgets, goals or forecasts. Not today.

You want broker sync. You enter holdings; only Coinbase syncs balances.

Frequently asked questions

Is there an open-source alternative to Monarch Money or Finary?

Yes. Alopex is MIT-licensed and self-hosted: European bank accounts, stocks, ETFs and crypto in one dashboard, with the data in your own Supabase project.

How is Alopex different from Firefly III, Actual Budget or Ghostfolio?

Firefly III and Actual budget; Ghostfolio tracks investments. Alopex does net worth across bank accounts, investments and crypto, with EU bank sync built in.

Is Alopex free?

Yes, MIT. The default setup runs on free tiers of GitHub, Supabase, Vercel and Enable Banking, whose limits can change.

Which banks does Alopex support, and how long does access last?

Any of the 2000+ on Enable Banking, including Revolut, Wise and Fineco. Consent lasts 180 days; you get a reminder before it ends and renew without losing history.

Do I need a server to run Alopex?

No. Sync runs on GitHub Actions and the dashboard on Vercel. Docker is an option for a home server.

Can Alopex move money or make payments?

No. PSD2 account-information access and the Coinbase key are both read-only.

From the maker

I built Alopex because every net worth app I tried either could not see my Italian bank or wanted my transactions on its servers. This one runs on my own accounts, and the code is MIT so it keeps working if I stop.

Marco D'Onghia, marcodonghiaa.com

Your net worth, in a database you own.

Try it on fake data, then set up your own.

Built by Marco D'Onghia