Onchain Atlas

Circles UBI

A blockchain universal-basic-income protocol where every human mints their own personal currency and value flows through a peer-to-peer web of trust instead of centralized identity.

▶ Run interactive simulation animated mechanism with editable parameters

Statuspartial success
Launched2020-10-16
ChainsxDai, Gnosis Chain
Mechanismspersonal-token-per-user, trust-graph, transitive-path-based-transfers, demurrage-inflation, sybil-resistance-via-social-graph
Official sitehttps://aboutcircles.com/
Project X@aboutcircles (strongly_inferred)
FoundersMartin Köppelmann (@koeppelmann)

How it works onchain

Diagram of how Circles UBI's mechanism worksOpen full-size diagram
Original diagram derived from this entry’s researched mechanism description.

Summary

Circles UBI is an attempt to bootstrap a stateless universal basic income out of purely social relationships instead of a treasury or token sale. Every person who joins is issued their own ERC-20 personal currency (denominated CRC), which mints continuously and unconditionally to them at a fixed rate. There is no reserve, no ICO, and no central issuer — the "money" is created by the act of existing and is made spendable only through a peer-to-peer web of trust. Conceived by Gnosis co-founder Martin Köppelmann and a small Berlin team, the v1 protocol launched on the xDai sidechain (now Gnosis Chain) on 16 October 2020, briefly became the most-used app on that chain, and grew to roughly 100,000+ pilot participants. After years of a live v1 pilot, a redesigned Circles v2 launched on Gnosis Chain in May 2025 with a new wallet (Metri), group currencies, and GnosisPay/Visa integration. It is a landmark experiment in Sybil-resistant, identity-free money distribution.

Design (Mechanism)

Three primitives define the system:

  • Personal currencies. When an account joins, the central Hub contract (0x29b9a7fBb8995b2423a71cC17cf9810798F6C543 on Gnosis Chain, v1) deploys a personal token contract for them. Each personal currency mints at the same fixed rate: 1 CRC per hour (24 CRC/day), paid out per second to its owner. Because everyone mints at the same rate, no one is structurally advantaged by the issuance itself.
  • Web of trust. A CRC is only useful if others accept it. Users create trust edges by declaring another person's personal currency equivalent to their own holdings. Trust is the primary Sybil defense: instead of centralized KYC, users vouch for accounts they know represent a real, unique human, and have a natural incentive not to trust fakes. A fake account that no one trusts can mint CRC but cannot spend it.
  • Transitive, path-based transfers. To pay a merchant who doesn't hold your personal currency, the Hub finds a transitive path through the trust graph — swapping your CRC into intermediaries' currencies along a chain of trust until it reaches a token the recipient accepts. This converts many personal currencies into a fungible-feeling shared money, and as the graph densifies the currencies converge toward a single global monetary system.
  • Demurrage / inflation. To discourage hoarding and level early-vs-late adopters, the design uses an annual inflation of ~7%: issuance grows each year while older balances effectively decay. In the long run, growth in the mint rate and the 7% decay offset one another so an inactive account converges toward a bounded balance (~125,000 CRC after ~14 years), rather than compounding forever. The intent is to keep money moving and to shrink the gap between founders and newcomers.

v2 (2025) preserves personal currencies and trust but adds group currencies (multiple circles uniting under a shared ERC-20 backed by member CRC), builds on Safe smart accounts and CoW Swap for pathfinding/liquidity, and adds spendability via GnosisPay (Visa) — directly targeting v1's "where can I actually spend this?" problem.

Outcome

Status: partial_success. The launch was a viral phenomenon: after Twitter discovered it late on 16 October 2020, servers were overwhelmed, ~20,000 accounts were deployed within a week, and the project reported ~165,000 registered users by mid-November 2020, briefly making Circles the most-used app on xDai. Over its life the v1 pilot involved roughly 100,000+ participants (Köppelmann), with active real-world usage concentrated in a handful of ultra-local, in-person communities.

Economically, results were mixed. The flagship Berlin merchant pilot (2020–2023), despite onboarding local businesses and raising well over €2M in donations, suffered chronic "fiat leakage" — businesses reportedly cashed out ~90% of received CRC into euros, so CRC never became a durable circulating medium. By contrast, a community pilot in Bali integrated with existing neighborhood (Banjar) governance and, per third-party analysis, came to account for a large share of total network transactions with 1,000+ active participants using CRC for everyday goods. The protocol never collapsed or was exploited; it demonstrated the mechanism works technically while struggling to reach economic self-sufficiency — hence the v2 relaunch rather than abandonment.

