Mainnet live · height … · mined … EDDY · hashrate …Explorer →ENCZ

Source code

Eddycoin is open source under the MIT License. Below is the complete source of the software that runs the live mainnet eddycoin-mainnet-1: the node, the pool, the explorer, the CPU and GPU miners, the wallet with 24 recovery words, the genesis and the signed emission spec. Read every file in your browser or download the archive.

Download eddycoin-mainnet-source.zip 274 KB · 56 files · MIT License

SHA-256 of the zip: 8968e50135ba29e673af1043483e53a9d531da44b38b85ee97a7a7012e22f987

Browse the code

Click a file to read it. Line numbers are links; raw opens the plain file. Your browser checks each file against the SHA-256 in the file list. Start with README.md.

README.mdraw

The file viewer needs JavaScript. Without it, use the links on the left (plain text) or the zip.

Verify it yourself

  1. The archive: compare the SHA-256 above, then check every file inside against SHA256SUMS.
    sha256sum eddycoin-mainnet-source.zip
    unzip eddycoin-mainnet-source.zip && cd eddycoin-mainnet-source
    sha256sum -c SHA256SUMS
  2. The genesis: checks the Ed25519 signature, the SHA-256, zero allocations, the cap, the emission spec hash and the genesis id, and compares with the seed node (Python 3.8+, no libraries).
    python3 genesis/verify_genesis.py --online
  3. The emission: checks the signed spec and recomputes the whole 120-year schedule from the consensus constants.
    python3 emission/verify_emission.py --dir emission
  4. The live chain: let your own copy of the node re-validate every block, checkpoint and reward.
    curl -o chain.json https://129-159-188-73.sslip.io/api/export
    python3 node/eddycoin_node.py --verify-file chain.json
  5. The programs on Downloads: the Windows exes are built with PyInstaller (Python 3.12) from these files. PyInstaller builds are not byte-for-byte reproducible, so the exe hashes cannot be recomputed. Instead this script compares the Eddycoin code inside each exe (bytecode, all strings, line numbers) with what Python 3.12 compiles from this source, and the Mac app's .py files byte for byte:
    python3.12 tools/verify_exes.py FOLDER_WITH_THE_4_DOWNLOAD_ZIPS
    At publication all 19 checks matched (CPU miner, GPU miner, wallet, Mac miner). The bundled Python runtime and libraries inside the exes are third-party code and are not rebuilt by this check.

No private keys, passwords, tokens, wallet files or server configuration are in the source. The signing key, the pool wallet and server credentials are private by design. See README.md for what is not included and why.

Consensus parameters mainnet

  • Two proof-of-work lanes, both double SHA-256: E-Chain (CPU) and D-Chain (GPU). A block is valid when its hash has at least bits leading zero bits (≈ 2^bits hashes per block).
  • Y-Chain checkpoints: each needs exactly one E block and one D block for the same checkpoint candidate; it carries the transactions and the reward.
  • Node 2.0.2 consensus upgrade, active from Y checkpoint 880 (checkpoints below 880 keep the old rules; balances, addresses, miners and pool unchanged). Details: comment block 2.0.2 CONSENSUS UPGRADE in node/eddycoin_node.py.
  • Difficulty retargets separately for E and D every 10 checkpoints; range E 18–34, D 20–40 bits; genesis E 27 / D 32 bits. Up to Y 879: 30 s per lane from arrival times, at most 2 bits per step (≈ 45–55 s per checkpoint). From Y 880: fine-grained target work from block timestamps, 20 s per lane ≈ 30 s per checkpoint.
  • Reward: Kompromis-120b, computed by every node with integer math; 50 % to the E block finder, 50 % to the D block finder (+ fees). Hard cap 900,000,000 EDDY, 8 decimals. Zero premine, no faucet, no genesis allocation.
  • Transactions: UTXO, ECDSA P-256 signatures with the chain id EDDY1 in the signing domain, minimum fee 0.01 EDDY, at most 40 transactions per checkpoint. Address = eddy1 + 40 hex characters.
  • Block time must be after the median of the lane's last 11 blocks; up to Y 879 also within ±120 s of arrival. From Y 880 only the header time counts: at most 15 s (miner) / 30 s (peers) ahead of the node clock; checkpoint time = the later of the E and D block times.
  • Fork choice: most total work; from Y 880 each checkpoint counts the weaker of its two lanes (needs both CPU and GPU work). Finality: hardcoded checkpoints every 100 up to Y 700 and no reorganisation deeper than 100 checkpoints (node 2.0.2).

Mainnet network live

Networkeddycoin-mainnet-1 · chain id EDDY1
Genesis idf720818b202072d10b8b694d39eba3f17bb8a82d8597a92688057a5016f4746a
Genesis time27 October 2026, 22:45:15 EDT (28 October 02:45:15 UTC) · zero premine, no allocations
Genesis fileshttps://129-159-188-73.sslip.io/emission/genesis.json (+ .sha256, .sig) · node API /api/genesis
genesis.json SHA-256980e4a20a507899699d614f5593b16900c6fbba471c2e1eccaddee862c5249bc
Node (seed, discovery only)https://129-159-188-73.sslip.io
Poolhttps://pool.129-159-188-73.sslip.io (fee 2 %)
Explorer APIhttps://explorer.129-159-188-73.sslip.io/explorer/api/
Default node port8773

