OpenAid Ledger

About the ledger

The problem

Billions are given every year to humanitarian and development work. Most of it is reported to the International Aid Transparency Initiative (IATI), an open standard used by about two thousand governments, agencies and charities. That data is public, but it is also mutable. A publisher can rewrite a budget, drop a project, or delete a whole file, and the previous version is gone.

What this does

Once a day the ledger reads the full IATI Registry, downloads every listed file, and records a cryptographic fingerprint of the bytes. Files it has not seen before are kept. Every observation, every change and every disappearance is written to an append-only register that is never edited afterwards.

The result is a time series that did not exist before: what was published, by whom, and when it changed. Journalists can check whether a project quietly vanished after an audit. Researchers can reconstruct any day's state. Publishers can see their own data quality.

What it does not do yet

Today the ledger works at file level. Parsing each file into projects, budgets and transactions, so that a change reads as “budget for project X fell from 4.2M to 1.1M”, is the next stage. Roughly one in fourteen registered files cannot be fetched because the link is dead or the host refuses automated requests; those are recorded as failures rather than guessed at.

Open

The JSON API serves the current state of every dataset and the last 30 days of changes without a key. The full history back to day one, bulk paging and change alerts are available with a key; that is what funds the crawler. The code is released under AGPL-3.0. Source data belongs to its publishers under their own open licences, which the ledger preserves and attributes.

Open the register