Community currency systems

May 14, 2026 · View on GitHub

Dynamical modeling of issuance, redemption, and velocity in community currency networks.

Research archive. Part of DSG's ongoing program in monetary systems and complex-economic dynamics. Originally developed 2018–2021 in collaboration with the Red Cross and Grassroots Economics, running community-currency programs in informal-economy settings.

Scope

Community currencies — vouchers, mutual-credit instruments, and other complementary monetary systems operating alongside national fiat — present a clean dynamical-systems problem. The currency circulates within a bounded population. Issuance is policy-controlled. Redemption pressure is endogenous, driven by participant behavior and trust in the system. Long-run viability hinges on whether velocity, reserve coverage, and participant adoption co-evolve into a stable regime.

This repository models that co-evolution. Concrete questions it addresses:

  • Under what issuance policies does the currency reach a self-sustaining circulation regime?
  • How does the introduction or removal of bonding-curve mechanics shift the reserve coverage required to absorb redemption pressure?
  • Which subpopulations of users drive the network's velocity dynamics, and which are more sensitive to policy shifts?
  • How do parameter changes (redemption caps, drip schedules, adoption rates) propagate through the system?

Model framework

Built in cadCAD — a Python framework for modeling and simulating complex adaptive systems. The model treats the currency network as a discrete-time dynamical system: state evolves through a sequence of policy updates and behavioral responses across a heterogeneous user population.

The model architecture:

flowchart LR
    P[External partner<br/>scheduled drip]
    R["Reserve R<br/>(fiat backing)"]
    S["Circulating supply S<br/>(community currency)"]
    Pop[Subpopulation clusters<br/>K-means on transaction features]
    IC[Inventory controller<br/>hysteresis around target ratio]
    P -->|drips into| R
    R <-->|"mint / burn via<br/>bonding curve V = S^κ / R"| S
    Pop -->|transactions| S
    Pop -->|redemptions| R
    IC -.->|adjusts drip| P
    R -.->|measured ratio| IC
    S -.->|measured ratio| IC

Solid arrows denote currency flow. Dashed arrows denote policy / control signals.

Reproducibility: install Python 3.7+ (Anaconda recommended) and pin cadCAD to the version this repo was built with:

pip install cadCAD==0.4.22

To get the code:

git clone https://github.com/DynamicalSystemsGroup/Community_Inclusion_Currencies.git
cd Community_Inclusion_Currencies
jupyter notebook

Simulations

Each notebook is runnable independently and exposes a different facet of the model.

Bonding-curve initialization

Click here — sets up the curved-bonding mechanism that governs issuance and redemption pricing.

Subpopulation construction

Click here — generates a heterogeneous user population from empirical transaction data, partitioned by role (savings groups, traders, anchor businesses, etc.).

Network simulation

Click here — full cadCAD simulation with subpopulations interacting over time.

Parameter sweep

Click here — explores the policy space (issuance schedules, redemption caps, participant onboarding rates).

Interactive Colab notebooks

Last refresh: 2020-05-26. Colab versions use 10 clusters instead of 50 for runtime.

Concepts addressed

Bonding curves

Complex adaptive systems

Community Currencies

Economics

Mechanism design and dynamical systems

The model sits at the intersection of mechanism design (what rules to set), dynamical systems (how the system evolves under those rules), and complex-adaptive modeling (how heterogeneous agents respond). Each layer constrains the others.

Systems engineering

cadCAD framework

This repository sits within DSG's broader research program on dynamical modeling of social and economic systems. Adjacent work:

  • gds-core — Generalized Dynamical Systems simulation runtime.
  • MSML — Mathematical Specification Modeling Language; the formal-spec layer.
  • dynamical-block-diagrams — Diagrammatic notation for dynamical-system models.

License

GNU Lesser General Public License v3.0 (LGPL-3.0). See LICENSE.