Checking the live node…

Mainnet design – recovery words and security live

Summary of the design of the live mainnet eddycoin-mainnet-1.

Recovery words (wallet spec)

  • BIP39, 24 words: 256 bits of entropy from the operating system + an 8-bit SHA-256 checksum, from the official BIP39 English wordlist (embedded; SHA-256 2f5eed53a4727b4bf8880d8f3f199efc90e58503646d9ff8eff3a2ed3b24dbda, checked at program start).
  • Restore accepts exactly 24 words (case-insensitive, extra spaces ignored, the unique 4-letter prefixes are accepted); unknown words or a wrong checksum are refused.
  • Seed = PBKDF2-HMAC-SHA512(NFKD(words), “mnemonic” + NFKD(extra word), 2048 iterations, 64 bytes). The optional extra word (BIP39 passphrase) is case-sensitive and never stored; a different extra word gives a different, empty wallet.
  • Keys: SLIP-0010 for the NIST P-256 curve (nist256p1), path m/44'/3339'/0'/0/0. P-256 because Eddycoin signs with P-256 (a secp256k1 key would not produce valid Eddycoin signatures). Address = "eddy1" + sha256("EDDY-ADDR|v1|" + public key hex)[:40].
  • Wallet file: same format as before (PBKDF2-SHA256 600,000 + AES-256-GCM); the words are stored only encrypted (own salt and nonce, bound to the address).
  • Tests: the official BIP39 test vectors and the SLIP-0010 P-256 test vectors all pass.

Security measures

  • New chain identity: network eddycoin-mainnet-1, chain id EDDY1, new signing domains (the transaction signature includes the chain id, so transactions from another network cannot be replayed). The genesis commits to the network, the chain id and the emission spec hash.
  • Emission in consensus: every node computes each checkpoint reward itself with integer math and rejects wrong rewards; hard checks for the 900,000,000 EDDY cap; the genesis mints nothing (zero premine, zero allocation).
  • All-new keys: the mainnet wallet and miners refuse all keys from before the launch; nodes refuse to start with an old key configured; old addresses are on a block list.
  • No central control: no admin reset, no “follow the server” mode; peers on another network or genesis are rejected and banned; peer discovery via seed list, peer exchange and a peer cache.
  • This website: static files only (no server logic), a strict Content Security Policy, HSTS, no cookies or analytics, no wallet files or keys on the site; emission numbers are shown only after the signature check below.

Emission spec – signed, verifiable

The emission of the mainnet (Kompromis-120b) is published by the Eddycoin node as a signed file. The website stores no emission numbers: your browser downloads the spec, checks it and only then shows it.

Verifying the emission spec…

Spec (JSON)https://129-159-188-73.sslip.io/emission/kompromis-120b.json
SHA-256…/emission/kompromis-120b.json.sha256
Ed25519 signature…/emission/kompromis-120b.json.sig
Public key…/emission/emission-signing.pub
Key fingerprintb62ce8abf98a9c3d2416bee74766ed4d847afb5f3a9cd999bf4f07c4f3d591a5 (SHA-256 of the raw 32-byte key)
Spec SHA-2560a70d671ca52094d7eaa82c7b43122bce4f9bba1281f79d0ca1211b99c27cfb7

Verify it yourself (Python 3.8+, standard library only): verify_emission.py · documentation: EMISSION.md · cached copy on this site: emission/

python3 verify_emission.py

Verification files (cached copies on this site; the authoritative copies are on the Eddycoin node): kompromis-120b.json · .sha256 · .sig · emission-signing.pub · verify_emission.py · EMISSION.md · how the numbers are calculated: Emission

A signature shows the file comes from the holder of the emission key and was not changed on the way. On the mainnet the formula is built into every node and the spec SHA-256 is committed into the genesis (genesis.json, field emission.spec_sha256), so the schedule cannot change without starting a different chain. The spec file's own status text still reads “planned” because the file was frozen before launch; it is not edited, since its hash is locked into the genesis.

Node API mainnet

MethodPathDescription
GET/api/state[?addr=]chain summary, heights, difficulty, recent blocks
GET/api/wallet?addr=eddy1…balance and history of one address
GET/api/block/E|D|Y/<height>one block / checkpoint
GET/api/work?chain=E|Dwork for miners (header template, bits)
POST/api/submit/e, /api/submit/dsubmit a solved block
POST/api/txsubmit a signed transaction
GET/api/genesis, /api/emissiongenesis and emission spec
GET/api/verify, /api/exportverify the whole chain, export the chain (JSON)
GET/api/peers, /api/node/infonode info, public peers
GET/api/node/checkpoints?from=&to=, /api/node/segment?from=checkpoint cross-check, sync
POST/api/node/push, /api/node/hello, /api/node/reportnode-to-node messages

Base URL of the seed node: https://129-159-188-73.sslip.io. Per-IP rate limits apply.

License

MIT License – see LICENSE. The software is provided "as is", without warranty. Eddycoin is an experimental project and has not been audited. No value, price or profit is promised.