A water-price-based stablecoin system — early-stage prototype, looking for contributors
This is a research prototype, not production software. It exists to explore an idea, gather feedback, and attract collaborators. We are looking for contributors, not customers.
- 🔬 Stage: architectural exploration on a Bitcoin Core 27.0 fork
- 🧪 Consensus code: several consensus-critical problems are known and openly tracked — see Current Status & Open Problems
- 📏 No performance claims: we publish measured numbers or nothing. Correctness comes before throughput.
- 📝 Feedback and contributions welcome — the open problems below are the best entry points
O Blockchain explores a monetary system where value is anchored to a universal basic need instead of fiat or scarcity.
- 💧 Water-price stability: 1 O = the price of 1 liter of bottled water in the local market
- 🌍 One O currency per national currency (O_USD, O_EUR, O_JPY, …) — 142 currencies defined
- 📏 Measurement, not oracles: users and bots submit water-price and exchange-rate measurements on-chain; validated by humans, averaged statistically
- ⚖️ Stabilization by incentives: when market rates drift from measured water-price rates, new coins are minted to users of stable currencies, diluting unstable ones — the offender's sanction becomes the reward of the offended
- 👤 Proof of personhood: one person = one identity, verified through multiple accepted methods (government ID, video call, document review, biometrics, third-party KYC — BrightID among them)
- 🔓 Open governance: economic parameters are community decisions, not developer decisions
The design rationale is documented in the O article series and in the GitHub Wiki.
Honest snapshot (August 2026). Active work happens on the
ARCH-GlobalPaymentsV1
branch; a full spec-conformance audit lives at
doc/SPEC_CONFORMANCE_AUDIT_2026-08.md.
- Builds on Linux via CMake (CI runs on every push)
- Multi-currency UTXO data structures and O-specific transaction types (user verification, water price, exchange rate, validation, invitations)
- Measurement submission → validation → statistical averaging → stability detection → stabilization minting, end-to-end in regtest
- Deterministic, consensus-seeded random draws for stabilization recipients and endorser selection (recently fixed — verification tests still wanted, see issue #3)
These are tracked as GitHub issues with open-problem labels, file:line
pointers, and concrete deliverables. Claim one by commenting.
| Issue | Problem | Severity |
|---|---|---|
| #3 | Verify deterministic recipient selection + adversarial tests | consensus-critical |
| #4 | Stabilization validation paths need consolidation/verification | consensus-critical |
| #5 | Monetary state is RAM-only — no persistence, no reorg rollback | consensus-critical |
| #6 | Floating point in consensus-path mint sizing | consensus-critical |
| #7 | Define "transaction volume" for mint sizing (decided: L1-only, Bitcoin-style) | design |
| #8 | Wire CMultiCurrencyTxOut into the live transaction path |
enhancement |
| #9 | Stratified, objective-driven measurement invitation sampling | enhancement |
| #10 | FX-triangle consistency + per-currency conservation tests | good first issue |
| #11 | Imputed reference rates for unmeasurable regions | enhancement |
| #12 | Monetary simulation: does incentive stabilization hold the peg? | good first issue — no C++ required, ideal for economists/data scientists |
See the full list: open issues.
# Clone repository
git clone https://github.com/cno127/o-blockchain.git
cd o-blockchain
# Build with CMake
mkdir build && cd build
cmake ..
make -j$(nproc)
# Run in regtest mode
./src/bitcoind -regtest -daemon
# Create wallet
./src/bitcoin-cli -regtest createwallet "test"
# Generate blocks
./src/bitcoin-cli -regtest generatetoaddress 101 $(./src/bitcoin-cli -regtest getnewaddress)
# Check O currencies
./src/bitcoin-cli -regtest listocurrenciesSee INSTALL.md for platform-specific build instructions.
- Water-price measurement & rate setting: users and bots measure bottled water prices (0.9–1.1 L containers) in local fiat currencies, with URL or photo+GPS proof, validated by humans. The statistical average of accepted measurements sets each O currency's value; cross-currency rates derive from those values.
- Stability monitoring: observed market exchange rates are compared with the theoretical (water-price) rates to classify each currency as stable or unstable.
- Stabilization: deviations trigger minting to holders of stable currencies, creating economic pressure back toward the peg. How the mint is sized and whether a burn path exists are open design questions (#6, #7).
- Proof of personhood: one person = one identity, enforced through endorsement-based user verification supporting several methods (government ID, video call, document review, biometrics, third-party KYC such as BrightID).
- Universal Basic Income remains a long-term vision contingent on the above being proven correct; amounts would be community-governed.
- Base: Bitcoin Core 27.0 (C++)
- Consensus: hybrid PoW / PoB (proof-of-personhood-weighted), under active design
- Model: multi-currency UTXO
- Identity: endorsement-based proof of personhood with pluggable verification methods (government ID, video call, document review, biometrics, third-party KYC incl. BrightID)
- Volume accounting: L1 on-chain output value per currency only — no L2-reported volume in any consensus formula (decided; see #7)
- GitHub Wiki — architecture, measurement system, transaction types, stabilization, currency coverage, testing guide, RPC reference
- Spec-conformance audit (2026-08) — what the code actually does vs. what the spec says, with file:line evidence
- O article series — the design rationale and economic model, including why correctness comes before throughput
We welcome contributions from everyone — C++ engineers, testers, economists, data scientists, translators, and technical writers.
Best starting points:
- Pick an open problem — each has file:line pointers and a concrete deliverable; claim it by commenting
- No C++? Issue #12 (monetary simulation) needs modeling skills, not systems programming
- Improve the wiki or add tests (regtest guide in the Testing Guide)
# Fork, branch, commit, PR
git clone https://github.com/YOUR_USERNAME/o-blockchain.git
cd o-blockchain
git checkout -b feature/your-feature-name
# ... make changes ...
git push origin feature/your-feature-nameCI builds run automatically on every push — check the Actions tab before requesting review. See CONTRIBUTING.md for guidelines.
- 📚 Wiki: Documentation
- 🐙 GitHub: Issues & Discussions
- 🌍 Website: o.international
- 💼 LinkedIn: O International
- 📺 YouTube: O International Channel
Q: Why water price as the peg? A: Water is a universal basic need with consistent relative value globally. Each O currency targets 1 O = 1 liter of bottled water in its local market; exchange rates between O currencies derive from water-price ratios. Whether the incentive mechanism actually holds this peg is an open research question we are actively trying to answer (#12).
Q: Why 142 currencies instead of one? A: Price levels differ by country. Each O currency targets the water price in its own market, so O currencies have different values from each other. O_ONLY is a universal currency exchanging 1:1 with all O currencies while keeping the water-price peg through measurement and stabilization.
Q: What about Universal Basic Income? A: A long-term vision, not a current feature. It would require the consensus layer to be proven correct first, plus governance mechanisms that do not exist yet. Any amount would be set by community governance.
Q: Is unlimited supply inflationary? A: The design intends value to track water (a constant need) rather than scarcity, with stabilization minting counteracting drift. Whether that holds in practice is exactly what the monetary simulation work (#12) is meant to test.
Q: How do you prevent fake accounts? A: Proof of personhood: one person = one identity. Several verification methods are accepted — government ID, video call, document review, biometrics, and third-party KYC providers such as BrightID (decentralized social-graph verification).
More on the Wiki FAQ.
MIT — see COPYING.
- Bitcoin Core for the foundation
- BrightID and other identity providers for proof of personhood
- Contributors — including the ones we hope this README brings in
An honest prototype exploring money anchored to human needs. If the open problems above look interesting, we'd love your help. 🌍