FAQ
Questions we've been asked. Sections: pool basics, phases, coinbase-message registration, difficulty settings, wallet compatibility, operational.
Pool basics
Is this the "eCash" that trades as XEC?
No. XEC is the ticker for an unrelated chain that emerged from the 2017 Bitcoin Cash fork. This pool mines the LayerTwoLabs eCash hard fork — a Bitcoin fork activating BIP-300/301 Drivechain rules in three phases. Ticker ECX. Two entirely separate projects, same overloaded name.
Do you hold any of my coins?
No. Solo mining means the coinbase transaction of every block found pays directly to the address you supply as your stratum username. There is no wallet on our side, no signup, no withdrawal delay, no minimum payout. When a block matures (100 confirmations, standard Bitcoin coinbase rule), the coins are already spendable from your address.
How is the fee taken?
2% coinbase output to the operator address, set per-block by ckpool at template time. Visible in the coinbase transaction of every block we find — inspect on any explorer. The remaining 98% of the subsidy plus all transaction fees pays your address.
Is this "solo" like solo.ckpool.org?
Yes, same model. Every miner mines to their own coinbase. If you find the block, you get the whole subsidy (minus 2% donation). If someone else on the pool finds it, they get theirs; you get nothing for that block. There is no reward-sharing. Payouts are luck, not average.
Which network magic and P2P port does the pool serve?
Stratum: stratum.solofork.com:3333. The underlying chain depends on the phase — during the dev scaffold, BTC testnet4 (magic 0x1c163f28, P2P 48333). On ECX alphanet: magic 0xeca5a104, P2P 8533. See /status for the currently-serving subsystem state.
Phases
What are the phases and when?
- Alpha: 2026-08-23, BTC block 963,648. Practice money. Live now.
- Beta: 2026-09-20, BTC block 967,680. Practice money.
- Full Release: 2026-10-31, BTC block 973,728. Production launch.
What does "practice money" mean?
LayerTwoLabs has labeled Alpha and Beta coins as "practice money" — unlikely to be the same UTXO set that BTC holders receive at Full Release. Mine on solofork during Alpha and Beta for operational dry-run and to test your setup end-to-end; treat Full Release as the actual production launch. Coins mined before Full Release may not survive the transition.
What happens at phase activation?
Each phase starts at network difficulty 1.0 and retargets rapidly. The pool remains online, but expect a burst of stale shares while the tip changes fast, heavy orphan rates on any blocks found in the first hour, and a difficulty ramp of up to 4× per epoch (Bitcoin's standard cap). Be connected at each activation — five minutes late means missing most of the bonanza window.
Which miner firmware is safe during phase-activation windows?
All except BraiinsOS/bosminer. See the compatibility matrix on /connect. cgminer, vnish, LuxOS, and stock Antminer are all confirmed working through low-difficulty windows. bosminer panics at network difficulty below ~1000 and is unreliable through activation.
Coinbase-message registration
What is this feature?
You register up to four per-address settings (signed with the private key of your payout address) that this pool honors when it finds a block under that address:
OP_RETURNtext (≤ 75 bytes) added as an extra coinbase output- scriptSig text (≤ 64 bytes) spliced into the coinbase input's scriptSig after the pool's own tag
- Starting difficulty (int) — the vardiff seed for new connections
- Fixed difficulty (int) — disables vardiff, holds diff constant
Go to /message to register or change any of these. Authorized by BIP-322 signature — no accounts, no email, no moderation queue: the address is the identity.
When do my registered changes take effect?
Details:
- OP_RETURN and scriptSig text are read from the JSON on every workbase refresh (~30 seconds). Register a new value and the very next block ckpool builds under your address will carry it — no reconnect needed.
- Starting difficulty and fixed difficulty are applied exactly once per Stratum session, at the
mining.authorizestep. An already-connected miner keeps whatever diff it had. To activate a new diff setting, restart your miner (Antminer web UI: Save & Apply. cgminer: restart the process. Bitaxe/Nerdminer: power-cycle) or wait for a natural reconnect (ASIC firmware reboots, network hiccups).
How do I clear a registered field?
Register again with an empty value for that field. The old row is replaced (LWW on issued_at). Registrations also expire on their expiry date (default 90 days from registration) and are pruned automatically.
Can I have different settings per worker (per .workername)?
Yes. Register a wildcard row (worker *) as the default for the address, plus one row per worker label you want to override. A share submitted as bc1q….bmm uses the row for bmm if one exists; a share as bc1q….s19 falls back to the wildcard. The Manage page at /message makes this a table you fill in. Worker labels are case-sensitive after the . or _ separator.
Can others see what I've registered before it lands on-chain?
Yes, by design. /api/messages/<address> is public. The cryptographic audit trail (signature stored server-side) means every on-chain OP_RETURN/scriptSig can be traced back to the private-key holder of a specific address. That's the accountability model — we don't moderate content, but the content is provably authorized by the address holder.
My payout address is on a Ledger/Trezor. Can I still register?
Yes. Sparrow Desktop can drive Ledger and Trezor for BIP-322 signing. Load the hardware wallet in Sparrow (File → New Wallet → From Hardware Signer), open Tools → Sign/Verify Message, and Sparrow will route the sign request through the hardware signer. Air-gapped setups need to shuttle the payload to the offline machine, sign there, shuttle the signature back.
Does the fee change if I add a scriptSig or OP_RETURN?
No. The 2% donation output is unchanged. Your custom fields are additional coinbase content, not replacements. Your payout output value is unchanged too.
Difficulty settings
What's the difference between starting and fixed difficulty?
Starting seeds vardiff — sets the initial share difficulty when your miner authorizes, and vardiff keeps adjusting from there based on your submit rate. Useful if you know your rig's hashrate and want to skip the ~1-minute vardiff calibration on each new connection.
Fixed disables vardiff entirely — every share stays at the diff you set until you re-register or clear it. Useful for very-low-hashrate rigs (Bitaxe, Nerdminer) where vardiff would drift you to unusable diffs, or for testing when you want deterministic share size.
What if I set both?
Fixed wins. Vardiff is disabled and diff pinned at fixed_diff. starting_diff is ignored in that case.
How does this interact with the +dN URL suffix?
ckpool's built-in URL suffix (stratum+tcp://…:3333+d1024) still works and takes priority over your registered starting_diff. The URL suffix is per-connection — miners can override the registered default for a specific rig without changing the registration.
What's the difficulty range?
1 to 4,294,967,296 (2^32). Values below the pool's mindiff (currently 1) are clamped up. Values above the pool's maxdiff (currently unlimited) pass through. Fixed diff is not subject to vardiff clamps.
Wallet compatibility
What wallets can produce a BIP-322 signature?
- Sparrow Desktop (recommended) — native BIP-322 for bech32 addresses. Runs on Linux/macOS/Windows. Set testnet4 via
sparrow --network=testnet4. - Electrum ≥ 4.4 — auto-uses BIP-322 for segwit addresses via Tools → Sign/verify message.
- mempool.space's signer (web) — for BIP-322 simple mode.
- Hardware wallets (Ledger, Trezor, BitBox) — via Sparrow, which routes the sign request through the connected HW signer.
Can I use Bitcoin Core's signmessage?
Not for bech32 addresses. Bitcoin Core (as of 29.0) still emits the legacy Bitcoin Signed Message format from signmessage, which our verifier does not accept (it's BIP-322 only). For a P2PKH (1…) address only, Core's signature might work — but we recommend Sparrow or Electrum universally.
How do I verify a signature before submitting it?
Paste address + payload text + signature into mempool.space's verify tool. Same rust-bitcoin/bip322 verifier as our server — if it says valid there, our endpoint accepts it.
Sparrow's signature starts with smp — is that OK?
Yes. Sparrow prepends the literal string smp as a mode marker for "BIP-322 Simple". Our server strips it automatically. You can also strip it yourself before pasting — either way works.
Operational
When do I get paid?
Immediately on block-find, in the coinbase output itself. The block must mature 100 confirmations before you can spend the output (standard Bitcoin rule). No batching, no delay, no minimum threshold — the payout is a coinbase output, not a database entry.
What if the pool goes down?
Your miner can't submit shares. Since this is solo, no lost long-term reward — you just don't accumulate contribution during downtime. Point your miner at a backup pool for failover; ckpool's stratum URL supports Antminer/Whatsminer failover config natively.
Can I mine BTC and ECX simultaneously?
No — same PoW (SHA-256d), so each ASIC picks one chain per stratum connection. You can dedicate different rigs to different chains, but any single stratum session mines to one chain only.
What tools can spend ECX coins?
BitWindow (desktop wallet from LayerTwoLabs). Electrum against ssl://explorer.alpha.ecash.ninja:50002. See /resources for the full list.
Who runs the pool?
Pseudonymous EU operator. Contact [email protected]. See /about for the operator's stance and what parts of the eCash project we don't endorse.