DogecoinArcade

A sidecar Omni-style meta-layer for Dogecoin-family chains.

Pepecoin Dogecoin M2 — core state complete

What it is

DogecoinArcade reads blocks from an unmodified node and maintains token, NFT and exchange state in its own database. It is not a fork of the node, and it never holds private keys — transactions are funded and signed by the node's own wallet.

The protocol is a descendant of the Omni Layer, whose wire format has run on Bitcoin since 2013. Payload encoding is byte-identical to Omni Core's, verified against that project's own published test vectors.

Both chains, identically

Pepecoin is a Dogecoin fork, and every constant this protocol depends on is the same in both — the same values at the same source lines.

ConstantValueSource
MAX_OP_RETURN_RELAY83script/standard.h:30
DEFAULT_PERMIT_BAREMULTISIGtruevalidation.h:143
x-of-3 bare multisig standardyespolicy/policy.cpp:41
RECOMMENDED_MIN_TX_FEECOIN/100policy/policy.h:23
hard dust limitDUST/10policy/policy.h:81
block spacing60 schainparams.cpp

Only chain identity differs — address versions and ports — and those live in configuration as data, not code.

Data capacity

Two carriers, both standard on mainnet:

CarrierBytes per transaction
Class C — OP_RETURN72
Class B — bare multisig7,646

Class B carries just over a hundred times more per transaction, and because each multisig output embeds the sender's own redeeming key, the dust it uses stays spendable by the sender rather than being burned.

Download

One installer, one file, standard library only — it runs on a machine that has nothing but Python 3.10 or newer. It downloads Pepecoin Core, verifies its SHA-256 against two independent sources and checks its GPG signature, writes both node configs, registers services, installs the application and opens your browser. Any verification failure stops the install.

curl -O https://dogecoinarcade.com/install.py
python3 install.py

Look before you run it

This is a script that downloads software from the internet and runs it on your machine. You should be able to see what it intends to touch before you let it. Add --dry-run and it prints every step and changes nothing — no downloads, no files, no services:

python3 install.py --dry-run

Every line begins with “would”. On a 64-bit Linux machine it reports that it would put the Pepecoin binaries in ~/.local/bin, write two node configuration files, and create a self-contained Python environment under ~/.dogecoinarcade. Nothing outside your home directory is touched, and it never asks for administrator rights.

Platform status

Stated plainly. An installer that half-works silently is worse than one that tells you it cannot.

PlatformStatusNotes
Linux x86_64 Tested Verified end to end, including signature checking.
Linux ARM64 / ARMv7 Untested Code path and pinned hashes exist; nobody has run it. Reports welcome.
Windows x64 Untested Installs, but does not register services — Windows has no systemd, so the nodes will not start on their own yet.
macOS (Intel & Apple Silicon) Untested Mounts the .dmg, installs Pepecoin-Qt.app and registers launchd agents. Note that the macOS release contains no headless daemon — only the Qt wallet — so each node opens a window. Pepecoin-Qt serves the same RPC interface, so the application works either way.
Verify the installer itself. It is a script that downloads and executes software, so check it before running:
sha256sum install.py should give 29c325c10b46478925380774e1875d1d72d5c0dd80a5f2eeedf860b4bdd087db

Source

The repository is served directly from this domain.

git clone https://dogecoinarcade.com/repo

Python 3.12, pinned dependencies, 181 tests. Run them with pytest — they spin up a throwaway regtest node in a temporary directory and never touch mainnet data.

Documentation

The full design record is published: every decision, why it was taken, and what it invalidated — including the corrections. Every factual claim about node behaviour cites a source file and line.

Read the documentation →

Bugs

Found something broken? Several platforms above are marked untested, and reports are how they stop being untested.

Report a bug or read existing reports →

Design rules

The messaging component is testnet-only, permanently, and that rule is enforced in code rather than configuration.