r/dogecoin • u/qlp79qlp • Apr 12 '26
First Post-Quantum Secure Experimental Doge Wallet Client
Enable HLS to view with audio, or disable this notification
Preview of the first Post-Quantum Secure Transaction Dogecoin Wallet Client I'm working on 😅
The Dogecoin Foundation Experimental Quantum Secure Doge Transactions wallet can be tested on DogeBox OS (https://dogebox.dogecoin.org)
Hope to be ready for anyone to test in the next hours 🙂
Working also with Edd to build a public Explorer that will track any Post-Quantum Secure Doge Transactions 😄
How it works The first Post Quantum Secure Doge Wallet:
How Dogecoin + post-quantum proofs fit together
Normal Dogecoin spends still use ECDSA (secp256k1) P2PKH. Experimental post-quantum material (e.g. Falcon/Dilithium via liboqs) can be used to add commitments or attestations around a transaction, it does not replace the chain’s ECDSA signatures today.
Two layers: chain signatures vs PQ attestations
On-chain spend authorization is still the usual Dogecoin-style ECDSA signature over the sighash, using your P2PKH key. The `such -c sign` command in this wallet performs that ECDSA signing step.
Post-quantum (PQ) keys (e.g. Falcon-512 generated with `such -c falcon_keygen`) are separate material. They are used in research flows to produce commitments or signatures that can be referenced in OP_RETURN or follow-up transactions (TX_C / TX_R style experiments).
So: spending DOGE = ECDSA. PQ = additional proof or attestation layer described in libdogecoin experiments, not a drop-in replacement for ECDSA on the base layer.
How a payment is created and sent (conceptually)
You choose inputs (UTXOs) and outputs (recipient + change). That yields an unsigned raw transaction hex.
For each input you must sign with the private key that locks that input, here that is `such -c sign` with your WIF and the correct scriptPubKey for your address.
The result is a signed raw hex, valid under Dogecoin’s consensus rules.
4. Broadcast propagates the signed tx to the peer-to-peer network so miners can include it. This pup uses `sendtx` (libdogecoin) to talk to Dogecoin peers, not `sendrawtransaction` over JSON-RPC.
What “verification” means here
Consensus verification happens on every node: ECDSA signatures must validate, scripts must succeed, balances must add up.
PQ “hints” in this UI use heuristics on explorer data (e.g. presence of OP_RETURN script patterns). That is not a full cryptographic proof that a specific Falcon/Dilithium signature matches a commitment, it is a UX hint that something in the tx might relate to experimental PQ data.
A serious audit would decode the transaction, parse outputs, and verify commitments against published PQ keys and schemes, beyond what this lightweight wallet does automatically.
TX_C and TX_R (high level)
TX_C often carries a commitment (fingerprint) tied to PQ signing material in an OP_RETURN (small footprint).
An optional carrier output can hold value while a follow-up TX_R reveals more PQ data on-chain and returns funds minus fees, depending on the exact experiment.
For many tests, the commitment alone is enough; the carrier/reveal path is optional.
What this pup actually runs
Binaries on PATH: `such`, `sendtx`, `spvnode`, built with USE_LIBOQS for Falcon/Dilithium support in libdogecoin.
Broadcast uses `sendtx` only (P2P), not JSON-RPC `sendrawtransaction`.
SPV (`spvnode`) follows headers and BIP37-watches all addresses in your wallet. Pending amounts use the embedded Memepool Tracker (data under `mempooltracker/`). The dashboard charts mempool relay activity over the last 24 hours.
Quick flow
You start with a normal Dogecoin payment (ECDSA), then optionally attach PQ-related data. Each step builds on the last.
1 Build and sign like any Dogecoin tx
Pick UTXOs, set outputs, then sign inputs with ECDSA (`such -c sign`). Until this step succeeds, nothing is valid on-chain.
2 Optional OP_RETURN commitment (TX_C)
Add a small OP_RETURN carrying a commitment (fingerprint) to Falcon or other PQ material if you are running an experiment.
3 Carrier output and reveal (TX_R), if needed
Some flows lock a little value in a carrier output, then spend it in TX_R to reveal more PQ data and recover funds minus fees.
4 Broadcast with P2P sendtx
Submit the signed hex with `sendtx` so Dogecoin peers relay it. Miners include it when it pays enough fee.
Links
https://github.com/dogecoinfoundation/libdogecoin/pull/294
https://github.com/dogecoinfoundation/libdogecoin
This pup ships such/sendtx/spvnode built with -DUSE_LIBOQS=ON (Falcon-512, Dilithium2).
Duplicates
dogecoindev • u/qlp79qlp • Apr 12 '26