Walleet

Why Walleet does not connect to your bank

Almost every personal finance app opens the same way: pick your bank, enter your online banking credentials, wait while it imports. It has been the default for long enough that not doing it looks like a missing feature.

It is a deliberate choice, and this is the reasoning.

What bank linking actually involves

You are rarely connecting to your bank. You are connecting to an aggregator — a company sitting between the app and your bank, holding either a credential or a long-lived consent token, pulling your accounts and transactions on a schedule.

That arrangement means:

  • A third company you did not choose holds access to your account data.
  • Your complete transaction history — every merchant, every amount, every date — is copied into their systems and the app's.
  • The connection depends on an integration that can break without warning.

For an app whose job is analysing your spending, that trade might be worth it. Walleet does not analyse your spending, so it would be paying the entire cost for none of the benefit.

Connections break quietly

This is the practical objection rather than the philosophical one, and it is the one that actually bites.

A bank changes its login flow. A consent expires after ninety days. A password reset invalidates a token. An aggregator loses an integration with a smaller institution and does not restore it. Any of these stops an account updating, and the failure is usually silent: the account is still listed, still showing a number, and the number is from six weeks ago.

A net worth total built from one stale account and seven fresh ones is wrong in a way that is very hard to notice, because nothing looks broken. You only find out when you reconcile by hand — at which point you have done the manual work anyway, later and with less trust in the result.

Walleet cannot have that failure mode. If a number is old, it is old because you have not updated it, and the app can tell you exactly when you last did.

Transaction tracking is a diligence trap

The other promise of aggregation is categorised spending. In practice it asks for sustained effort most people cannot give it.

The import is never clean. Merchant names are cryptic, one shop lands in three categories, transfers between your own accounts show up as income and expense, and a month of travel produces a fortnight of recategorising. Every system like this needs regular correction to stay honest.

It works in January. By March the corrections stop, and an uncorrected system is worse than none, because it produces confident numbers that are wrong.

Balances do not decay this way. A balance is a fact your bank already computed. There is nothing to categorise and nothing to correct.

What you actually give up

Being straight about it: real things.

You give up automatic updates. Your balances are as current as the last time you sat down with them, and if you skip three months there is a three-month hole in your chart.

You give up spending analysis entirely. If you want to know what you spend on groceries, Walleet will never tell you. That is a different product and you should use one.

You give up the initial convenience. The first setup is typing in your accounts rather than picking your bank from a list.

What you get

Nothing silently goes stale. Every number has a date you put on it.

No third party holds access to anything. There is no aggregator, no stored banking credential, no consent to renew.

No transaction data exists to leak. Walleet cannot lose what it never received. The privacy policy is short because the data inventory is short.

It works for accounts nothing supports. Cash in a drawer. A brokerage in a country your aggregator has never heard of. A wallet. Money lent to a relative. If you can put a number on it, you can track it — and the accounts aggregators cannot reach are often exactly the ones that matter for net worth.

It keeps working. No integration to break, so the two-year-old chart is still accurate two years later.

The two minutes

The honest measure of the trade is what it costs each month.

Open your banking app, read a number, type it in. Repeat for each account. Most people have somewhere between four and ten, and the whole thing takes about two minutes.

Two minutes a month, twenty-four minutes a year, in exchange for a record with no stale accounts, no third-party access and no transaction history in anyone's database.

If that trade does not appeal, the aggregating apps are good and you should use one. If it does — that is what this is.

The exception we did build

One case was worth an exception. A self-custodied crypto wallet has a balance that is genuinely public: it is on a ledger anyone can read, and there is no login, no credential and no aggregator involved in reading it.

So an account can be connected to a Bitcoin address, and Walleet reads the confirmed balance from a public block explorer.

Even here the rule holds. The reading appears beside the entry box as a suggestion, and enters your history only when you save it. Nothing writes to your records on your behalf. And the disclosure is explicit: the address you give it is sent to a third-party explorer, which learns that address.

The distinction that made it acceptable is that reading a public ledger requires no access to anything of yours. That is not true of a bank, which is why the exception stops here.