txfacts

API

The full contract is an OpenAPI 3.1 document. Reads need no key.

Look up

curl -s https://txfacts.hulvik.se/v1/lookup \
  -H 'content-type: application/json' \
  -d '{"items":[{"key":"klarna*ikea.se","format":"amex"}]}'

Send keys scrubbed with @txfacts/normalize, never raw statement text; the server refuses anything its own scrubber would change. For a stronger guarantee, use GET /v1/range/<first 5 hex of the key hash> and match locally: the server never learns which text you asked about.

Contribute

  1. GET /v1/keys/challenge, then find a solution such that sha256(challenge + ":" + solution) starts with difficulty zero bits.
  2. POST /v1/keys with both. The key is shown once and is not linked to you.
  3. POST /v1/contributions or POST /v1/votes with Authorization: Bearer <key>.

Contribute facts about merchants, never preferences: if a supermarket purchase was a gift in your own budget, that stays in your app.