Why it worked

  • Zero-capital bootstrapping. No treasury, ICO, or grant is needed to issue the currency — issuance is intrinsic to membership, which made global, permissionless onboarding possible from day one.
  • Novel Sybil resistance. Outsourcing identity to a social trust graph elegantly sidesteps centralized KYC while keeping fake-account CRC unspendable. It is one of the more original identity mechanisms in crypto.
  • Right rails. Launching on xDai/Gnosis Chain meant near-zero fees and meta-transaction relayers, so gas cost never blocked low-income or unbanked users — essential for a UBI use case.
  • Strong local anchoring. Where Circles succeeded (Bali), it plugged into pre-existing social infrastructure and trust rather than trying to manufacture it.

Where the design broke

  • Fiat gravity / value leakage. Merchants treated CRC as a subsidy to convert to euros, not as money to re-spend. Without a closed local supply chain, value drained out and CRC lacked a stable purchasing-power anchor.
  • Subsidy dependence. Adoption in Berlin leaned on donations rather than organic economic demand; when the subsidy logic didn't produce circulation, activity stalled.
  • UX and scaling friction. The v1 protocol and pathfinding were technically rough; onboarding required finding trusted vouchers, and the transitive-transfer graph became expensive/complex to route as it grew.
  • Weak fungibility & pricing. Because each person's CRC is nominally distinct and only transitively convertible, pricing and merchant acceptance were confusing, undermining Circles' use as a unit of account.

Lessons

  • Issuance is the easy part; a sink is the hard part. Minting free money via smart contracts is trivial; creating durable demand so recipients spend rather than cash out is the actual design problem. A UBI currency needs a closed loop of goods and services priced natively in it.
  • Social-graph identity is powerful but not free. A web of trust can replace KYC for Sybil resistance, yet it imposes real onboarding friction and only works when it maps onto genuine, pre-existing human relationships — not cold-start crypto crowds.
  • Local beats global for community money. Circles thrived where it embedded into existing local governance and trust (Bali) and stalled where it tried to overlay a currency on a low-trust, fiat-dominated market (Berlin). Distribution should follow trust, not marketing virality.
  • Design for cash-out pressure explicitly. If you can't prevent conversion to fiat, you must plan around it (spend rails, native pricing, merchant incentives) — which is precisely what v2's GnosisPay and group-currency features attempt.

Redesign (EDITORIAL — hypothesis, not fact)

The following is the researcher's analysis, not established fact.

If starting fresh, the central redesign target is circulation, not issuance. Hypotheses worth testing:

  • Demand-side anchoring. Pair CRC issuance with a bounded set of essential goods/services priced only in CRC within a locale (transit passes, co-op groceries, community services), so recipients have somewhere to spend that cannot trivially be re-priced in euros. Make cash-out possible but slightly costly (a demurrage-on-exit or conversion spread) to favor re-spending.
  • Trust as reputation, not just Sybil gate. Weight pathfinding and merchant acceptance by trust-graph centrality and repayment history, letting well-integrated members transact more smoothly while keeping fresh accounts liquidity-limited — reducing fake-account risk without a hard KYC wall.
  • Group currencies as the default unit. v2's group ERC-20 is the right instinct; a redesign should make the group currency the primary money users see, with personal CRC as backing collateral, giving a stable unit of account and clean merchant UX while preserving the human-only issuance base.
  • Explicit local supply-chain onboarding. Treat merchant recruitment and inter-merchant spending (so a baker's CRC flows to the miller, not just to a euro exchange) as a first-class product, with dashboards that surface leakage and reward closed-loop spending.

The Bali-vs-Berlin divergence suggests the mechanism is sound; the missing layer is the economic scaffolding that turns unconditional issuance into a self-reinforcing local economy.

Sources

  1. Circles Protocol Whitepaper (v1, GitHub) — primary (docs)
  2. circles-contracts (v1 Hub / PersonalCoins, GitHub) — primary (contract)
  3. We are working on a crypto UBI called 'Circles' — Martin Köppelmann — primary (retrospective)
  4. The Emergence of Circles UBI: Learnings and Lessons — Circles UBI — primary (retrospective)
  5. Circles v2 launches (Martin Köppelmann / Gnosis DAO) — The Block (news)
  6. A Guide to Circles, the Project Bringing UBI and FOMO to xDai — CoinDesk (news)
  7. Universal basic income on blockchain: the case of Circles UBI — Frontiers in Blockchain (analysis)
  8. Circles UBI: Berlin's Failure vs. Bali's Success Story — Aurpay (analysis)
  9. circles-contracts-v2 (Circles Protocol v2 contracts, GitHub) — primary (contract)

Related experiments

Last verified: 2026-07-26 · Spot an error? Suggest a correction