community scale mutual credit system
- Go 98.9%
- Makefile 1.1%
| cmd/cobalt | ||
| internal/ledger | ||
| .gitignore | ||
| go.mod | ||
| go.sum | ||
| Makefile | ||
| README.md | ||
Cobalt - Mutual Credit System
Overview
Cobalt is a mutual credit system for use as an experimental local currency, with a built-in reputation metric that measures economic participation in a way that is resistant to gaming, rewards diverse trading, and provides a positive-sum signal of each account's embeddedness in the community economy.
Core Principles
- Integer-exact accounting. The underlying ledger uses integer credits and double-entry bookkeeping. Debits and credits always balance to the unit. The sum of all account balances is always zero (the fundamental invariant of mutual credit).
- Deterministic, reconstructible state. Every piece of system state can be recomputed from the transaction log alone. There is no lossy, order-dependent, or floating-point state in the authoritative layers.
- Separation of concerns. The ledger is the source of truth. The scoring system is a derived view computed on top of it, and can be rebuilt or modified without touching the ledger.
- Absolute, positive-sum metrics. Scores are not normalized against other users. Anyone who meaningfully grows their economic participation sees their scores grow, regardless of what anyone else does.