Skip to content

Introduction

Coffer is a self-hosted coin collection management application. It tracks your physical coin holdings, calculates real-time precious metal valuations, and integrates with the Numista catalog for collector market prices.

Most coin collection tools are either paid SaaS platforms, outdated desktop apps, or simple spreadsheets. Coffer fills the gap as a modern, self-hosted web application that gives you:

  • Real-time metal valuations — Gold, silver, and platinum prices updated every 5 minutes from live forex data
  • Collector value tracking — Market prices pulled from Numista for graded coins
  • Portfolio-level analytics — Aggregate value, historical charts, and metal composition breakdowns
  • Full data ownership — Everything runs on your hardware via Docker

Each coin in your collection stores:

FieldDescription
TitleCoin name or description
YearMinting year
CountryISO 3166-1 country code
CurrencyISO 4217 currency code
DenominationFace value
Metal typeGold, silver, platinum, or nickel
Weight & purityFor metal value calculation
GradeGOOD through PROOF (8 grades)
TypeBullion, commemorative, standard circulation, etc.
Numista IDLinks to the Numista catalog for images and prices
ImagesObverse and reverse photos (auto-fetched or manual)

Coffer calculates two types of value for each coin:

  1. Metal valuationweight × (purity / 1000) × current price per gram. Updated from live forex data (Swissquote) every 5 minutes on weekdays.

  2. Collector valuation — Market price from Numista, tied to the specific issue (year + mint mark) and grade. Can be an exact price or a min/max range.

Both are tracked historically, so you can see how your collection’s value has changed over any timeframe.

Coffer is split across three repositories:

RepositoryDescription
coffer2Spring Boot backend (Kotlin) — REST API, database, integrations
coffer2-uiAngular frontend — collection UI, charts, portfolio dashboard
coffer-deployDocker Compose deployment configuration

The deployment repo (coffer-deploy) ties everything together with a single docker-compose.yml that builds and runs the full stack.