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
- Zargham, M., Shorish, J., & Paruch, K. (2019). From Curved Bonding to Configuration Spaces. — Zargham et al., the formal framework underlying the bonding-curve mechanism used here.
Complex adaptive systems
- Focardi SM (2015) Is economics an empirical science? If not, can it become one?. Front. Appl. Math. Stat. 1:7.
- Zargham, M., Paruch, K., Shorish, J. (2020). Economic Games as Estimators
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
- "Introduction to cadCAD - Systems Theory - cadCAD Community". Zargham, M., 17 September 2019. community.cadcad.org/t/introduction-to-cadcad/15.
- "Putting cadCAD in Context - Systems Theory - cadCAD Community". Zargham, M., cadCAD Community, 17 September 2019. community.cadcad.org/t/putting-cadcad-in-context/19.
Related work at DSG
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.