ICN Economic Architecture
Last Updated: 2026-01-17 Status: Design Document
Overview
This document describes the technical architecture of ICN's economic system. It complements ECONOMIC_VISION.md which covers the strategic framing.
The economic system is designed around three principles:
- Grounded in reality — tokens represent real things, not financial abstractions
- Speculation-resistant — mechanisms prevent value extraction without contribution
- Incrementally deployable — each layer is independently useful
The Layered Economy
ICN's economic system has three layers, each serving different needs:
┌─────────────────────────────────────────────────────────────────┐
│ LAYER 3: FIAT BRIDGES (Controlled Interfaces) │
│ • Treasury cooperatives hold fiat reserves │
│ • Exchange only through governed gateways │
│ • Rate bands, not free markets │
│ • For: taxes, external imports, medical systems │
└─────────────────────────────────────────────────────────────────┘
↑↓
Governed conversion (not free market)
↑↓
┌─────────────────────────────────────────────────────────────────┐
│ LAYER 2: ASSET TOKENS (Transformation-Tracked) │
│ • Represent real goods: tools, materials, products │
│ • Created only via attested transformations │
│ • Carry full provenance chains │
│ • Exchange via negotiation within guardrails │
│ • Optional demurrage on idle hoarding │
└─────────────────────────────────────────────────────────────────┘
↑↓
Labor inputs to transformations
↑↓
┌─────────────────────────────────────────────────────────────────┐
│ LAYER 1: MUTUAL CREDIT (Pure Coordination) │
│ • Hours or community-defined units │
│ • For services, labor, daily exchange │
│ • Reputation-gated limits │
│ • No backing required (it's coordination, not money) │
└─────────────────────────────────────────────────────────────────┘
↑↓
Built on
↑↓
┌─────────────────────────────────────────────────────────────────┐
│ SUBSTRATE: ICN Core │
│ Identity • Trust Graph • Ledger • CCL • Governance • Gossip │
└─────────────────────────────────────────────────────────────────┘
Layer 1: Mutual Credit
Purpose: Coordinate service exchange between members
Characteristics:
- Unit of account is hours or community-defined
- Zero-sum: every credit creates a matching debit
- No external backing required
- Works entirely within network
Use Cases:
- Timebanking (1 hour = 1 hour)
- Service exchange between members
- Labor contribution tracking
Safety Mechanisms:
- Reputation-gated credit limits
- Balance transparency
- Dispute/freeze mechanisms
Layer 2: Asset Tokens
Purpose: Track ownership and provenance of real goods
Characteristics:
- Each token represents a real physical item
- Creation requires attestation (proof it exists)
- Full provenance chain from origin
- Exchange via negotiation, not markets
Use Cases:
- Equipment sharing between coops
- Tool libraries
- Material tracking through supply chains
- Inventory management
Safety Mechanisms:
- Attestation requirements for creation
- Bonded witnesses for high-value items
- Challenge windows for disputes
Layer 3: Fiat Bridges
Purpose: Interface with external economy when necessary
Characteristics:
- Controlled gateways, not free exchange
- Rate bands prevent speculation
- Governed by treasury cooperatives
- Minimized by design (internal first)
Use Cases:
- Tax payments
- External supplier payments
- Medical expenses
- Imports not available internally
Safety Mechanisms:
- Governance approval for large conversions
- Rate bands (not free market prices)
- Reserve requirements
Failure Mode Defenses
The economic system must defend against known failure modes of mutual credit and alternative currency systems.
Failure Mode 1: Soft Budget Constraint
Problem: Accounts accumulate large negatives with no real consequence, leading to over-issuance and confidence collapse.
Defense: Reputation-Gated Credit Limits
credit_limit = f(
participation_history, // How long active, how consistent
attestations_received, // Vouches from other members
contracts_fulfilled, // Track record of commitments
dispute_record // History of problems
)
Credit limits are not fixed numbers but living variables computed from the trust graph. The deeper someone's positive participation, the higher their limit.
Defense: Parameter Guardrails
Constitutional ranges enforced at protocol level:
- Minimum/maximum credit limits per trust class
- Maximum rate of limit increase
- Mandatory review thresholds
Failure Mode 2: Hit-and-Run
Problem: Someone joins, consumes value, disappears.
Defense: Identity Continuity
DIDs are portable but reputation follows. You cannot "delete your account" — your identity and history persist. Leaving one community with bad standing affects your reputation across the federation.
Defense: Federated Reputation Propagation
Misbehavior attestations propagate via gossip. Bad actors in one coop face reduced trust network-wide.
Defense: Graduated Onboarding
New members may have:
- Lower initial credit limits
- Sponsorship requirements
- Probationary periods before full privileges
Failure Mode 3: Balance Asymmetry
Problem: One coop becomes perpetual importer, another perpetual exporter, creating unsustainable imbalances.
Defense: Clearing Bands (Federation Level)
Each coop maintains target balance ranges with the federation. Exceeding triggers:
- Automatic demurrage on surplus
- Contribution requirements for deficit
- Mediated rebalancing conversations
Defense: Multi-Modal Settlement
Imbalances can be settled via:
- Labor hours
- Asset tokens
- Fiat (last resort)
- Service commitments
Failure Mode 4: Valuation Chaos
Problem: If everything is priced arbitrarily, trust evaporates.
Defense: Reference Units
Communities maintain reference exchange rates as social agreements:
- "1 hour general labor ≈ X credits"
- "1 table ≈ Y hours carpentry"
- Updated periodically by governance
These are not market prices but community baselines for negotiation.
Defense: Negotiation Within Guardrails
Parties negotiate directly, but:
- Exchanges must be within ±N% of reference (configurable)
- Outlier transactions flagged for review
- Disputes go to community arbitration
Failure Mode 5: Governance Capture
Problem: Large actors dominate issuance rules.
Defense: Quadratic Voice
Changes to monetary parameters require weighted consensus where voice scales sub-linearly with stake (quadratic voting or similar).
Defense: Protocol-Level Guardrails
Some parameters have hard limits that governance cannot override:
- Maximum individual credit limit
- Minimum attestation requirements
- Challenge window durations
The Transformation Model
When materials are transformed into products (lumber → table), the system tracks this cryptographically.
Transformation Structure
Transformation {
inputs: [
(token_id: lumber_batch_42, quantity: 10, unit: "board_feet"),
(token_id: labor_hours, quantity: 4, unit: "hours")
],
outputs: [
(token_type: "furniture/table", quantity: 1, grade: "standard")
],
transformer: did:icn:carpenter_alice,
recipe: "furniture/table/basic",
attestations: [
(witness: did:icn:bob, claim: "observed transformation"),
(inspector: did:icn:quality_guild, claim: "grade verified")
],
provenance_root: <merkle_root_of_input_histories>,
timestamp: 2026-01-17T14:30:00Z
}
Key Properties
- Inputs are consumed (UTXO-style) — lumber tokens are "spent" when transformed
- Outputs carry provenance — the table token contains a merkle root linking to all inputs
- Recipes are governed — valid transformations must match approved patterns
- Attestations prevent fraud — witnesses verify transformation actually happened
Provenance Chains
Every asset token carries its history:
forest_plot_7 → lumber_batch_42 → table_0891
↑ ↑ ↑
harvest milling carpentry
attestation attestation attestation
Anyone can verify: "This table came from sustainably harvested lumber from plot 7, milled by Coop A, built by Alice."
Recipe Governance
Recipes define valid transformation patterns:
Recipe {
id: "furniture/table/dining",
version: 3,
inputs: [
(material: "lumber/hardwood", min: 8, max: 12, unit: "board_feet"),
(labor: "carpentry/journeyman+", min: 3, max: 6, unit: "hours")
],
outputs: [
(asset: "furniture/table/dining", quantity: 1)
],
quality_grades: ["standard", "fine", "heirloom"],
required_attestations: ["transformer_capability", "material_inspection"],
approved_by: governance_proposal_847
}
Tiered Approval:
| Recipe Type | Approval Path |
|---|---|
| Variant of existing | Guild review or auto-approve |
| New category | Community vote + expert review |
| Cross-domain | Multi-guild coordination |
| Safety-critical | Stringent review + testing period |
Experimental Recipes: Allow transformation but mark outputs as "experimental" with limited transferability until recipe graduates to approved status.
Physical Verification
How do you know the lumber actually exists before tokenizing it?
Layered Verification by Value
| Value Level | Verification Required |
|---|---|
| Low (vegetables, small repairs) | Self-attestation + reputation stake |
| Medium (lumber, tools, bulk materials) | Peer witness (2-of-3 attestations) |
| High (vehicles, housing, equipment) | Inspector guild + bonded collateral |
Attestation Structure
Attestation {
attester: did:icn:witness_bob,
claim: "lumber_batch_42 exists, 200 board_feet, grade A",
stake: 50 reputation_points,
challenge_window: 30 days,
evidence: [photo_hashes...],
// If challenged and found false:
penalty: stake * 3 + attestation_privileges_suspended
}
Collusion Mitigation
- Attestation graph analysis flags suspicious patterns
- Same small group always attesting each other → audit trigger
- High-value goods require diverse attestation sources
- Economic bonds (not just reputation) for highest-value items
Partial Consumption and Fungibility
Discrete vs. Fungible Goods
Different goods need different models:
Discrete goods (tools, vehicles, furniture):
- Individual tokens, UTXO-style
- Clear ownership, no splitting
- Full provenance per item
Bulk fungibles (fuel, grain, lumber by board-foot):
- Pool tokens with quantity tracking
- Provenance tracked by batch proportions
- First-in-first-out for consumption
Consumables (food, supplies):
- Simple quantity tokens
- Batch-level provenance optional
Resource Type Definition
ResourceType {
id: "lumber/pine/construction",
fungibility: Fungible { unit: "board_feet" },
provenance_tracking: BatchLevel,
depreciation: None,
quality_grades: ["construction", "select", "premium"]
}
ResourceType {
id: "furniture/table/dining",
fungibility: Discrete,
provenance_tracking: Full,
depreciation: ConditionBased,
quality_grades: ["standard", "fine", "heirloom"]
}
Quality Grades and Depreciation
Grade-at-Transformation
Quality is attested when the item is created:
GradeAttestation {
token: table_token_0891,
grade: "fine",
grader: did:icn:furniture_guild,
evidence: [photo_hashes...],
challenge_window: 14 days
}
Dispute Resolution:
- Receiver challenges within window
- Evidence submitted by both parties
- Arbitration by guild panel or community vote
- Outcome: grade adjustment, reputation impact, possible compensation
Depreciation Tracking
For high-value assets:
AssetToken {
id: truck_token_42,
resource_type: "vehicle/truck/box",
created: 2020-01-01,
condition_history: [
(2024-01-01, "good", attester: mechanic_guild, notes: "new tires"),
(2025-06-01, "fair", attester: mechanic_guild, notes: "transmission wear")
],
maintenance_log: [
(2024-03, "oil change", attester: garage_coop),
(2024-06, "brake pads", attester: garage_coop)
]
}
Retirement Events:
RetirementEvent {
token: truck_token_42,
reason: "totaled in accident",
attestation: [insurance_coop, owner],
// Token marked retired, cannot be transferred
// History preserved for provenance queries
}
Cross-Community Exchange
Hierarchical Type Ontology
Global Layer: Basic resource ontology (wood, metal, food, shelter...)
↓
Regional Layer: Refined types (lumber/hardwood, lumber/softwood...)
↓
Community Layer: Local specifics (lumber/hardwood/bob's_mill)
Each layer maps to the one above. Cross-community exchange happens at shared layer.
Equivalence Mapping
Communities use local naming. When they trade, they register equivalences:
TypeEquivalence {
community_a: "palm_city/furniture/dining_table",
community_b: "river_coop/woodwork/table_4seat",
equivalence: Equivalent,
attested_by: [federation_council, both_communities]
}
Cross-Community Transfer
CrossCommunityTransfer {
token: table_token_0891,
from_community: palm_city_coop,
to_community: river_valley_federation,
source_type: "palm_city/furniture/table/dining",
target_type: "river_valley/woodwork/table",
mapping: registered_equivalence_47,
exchange_terms: {
offered: table_token_0891,
received: 35 river_valley_hours,
negotiated_by: [alice, bob],
within_guardrails: true // ±20% of reference
},
export_attestation: palm_city_trade_committee,
import_attestation: river_valley_trade_committee
}
Implementation Staging
The economic system is built incrementally. Each stage is independently useful.
Stage A: Mutual Credit (Current)
- Hours-based exchange
- Reputation-gated credit limits
- Basic governance
- Dispute mechanisms
What this enables: Timebanks, service exchange, labor tracking
Stage B: Simple Asset Tokens
- Tokens represent "this thing exists"
- Attestation-backed creation
- Ownership transfer
- No transformation yet
Minimum Viable Listing:
Listing {
id: unique,
type: "offer" | "want",
item: "Commercial convection oven, Vulcan brand",
description: "Doesn't fit our doorways. Original cost $1200.",
photos: [hash1, hash2],
offered_by: did:icn:abundance_coop,
seeking: "Credits, labor exchange, or make an offer",
visible_to: ["ny_food_coop_federation"],
expires: 2026-03-01,
status: "active" | "matched" | "completed"
}
What this enables: Tool libraries, equipment sharing, cooperative marketplace
Stage C: Transformation System
- Recipes as CCL contracts
- Input consumption, output creation
- Provenance tracking
- Quality grading
What this enables: Maker spaces, manufacturing coops, supply chain transparency
Stage D: Cross-Community Exchange
- Bilateral equivalence mappings
- Federation-level clearing
- Shared type vocabulary (emergent)
What this enables: Regional cooperative economies, inter-federation trade
Stage E: Fiat Bridges
- Treasury cooperatives with reserves
- Governed conversion gateways
- Rate bands (not free market)
What this enables: External interface when internal options exhausted
Relation to ICN Crates
| Economic Concept | ICN Component |
|---|---|
| Mutual credit | icn-ledger |
| Credit limits | icn-ledger + icn-trust |
| Asset tokens | icn-ledger (extension) |
| Attestations | icn-trust + icn-gossip |
| Recipes | icn-ccl (contract templates) |
| Governance | icn-governance |
| Cross-community | icn-federation |
| Listings/exchange | Gateway extension (new) |
Open Questions
Collusion resistance: Is reputation penalty + economic bonds sufficient? What else is needed?
Recipe complexity: Should recipes be CCL contracts or a separate registry?
Type ontology governance: Who defines and maintains the global layer?
Depreciation curves: How arbitrary is "standard vehicle depreciation"? Should we avoid it?
Fiat bridge legal structure: What legal entity holds reserves?
Document History
- 2026-01-17: Initial creation from design brainstorming session