Enigmatic is a Layer-0 steganographic communication protocol that encodes messages in DigiByte's native UTXO patterns. Instead of adding new opcodes or consensus rules, it uses the existing transaction structureโamounts, fees, input/output counts, topology, and timingโas a multi-dimensional message channel. Each transaction expresses a state vector that peers can interpret without on-chain metadata.
Named after the WWII Enigma cipher machine, the protocol brings structured cryptographic signaling to the blockchain era, honoring the codebreakers of Bletchley Park while pioneering modern steganography on a permissionless ledger.
The easiest way to start:
git clone https://github.com/JohnnyLawDGB/Enigmatic.git
cd Enigmatic
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
# Launch the console (handles RPC credentials for you)
./consoleThe ./console launcher will:
- Prompt for your DigiByte RPC credentials (one-time setup)
- Optionally save them to
~/.enigmatic.yaml - Display the beautiful WWII Enigma-themed splash screen
- Launch the interactive menu
First time? See CONSOLE_LAUNCHER.md for details.
Interactive Console (Menu-driven, beginner-friendly):
- [1-5] Send steganographic patterns (symbols, sequences, chains)
- [6-7] Decode and watch on-chain activity
- [8] Prime ladder experiments
- [9] Taproot inscription wizard (with proper BIP341 commitments!)
- [10] Generate/decode unspendable vanity addresses
Command-Line Interface (Power users):
- Plan/send dialect-driven symbols:
enigmatic-dgb plan-symbol,send-symbol - Create Taproot inscriptions:
enigmatic-dgb ord-wizard,ord-inscribe - DTSP fee-plane messaging:
enigmatic-dgb dtsp-encode,dtsp-send - Generate unspendable addresses:
enigmatic-dgb unspendable DCx "MESSAGE" - Watch and decode:
enigmatic-dgb watch,ord-decode
Enigmatic encodes meaning across 6 dimensions of every transaction:
| Plane | What It Encodes | Example |
|---|---|---|
| Value | Amount anchors, headers | 21.21 DGB beacon |
| Fee | Timing, jitter bands | 0.21 DGB cadence |
| Cardinality | Input/output counts | 21 in / 21 out symmetry |
| Topology | Output graph patterns | Fan-out trees, rings |
| Block Placement | Height deltas, repetition | ฮheight = 3 heartbeat |
| Auxiliary | Optional hints | OP_RETURN metadata |
A dialect maps human-readable symbols (like HEARTBEAT or GENESIS) to specific state vector patterns. Multi-transaction symbols become frames in a sequence. This keeps recurring intents consistent and decodable.
Example: The dialect-showcase.yaml includes symbols like:
genesis_bitcoin_2009- Tribute to Bitcoin's genesis blocktriptych_21_21_84- DigiByte's sacred numbersdigishield_pulse- References DigiShield difficulty adjustmenthello_enigmatic- Simple greeting pattern
./console
# Select [1] Quickstart
# Follow prompts to send value/fee patterns./console
# Select [9] Taproot inscription wizard
# Choose payload type (text, JSON, hex)
# Review fees and broadcastenigmatic-dgb unspendable DCx "HAPPY2026"
# Output: DCxHAPPY2c26zzzzzzzzzzzzzzzzWnppypenigmatic-dgb send-symbol \
--dialect-path examples/dialect-heartbeat.yaml \
--symbol HEARTBEAT \
--to-address dgb1q... \
--dry-run # Review first!enigmatic-dgb watch \
--address dgb1q... \
--start-height 22700000 \
--limit 100New Users:
- ๐ฎ Start with the interactive console:
./console - ๐ Read the Simple Usage Guide for CLI basics
- ๐งช Try the Taproot Inscription Lab for step-by-step inscriptions
Developers:
- ๐๏ธ Architecture Overview - Module design and code structure
- ๐ ๏ธ Tooling Guide - Complete CLI command reference
- ๐ Protocol Specifications - Formal encoding/decoding rules
Reference:
- ๐ Whitepaper - Full protocol narrative
- ๐บ๏ธ Roadmap - Future development priorities
- ๐ Security Model - Threat assumptions and deniability
Enigmatic/
โโโ enigmatic_dgb/ # Python implementation
โ โโโ cli.py # Command-line interface
โ โโโ console.py # Interactive menu system
โ โโโ encoder.py # State vector encoding
โ โโโ decoder.py # Message decoding
โ โโโ planner.py # UTXO selection & planning
โ โโโ ordinals/ # Taproot inscription tools
โ โโโ ...
โโโ specs/ # Protocol specifications
โโโ docs/ # Documentation and guides
โโโ examples/ # Sample dialects and walkthroughs
โโโ tests/ # Pytest test suite
โโโ console # Launcher script โญ
The console greets you with a WWII Enigma machine tribute:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โโโโโโโโโโโโ โโโโโโ โโโโโโโ โโโโ โโโโ โโโโโโ โโโโโโโโโโโโ โโโโโโโ โ
โ [โ] [โ] [โ] Rotor Assembly: UTXO Pattern Encoding [โ] [โ] [โ] โ
โ Q W E R T Y U I O P Plugboard: Address Mapping โ
โ "In memory of Alan Turing and the codebreakers of Bletchley Park" โ
โ Modern steganography meets WWII cryptographic heritage 1939-2026 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Recent improvements ensure Taproot inscriptions actually work:
- โ Full BIP341 implementation with tagged hashing
- โ Proper key tweaking and merkle root computation
- โ Deterministic P2TR addresses from inscription scripts
- โ Clean UX with suppressed error logs during verification
See Taproot Inscription Fix Summary for technical details.
Create human-readable on-chain markers using DiMECASH character mapping:
DAxprefix = Person namesDBxprefix = Transport mechanismDCxprefix = Subject/topicDDx/DExprefix = Hash references
Manual RPC Configuration (click to expand)
If you prefer not to use the ./console launcher, export credentials manually:
export DGB_RPC_USER="rpcuser"
export DGB_RPC_PASSWORD="rpcpass"
export DGB_RPC_HOST="127.0.0.1"
export DGB_RPC_PORT="14022"
export DGB_RPC_WALLET="taproot-lab"
# Or create ~/.enigmatic.yaml:
mkdir -p ~/.enigmatic
cat <<'YAML' > ~/.enigmatic.yaml
rpc:
user: rpcuser
password: rpcpass
host: 127.0.0.1
port: 14022
wallet: taproot-lab
YAML
# Then use CLI directly:
enigmatic-dgb consoleBootstrap Script (legacy)
The scripts/bootstrap_console_env.sh script is available for advanced users who want environment setup without the launcher:
source scripts/bootstrap_console_env.sh
enigmatic-dgb consoleRunning Tests
# Install dev dependencies
pip install -e .[dev]
# Run full test suite
pytest
# Run specific test file
pytest tests/test_encoder.py
# Run with coverage
pytest --cov=enigmatic_dgbCLI Command Reference
Planning & Sending:
plan-symbol/send-symbol- Dialect-driven symbolsplan-sequence/send-sequence- Explicit sequencesplan-pattern- Custom value/fee patternsplan-chain- Multi-frame dialect chainssend-message- Free-form intents
Taproot Inscriptions:
ord-wizard- Interactive wizardord-inscribe- Direct inscription (with --scheme taproot)ord-plan-taproot/ord-plan-op-return- Planning onlyord-decode- Decode inscription from txidord-scan- Scan blocks for inscriptionsord-mine- Find inscriptions in wallet UTXOs
DTSP Messaging:
dtsp-encode- Encode message to fee sequencedtsp-send- Send DTSP handshakedtsp-decode- Decode fee sequence to messagedtsp-table- Show symbol table
Utilities:
unspendable- Generate vanity addressunspendable-decode- Decode vanity addresslist-utxos- Inspect wallet UTXOsprepare-utxos- Pre-fragment for later usewatch- Observe address activitydialect- Manage dialect files
See docs/TOOLING.md for complete command documentation.
From Histiaeus' scalp-tattoo courier in ancient Greece, to the Enigma machines of WWII, to Bitcoin's genesis block message, Enigmatic continues the tradition of hiding messages in plain sight.
The protocol name honors the codebreakers of Bletchley Parkโparticularly Alan Turingโwho proved that structured patterns can be decoded even when embedded in seemingly ordinary transmissions. Enigmatic brings this principle to blockchain: transactions look economically normal while encoding multi-dimensional state vectors that peers can interpret.
Enigmatic transactions remain:
- โ Economically plausible - Normal fees, realistic amounts
- โ Policy-compliant - Standard dust limits, no exotic scripts
- โ Deniable - Patterns blend with organic usage
The Security Model details threat assumptions, detectability bounds, and cryptographic assumptions.
MIT License - See LICENSE for details.
Built with inspiration from:
- ๐ Alan Turing and the Bletchley Park codebreakers
- ๐ฐ Satoshi Nakamoto's Bitcoin genesis block message
- โ๏ธ The DigiByte community and its 12-year blockchain heritage
- ๐ Bitcoin Ordinals theory for Taproot inscription patterns
See the Expansion Roadmap for planned features:
- Enhanced dialect coverage
- Wallet integration improvements
- Advanced topology patterns
- Expanded observability tools
Ready to start? Just run ./console and explore! ๐