0penw0rld is a decentralized ecosystem built on Bitcoin Cash. Zero central server, zero custody, zero borders. Every app runs directly in the browser, peer-to-peer.
All private keys stay in your browser or on your hardware wallet. No data is sent to third parties. BCH transactions are broadcast directly to the network via public relays.
0penw0rld is a Progressive Web App (PWA) made of static HTML/JS files. No backend required — everything works offline once installed.
| Component | Role | Source |
|---|---|---|
| @noble/curves 1.8.1 | secp256k1 ECDSA + X25519 ECDH | esm.sh |
| @noble/hashes 1.7.1 | SHA256, SHA512, RIPEMD160, HMAC | esm.sh |
| Fulcrum | UTXO index, BCH history, TX broadcast | bch.imaginary.cash, electroncash.de |
| Nostr relays | 00 Mesh real-time messaging (NIP-04) | relay.damus.io, nos.lol |
| Cauldron | BCH token exchange (AMM) | indexer.riften.net |
| THORChain | Cross-chain swaps (00 Pay) | midgard.ninerealms.com |
| Service Worker | Offline cache, PWA install | sw.js |
Chat uses the CCSH (Cash Chat Secure Hub) protocol to exchange encrypted messages directly on the BCH blockchain. Each message is embedded in an OP_RETURN output (max 220 bytes) and sent as a BCH transaction to the recipient's address with a dust output (546 sats). Inbox scanning is done via Fulcrum/Electrum WebSocket every 10 seconds.
Each message generates a fresh ephemeral X25519 keypair for forward secrecy. The ephemeral private key and recipient's public key derive a shared secret via ECDH. The AES key is SHA-256(shared_secret), then the plaintext is encrypted with AES-256-GCM (12-byte random IV, 128-bit auth tag).
Non-custodial BCH wallet with three access modes:
- 01Hardware (Ledger) — WebHID connection. Full BIP44 address scan (gap limit 5). Private key never leaves the device.
- 02Imported seed — BIP39 mnemonic (12+ words) or 64-char hex seed. Derived via BIP44 m/44'/145'/0'/0/0.
- 03New key — Generated via WebCrypto (CSPRNG). Displayed once for backup.
UTXOs are retrieved via Fulcrum/Electrum over WebSocket. Transaction construction and broadcasting are done entirely client-side.
Fast payment interface. Supports CashAddr (bitcoincash:q…), QR codes, and THORChain cross-chain sends (BCH → BTC, ETH, USDT…). Ledger compatible.
Decentralized exchange powered by Cauldron AMM for native BCH ↔ CashTokens swaps. Pool data, TVL and prices are fetched from the Cauldron indexer. Swap execution redirects to the Cauldron app. Cross-chain swaps (BCH ↔ BTC, ETH…) are handled separately in 00 Pay via THORChain.
| Source | Pairs | Endpoint |
|---|---|---|
| Cauldron AMM | BCH ↔ CashTokens | indexer.riften.net |
0penw0rld natively supports Ledger Nano S, Nano X, Nano S+, Stax, Flex and Apex P via WebHID (Chrome/Edge only).
Communication uses the Ledger APDU protocol encapsulated in 64-byte HID packets:
The ledger.js file exposes a public API:
A Ledger BCH wallet can have funds spread across dozens of addresses (path m/44'/145'/0'/0/k). 0penw0rld automatically scans all used addresses.
Each UTXO is tagged with its derivation path and public key. During a transaction, each input is signed with the correct Ledger path.
CCSH (Cash Chat Secure Hub) is the 0penw0rld messaging protocol. Messages are encrypted end-to-end and embedded in BCH OP_RETURN transactions (max 220 bytes), sent directly to the recipient's BCH address. Inbox scanning uses Fulcrum/Electrum WebSocket indexers. 00 Mesh uses Nostr relays as a separate real-time transport.
| Layer | Technology | Role |
|---|---|---|
| Transport | BCH OP_RETURN (220 bytes max) | On-chain encrypted messages to recipient BCH address |
| Indexing | Fulcrum/Electrum (WebSocket) | UTXO queries + TX scanning every 10s |
| Keys | secp256k1 (BCH) + X25519 (messaging) | BCH signing + E2E encryption |
| ECDH | X25519 (ephemeral per message) | Shared secret derivation with forward secrecy |
| Encryption | AES-256-GCM (12-byte IV, 128-bit tag) | Message confidentiality + integrity |
| KDF | SHA-256(shared_secret) | AES key from ECDH shared secret |
| Chunking | CCSH v1 packets | Split large messages across multiple OP_RETURN TXs |
0penw0rld uses Bitcoin Cash (BCH) as the native currency for payments, fees, and on-chain identity.
Transaction fees are estimated at 2 sat/byte (minimum 300 sats). Size estimation: 148 bytes/input + 34 bytes/output + 10 bytes overhead. Transaction construction follows the BIP143 format (segwit-like sighash for BCH REPLAY protection).
0penw0rld is designed to minimize metadata and maximize privacy:
- ✓No account — no email, no password, no server-side stored profile.
- ✓No tracker — no analytics, no third-party cookies, no proprietary CDN (except Google Fonts).
- ✓Local keys — private keys never leave the browser (or the Ledger).
- ✓Open source — all code is directly auditable from DevTools.
- ✓Offline-first — installable as a PWA, functional without connection for local operations.