Bitcoin Forum
July 21, 2026, 09:03:02 PM *
News: Latest Bitcoin Core release: 31.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [ANN][EMBR] 🔥 Emberchain — Keccak256 PoW | Proportional Pool | Browser Mining  (Read 125 times)
EmberChain (OP)
Newbie
*
Online Online

Activity: 14
Merit: 0


View Profile
July 16, 2026, 06:59:08 PM
 #1

🔥 EMBERCHAIN (EMBR)
Mine from your browser. Share rewards proportionally. Shield your transactions. Trade peer-to-peer.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▌ WHAT IS EMBERCHAIN?

Emberchain (EMBR) is a mineable proof-of-work blockchain with a real EVM execution engine, a Monero-inspired shielded privacy pool, and a built-in peer-to-peer escrow exchange — all from a single browser-based wallet. No Rust node. No GPU drivers. Mine directly from the UI, or run a standalone script for maximum hash rate.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▌ CHAIN SPECIFICATIONS

NameEmberchain
TickerEMBR
AlgorithmKeccak256 (CPU-friendly PoW)
Block Reward5 EMBR per block
Target Block Time8 seconds
Difficulty AdjustmentEvery block — ±25% nudge toward 8s target
SupplyFully mined — no premine, no ICO, no dev fund
Chain ID7773 (0x1e5d)
Address FormatStandard 0x Ethereum-style (secp256k1)
EVM CompatibleYes — real EthereumJS EVM (Cancun hardfork opcodes)
Smart ContractsFully supported — deploy and call from wallet UI

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▌ ADD TO METAMASK / EVM WALLET

Emberchain speaks standard Ethereum JSON-RPC. Any EVM wallet connects natively.

Code:
Network Name  : Emberchain
RPC URL       :  https://emberchain.org/api/rpc
Chain ID      : 7773
Currency      : EMBR
Block Explorer: https://emberchain.org/ledger

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▌ MINING — HOW IT WORKS

Algorithm: Keccak256 PoW

Find a nonce such that:

Code:
keccak256(JSON.stringify({ number, parentHash, timestamp, miner, difficulty, transactionsRoot, nonce })) ≤ target

Where target = (2^256 − 1) / difficulty. No SHA3 padding, no DAG, no VRAM — pure CPU work accessible to anyone with a browser or a script.

Field order matters — the JSON must be serialised in exactly the key order shown above. The Python script in this post handles this automatically.

Difficulty Retargeting

Adjusts every single block. Clamped at ±25% per block to prevent swings. The chain self-stabilizes around 8 seconds.

Three API calls is all it takes:

Code:
GET  /api/mining/template?minerAddress=0xYOUR_ADDRESS   → get work
POST /api/mining/share                                    → submit a partial share
POST /api/mining/submit                                   → submit a winning block

No stratum. No proprietary protocol. A complete external miner fits in under 50 lines.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▌ PROPORTIONAL SHARE-BASED PAYOUTS — LIVE

Block rewards are not winner-takes-all. Every miner who submitted a valid share during the round earns a cut proportional to their share count when the block lands — whether or not they found the winning nonce.

How shares work:

The template response includes two targets:
  • target — full block difficulty. Hit this and you win the block.
  • shareTarget — 64× easier (target × 64). Hit this and you bank a share.

At current difficulty you can expect roughly 64 shares per block on average. Every share earns you a fraction of the 5 EMBR block reward proportional to your contribution.

What this means in practice:
  • Small miners earn steadily rather than going long stretches with nothing
  • The miner who finds the winning block is automatically credited 1 share on top of any shares they already banked
  • No external pool operator — the pool lives inside the chain engine itself
  • No pool fee — 100% of the block reward goes to miners, split by shares
  • Payout breakdown for every block is visible in the block explorer
  • Share state and nonce deduplication survive server restarts — no gaming the restart

Share submission is handled automatically by the browser miner. External scripts just need to POST to /api/mining/share whenever a hash meets shareTarget.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▌ BROWSER MINING — ZERO SETUP

Open the wallet → click Mining → paste your address → click Start Mining. Your CPU starts hashing immediately in a background WebWorker.

Live stats shown:
  • Hash rate (H/s)
  • Shares submitted this round
  • Your estimated payout cut (%)
  • Blocks found this session
  • Running EMBR balance

No drivers. No software. Works on any desktop browser. Tab enforcement prevents double-mining from the same device.

Browser mining is the easiest way to start, but for maximum hash rate run the standalone script below — native C keccak256 is roughly 3–5× faster than JavaScript.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▌ EXTERNAL MINER — PYTHON SCRIPT (UNDER 50 LINES)

Native keccak256 via pycryptodome. Submits shares automatically. Faster than browser mining.

Code:
#!/usr/bin/env python3
"""Emberchain CPU miner with proportional share pool support."""
import json, time, random, requests
from Crypto.Hash import keccak

NODE   = "https://emberchain.org"
WALLET = "0xYOUR_EMBR_ADDRESS"   # ← only change this

def keccak256(data: bytes) -> int:
    k = keccak.new(digest_bits=256)
    k.update(data)
    return int.from_bytes(k.digest(), "big")

def encode(hdr: dict, nonce: int) -> bytes:
    return json.dumps({**hdr, "nonce": str(nonce)}, separators=(",", ":")).encode()

def mine():
    while True:
        t = requests.get(f"{NODE}/api/mining/template?minerAddress={WALLET}").json()
        block_target = int(t["target"])
        share_target = int(t["shareTarget"])
        hdr = t["header"]
        nonce, hashes, start = random.randint(0, 2**48), 0, time.time()

        while True:
            h = keccak256(encode(hdr, nonce))

            if h <= block_target:
                r = requests.post(f"{NODE}/api/mining/submit", json={
                    "minerAddress": WALLET, "header": hdr,
                    "nonce": str(nonce),
                    "blockHash": "0x" + h.to_bytes(32, "big").hex(),
                    "pendingTxHashes": t["pendingTxHashes"],
                })
                print(f"✓ Block #{hdr['number']}  status={r.status_code}")
                break

            if h <= share_target:
                requests.post(f"{NODE}/api/mining/share",
                    json={"minerAddress": WALLET, "header": hdr, "nonce": str(nonce)},
                    timeout=2)
                print(f"  share nonce={nonce}")

            nonce += 1; hashes += 1
            if hashes % 10_000 == 0:
                print(f"  {hashes/(time.time()-start):.0f} H/s  diff={hdr['difficulty']}")
                break  # refresh template each 10k hashes

if __name__ == "__main__":
    mine()

Install:
Code:
pip install requests pycryptodome

Tip: run multiple instances for multi-core mining. Each instance uses one CPU core. Each submits its own shares and earns its own proportional cut.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▌ PRIVACY — MONERO-STYLE SHIELDED POOL

Emberchain includes a full shielded transaction pool inspired by Monero's cryptographic primitives. Public EMBR can be shielded, transferred privately, and unshielded back — sender, recipient, and amount all hidden during the private leg.

Four cryptographic layers:

1. Stealth Addresses (ECDH one-time keys)
Each private note is sent to a one-time address derived from an ECDH shared secret. No two payments to the same recipient produce the same on-chain address. Only the recipient's spend key can find and claim the note.

2. Pedersen Commitments (amount hiding)
Amounts are never stored in plaintext. Each note carries C = v·G + r·H. The chain verifies inputs equal outputs + fee without learning any individual value.

3. LSAG Linkable Ring Signatures (sender anonymity)
Spending a note includes decoy unspent notes from the pool in an LSAG ring (same construction as Monero). Verifiers confirm one ring member authorized the spend without knowing which one.

4. Key Images (double-spend prevention)
Each spend produces a unique key image. The chain rejects any attempt to re-spend a note — without revealing which note the image corresponds to.

Honest limitations:
  • No Bulletproofs yet — amount non-negativity enforced by the node operator. ZK range proofs are on the roadmap.
  • Shield/unshield boundaries are visible (same design as Zcash t→z).
  • Anonymity set grows with usage — early rings are small, like early Monero.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▌ IN-APP P2P ESCROW EXCHANGE

Sellers lock EMBR into on-chain escrow and name a price. Buyers pay externally. The chain verifies the payment on-chain before releasing EMBR automatically — no intermediary, no KYC.

Supported payment currencies:
  • ETH — Ethereum mainnet (Etherscan, 12 confirmations)
  • USDT — ERC-20, TRC-20, BEP-20, Polygon (128 confirmations)
  • BTC — Bitcoin mainnet (Blockstream.info, 2 confirmations)
  • SOL — Solana mainnet (public RPC, finalized state)

Trade flow:

  • Seller creates listing — EMBR locked in escrow instantly
  • Buyer reserves listing — 15-minute exclusive window, enforced at chain level so two buyers can never race on the same listing
  • Buyer pays externally to seller's address
  • Buyer submits tx hash — chain fetches and verifies on the external explorer
  • EMBR released automatically on confirmation


Replay protection enforced at chain level — each external tx hash fulfills exactly one listing, forever.

Don't have crypto yet? A built-in on-ramp lets you purchase ETH, BTC, SOL, or USDT directly from the wallet interface before making your first trade.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▌ WALLET FEATURES

  • Create or import wallets — private key shown once, never stored server-side
  • Encrypted keystore file backup and restore
  • Send public EMBR transactions
  • Deploy EVM smart contracts from the browser
  • Shield EMBR → private pool / send privately / unshield back
  • Browser mining with live hash rate, share count, and estimated payout %
  • P2P exchange — list, reserve, buy, cancel with multi-chain payment verification
  • Built-in crypto on-ramp — buy ETH, BTC, SOL, or USDT without leaving the wallet
  • Full transaction and block explorer (with per-block payout breakdowns)
  • Price history chart from fulfilled exchange trades
  • MetaMask / EVM wallet connection via JSON-RPC

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▌ TECHNICAL STACK

  • Consensus: Custom Keccak256 PoW, per-block difficulty adjustment
  • EVM: EthereumJS — Cancun hardfork, full opcode support
  • Cryptography: ethereum-cryptography (secp256k1, keccak256), @noble/curves (privacy primitives)
  • State: EthereumJS SimpleStateManager, persisted as JSON + PostgreSQL backup
  • API: Express 5 REST + Ethereum JSON-RPC 2.0
  • Runtime: Node.js 24, TypeScript 5.9
  • Frontend: React + Vite + TanStack Query

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▌ COMPLETED

    [✓] Keccak256 PoW with per-block difficulty adjustment
    [✓] Browser-based WebWorker miner with live hash rate
    [✓] EVM smart contract deployment and execution
    [✓] Monero-style shielded pool (stealth, commitments, LSAG rings, key images)
    [✓] P2P escrow exchange (ETH, BTC, SOL, USDT multi-chain)
    [✓] Listing reservation system with race condition protection
    [✓] MetaMask / EVM wallet RPC endpoint
    [✓] Proportional share-based mining pool — live
    [✓] Encrypted wallet backup and keystore restore
    [✓] Built-in crypto on-ramp

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▌ NO PREMINE. NO ICO. NO DEV TAX.

Every EMBR in existence was mined. If you want some, run a miner.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Mining reports, hash rate benchmarks, share pool questions, and script modifications welcome below.
EmberChain (OP)
Newbie
*
Online Online

Activity: 14
Merit: 0


View Profile
July 18, 2026, 09:42:41 AM
 #2

🔥 EMBERCHAIN (EMBR) 🔥

Developer Update #2

Forge Community Launch · Multi-Core Mining · Exchange Enhancements

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


🔥 Forge Community Is Live · The Wallet Becomes The Hub 🔥


Hello Bitcointalk,

We're back with a substantial update.

Since our last announcement we've been heads-down building, and today we want to walk through everything that has shipped, as well as share where the project is headed.

The headline of this update is the Forge Community — a fully integrated social layer built directly into the EMBR wallet experience.




▌ WHAT'S NEW


🔥 Forge Community — Live Chat & Forum (FLAGSHIP)


This is the feature we've been most excited about.

Every EMBR wallet holder now has access to a real-time community space, accessible directly from the wallet sidebar — no separate account, no email, no sign-up.

Connect your wallet, and you're in.


💬 Live Chat

The chat room is live and persistent.

Messages are broadcast instantly over WebSockets to every connected user.

The channel stays active as long as someone is online — there's no polling delay and no refresh required.

Scroll up and you'll see the last 80 messages replayed when connecting, so you never walk into a cold room.


📖 Forum

Alongside live chat we've launched a threaded forum.

Users can:

  • Create topics
  • Discuss mining strategy
  • Ask questions
  • Share exchange tips
  • Participate in community discussions

The voting system uses your wallet address as identity:

  • One upvote or downvote per address per post
  • Votes can be toggled or changed at any time
  • Scores update live across all connected clients
  • Nested comments update in real time


🔐 Identity & Privacy System

Privacy and user control were priorities.

Every participant has full control over how they appear:


Nickname

Set a display name up to 32 characters.

Your nickname appears across:

  • Chat messages
  • Forum posts
  • Comments

Update it anytime and all connected clients see the change instantly.


Anon Fallback

If you choose not to set a nickname, you appear as:

Anon####

The identifier is deterministically generated from your wallet address, meaning the same wallet remains recognizable without revealing identity.


Address Shielding

Hover over any user's name to view their privacy setting:

  • Public users display their wallet address
  • Shielded users display ░░ SHIELDED ░░ with an eye-off indicator
You decide what information is visible.


All of this is backed by a server-side profile system, allowing settings to persist across devices and sessions.

The system is completely identity optional:

Participate anonymously or become a recognized community member — the choice is yours.





⛏ Multi-Core Browser Mining


Multi-core browser mining shipped in the last sprint and continues to perform well.

The EMBR wallet automatically launches:

  • One Web Worker per logical CPU core
  • Independent nonce ranges per worker
  • Parallel mining across available CPU resources

Modern machines receive a significant throughput improvement.

Work templates are fetched centrally and distributed across cores.

The best result from any core triggers share submission.

Stale templates caused by newly discovered blocks are automatically detected, refreshed, and retried.





📊 Exchange Improvements


The marketplace received several quality-of-life upgrades:


Market Cap

Market capitalization is now displayed on the price history panel, calculated from the latest trade price against total circulating supply.


Listing Timestamps

Open listings now display creation timestamps so users can better evaluate market activity.


Sorting Controls

Users can sort listings by:

  • Newest
  • Oldest
  • Highest Price
  • Lowest Price


USD equivalents are pulled from CoinGecko with a 60-second cache for accurate pricing without excessive API requests.





▌ WHAT'S COMING


We're working through a prioritized backlog.

Here are the features closest to release:


📜 Trade History

Buyers and sellers will be able to review their complete transaction history:

  • Every fulfilled listing
  • Every payment
  • Complete marketplace activity


🔒 Wallet PIN Protection

Optional PIN protection will prevent unauthorized access when a browser session is left open.

Features include:

  • Session timeout
  • PIN re-prompt


🛡 Buyer Protections

Improved marketplace edge-case handling.

Especially protecting buyers who have initiated reservations when sellers cancel mid-process.

Reservation states and related data will be handled gracefully.

⚔️ EMBRmon Mining Wars — Competitive Mining PvP Arena


EMBR is expanding beyond traditional mining.

We are building a gamified PvP experience where miners can battle using unique NFT creatures called EMBRmon.

EMBRmon Mining Wars combines three core elements:

  • Mining Efficiency — Real mining performance contributes to your battle strength
  • Strategy — Choosing the right moves, abilities, and timing determines the outcome
  • Luck — Random cards, critical hits, events, and probability-based mechanics create exciting battles
The goal is to transform mining from a passive activity into an interactive competitive experience.


🔥 EMBRmon NFTs


Players will be able to mint unique EMBRmon NFTs — powerful digital creatures with their own elemental identities, abilities, and combat characteristics.

Inspired by classic monster battle games, EMBRmon will feature different types including:

  • 🔥 Fire
  • ⚡ Electric
  • ❄️ Ice
  • 🌱 Nature
  • 🌑 Shadow
  • And more


Each EMBRmon will have:

  • Unique creature design
  • Elemental type advantages and disadvantages
  • Special attacks and abilities
  • Combat characteristics
  • Strategic strengths and weaknesses


Early community members will have opportunities to acquire EMBRmon NFTs through an early mint system.

Example placeholder structure:

  • First 25 EMBRmon: Free mint
  • Next 50 EMBRmon: 500 EMBR
  • Next 75 EMBRmon: 1,000 EMBR
  • Next 100 EMBRmon: 2,500 EMBR


(Mint pricing, supply, and mechanics are subject to refinement.)


⛏ Mining Efficiency Battle System


Each player enters a battle with a Mining Efficiency Score.

This score functions similarly to HP in a traditional RPG.

Example:

Player A:

Mining Efficiency: 175


Player B:

Mining Efficiency: 160


A player's real mining performance contributes to their starting battle efficiency.

However, the PvP battle itself exists as a separate game layer and does not modify actual blockchain mining.


Important:

EMBRmon battles will never affect:

  • Real mining hash rate
  • Block production
  • Network security
  • Consensus


The game rewards efficient miners while keeping the integrity of the blockchain untouched.


⚔️ Combat System


During battles, players take turns selecting actions with their EMBRmon.

Players can:

  • Use creature attacks
  • Activate special abilities
  • Play randomly drawn battle cards
  • Apply buffs and debuffs
  • Defend against incoming attacks
  • Use strategic combinations


Example abilities:

Fire Blast

Large damage attack with a chance of a critical hit.


Electric Surge

Medium damage attack with a chance to temporarily disable an opponent's ability.


Shield Protocol

Reduce incoming damage for a limited time.


Mining Boost

Temporarily improve battle efficiency recovery.


The outcome of battles is determined by a combination of preparation, decisions, efficiency, and probability.


📈 Dynamic Efficiency Recovery


Mining Efficiency can fluctuate during battles.

If a player's real mining efficiency improves during the match, their battle score may gradually recover.

However, recovery is limited.

Example:

Starting Efficiency:

175


Opponent attack:

175 → 90


Mining performance improves:

90 → 105 → 115


The player cannot simply return to full strength through mining improvements alone.

This ensures that combat decisions remain meaningful and prevents unlimited recovery.


🏆 Long-Term Vision


EMBRmon Mining Wars creates a new type of blockchain gaming experience.

A player does not win simply because they own the largest mining hardware.

Victory comes from:

  • Mining efficiently
  • Making smart strategic decisions
  • Building a strong EMBRmon collection
  • Understanding matchups and abilities
  • Taking calculated risks


The vision is to combine Proof-of-Work mining with an esports-style competitive game where mining, strategy, and luck all play a role.



🏦 Onchain Savings


We're building a native savings mechanism for EMBR holders.

Users will be able to lock EMBR directly from their wallet and earn rewards over time — entirely onchain, without third parties or custodians.

Features:

  • Open and close savings positions directly from the wallet
  • Track rewards in real time
  • Maintain full control of your funds
  • Encourage long-term holding and reduce liquid supply


More details on rates, lock periods, and mechanics will be shared as development progresses.


📉 Progressive Halving


Bitcoin introduced the world to predictable supply reduction, but its four-year halving cycle creates large economic events that markets can anticipate.

EMBR takes a different approach.

The initial plan is a progressive halving schedule designed to reduce emissions quickly during early growth while slowing down as the ecosystem matures.


Example schedule:

  • Genesis launch: Initial block reward
  • 3 months after launch: First halving
  • 6 months later: Second halving
  • 12 months later: Third halving
  • Every 24 months thereafter: Future halvings


This approach rewards early miners while gradually transitioning toward long-term sustainability.


🌊 Elastic Issuance & Adaptive Monetary Policy


Alongside progressive halving, EMBR will introduce an elastic issuance system.

Instead of relying on a permanently fixed emission schedule, the protocol will monitor network conditions and adjust issuance within predefined limits.


The goal is a self-balancing monetary system:

  • Low activity periods → issuance can increase slightly to encourage participation and network growth
  • Growing ecosystem → issuance gradually decreases as adoption increases
  • High activity periods → reduced issuance and increased burn pressure can create a more deflationary environment


The protocol will consider factors such as:

  • Transaction activity
  • Network usage
  • Miner participation
  • Fee revenue
  • Overall ecosystem health


The objective is not unlimited inflation or permanent deflation.

The objective is equilibrium.


🔥 Elastic Transaction Burn


EMBR will also introduce a dynamic transaction burn mechanism.

A portion of transaction fees will be permanently removed from circulation.

The burn rate will adjust based on network activity with the goal of balancing new issuance.


The long-term target:

Total EMBR burned trends toward matching total EMBR created over time.


During early growth:

  • New issuance supports miners and ecosystem expansion
  • Burn pressure remains lower


As adoption increases:

  • Transaction activity increases
  • Burn pressure increases
  • Net issuance naturally approaches equilibrium


The result is a monetary system designed to adapt with the blockchain instead of relying on a fixed supply model.





▌ CLOSING THOUGHTS


Emberchain is being built piece by piece, without shortcuts.


The EMBR wallet is becoming the place where holders communicate, coordinate, and build together.

Not a third-party Discord server.

Not a temporary community.

A native ecosystem built directly into the wallet experience.


If you're mining or holding EMBR, we want to hear from you.

Jump into the Forge Community chat directly from your wallet.

No invite links.

No bot-gated entrance.

Just open your wallet and join the conversation.


More updates soon.



— The Emberchain Team



Ticker: EMBR

Block Reward: 5 EMBR
[/size]
[/center]
EmberChain (OP)
Newbie
*
Online Online

Activity: 14
Merit: 0


View Profile
July 18, 2026, 02:59:51 PM
 #3

We've been added to https://www.mining-scan.com/#coin/EMBR
EmberChain (OP)
Newbie
*
Online Online

Activity: 14
Merit: 0


View Profile
July 18, 2026, 10:04:33 PM
 #4

```bbcode
📢 EMBERCHAIN [ANN]

Update #5

EmberSwap DEX Live · wEMBR Pool Seeded · Full Multi-Token Swap UI


███████╗███╗   ███╗██████╗ ███████╗██████╗  ██████╗██╗  ██╗ █████╗ ██╗███╗   ██╗
██╔════╝████╗ ████║██╔══██╗██╔════╝██╔══██╗██╔════╝██║  ██║██╔══██╗██║████╗  ██║
█████╗  ██╔████╔██║██████╔╝█████╗  ██████╔╝██║     ███████║███████║██║██╔██╗ ██║
██╔══╝  ██║╚██╔╝██║██╔══██╗██╔══╝  ██╔══██╗██║     ██╔══██║██╔══██║██║██║╚██╗██║
███████╗██║ ╚═╝ ██║██████╔╝███████╗██║  ██║╚██████╗██║  ██║██║  ██║██║██║ ╚████║
╚══════╝╚═╝     ╚═╝╚═════╝ ╚══════╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝





🔥 UPDATE #5 — JULY 2026

EmberSwap Full DEX Launch · wEMBR/ETH Pool Live · Bridge Active

Emberchain community,

This is the biggest update we've shipped since launch.

We've been heads down building and the results speak for themselves:

EmberSwap is now a full multi-token DEX on Base mainnet, the wEMBR/ETH liquidity pool is live and seeded, and every layer of the stack — chain, bridge, swap, mining — has been hardened.

Let's go through it.



I. EMBERSWAP DEX — NOW SUPPORTS ANY BASE TOKEN PAIR

The old SwapTab was a single-direction ETH ↔ wEMBR toggle.

That's gone.

EmberSwap is now a full Uniswap V2 DEX frontend, routing across any token pair on Base.

Token Selector

  • Click either token slot to open the picker modal
  • Pre-loaded catalog: ETH, wEMBR, USDC, USDT, DAI, cbBTC, AERO, WETH, cbETH
  • Paste any contract address → UI fetches symbol, name, and decimals on-chain automatically
  • Search by name, symbol, or address
  • Quick-pick chips for the most common tokens

Smart Routing

  • Tries 3 routes simultaneously: direct pair, via WETH, via wEMBR
  • Picks the best output for you
  • wEMBR routes get a 5% preference — when routing through wEMBR/ETH is within 5% of the best quote, we take it. This is how 0.25% of every qualifying swap flows to EMBR liquidity (we are the primary LP on the wEMBR/ETH pair, earning Uniswap's 0.3% LP fee on all wEMBR-routed trades)
  • Route displayed in the quote card so you always know the path your swap takes

Decimal-Correct for All Assets

USDC and USDT use 6 decimals, cbBTC uses 8 — amounts parse and display correctly for every token in the catalog.

No more 18-decimal assumptions.

Approval Flow

  • Automatic ERC-20 allowance check before each ERC-20 swap
  • Prompts MetaMask approval only when needed, then proceeds without asking again until allowance is spent

Quote Card Displays

  • Estimated output
  • Route path (e.g. USDC → WETH → wEMBR)
  • 0.25% fee note → EMBR liquidity
  • Minimum received (after 0.5% slippage)
  • Live ETH/ERC-20 balances for both token slots



II. wEMBR/ETH LIQUIDITY POOL — LIVE ON BASE MAINNET

The wEMBR/ETH trading pair is seeded and open.

PairwEMBR / ETH
DEXUniswap V2 on Base
Pair Contract0xD7e6A5Dfdee7D141A036a5Af8C92Fe7ac20392a6
Opening Price$0.02 per EMBR (at $3,500/ETH)
LP HolderProtocol Treasury (Primary LP)

The pool is live.

You can trade wEMBR on Base right now using EmberSwap or any Uniswap V2-compatible interface.

Anyone can add liquidity through the Pool tab in the EmberSwap UI.

More LPs = deeper market = better prices for everyone.



III. POOL TAB — ADD & REMOVE LIQUIDITY

EmberSwap now has three tabs:

  • Bridge
  • Swap
  • Pool

The Pool tab shows:

  • Live wEMBR and ETH reserve depths
  • Current price (wEMBR in ETH terms)
  • Your LP token balance and pool share %
  • Auto-computed paired amount when you type one side (pool ratio enforced)
  • Warning when no pool exists (first depositor sets the price)
  • One-click Max button to redeem your full LP position

Add Liquidity

Enter ETH → wEMBR field auto-fills to match pool ratio → approve wEMBR → confirm in MetaMask → receive LP tokens

Remove Liquidity

Enter LP amount (or hit Max) → preview shows exact ETH + wEMBR you receive → approve LP token → confirm → done

Both flows use 0.5% slippage tolerance and 20-minute deadlines.



IV. BRIDGE — PRODUCTION HARDENING

The EMBR ↔ wEMBR bridge has been running under real load.

Several robustness improvements shipped:

  • Registration retry loop after EMBR confirmations
  • Relayer now submits transactions internally instead of through public RPC
  • withEvmLock() serializes critical EVM operations
  • eth_getCode now correctly returns deployed bytecode

On-chain Contracts (Base Mainnet)

WrappedEMBR (wEMBR) on Base0x9362587019Ea0e4ef90fbd981c615d4441D9D2c4
EmberchainBridge on Emberchain0x9362587019ea0e4ef90fbd981c615d4441d9d2c4
Uniswap V2 Router0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24



V. MINING — STALE TEMPLATE PROTECTION

A fix shipped for stale mining templates.

  • Templates are invalidated after every server restart
  • Old work returns a 409 Stale Work response
  • Browser miners automatically refresh and continue mining

This closes a potential fork vector where miners could submit valid proofs against different chain states.

Mining pool status: ACTIVE and accepting shares.



VI. CHAIN INFRASTRUCTURE

  • PostgreSQL persistence for blocks, financial events and bridge nonces
  • File-based fallback when PostgreSQL is unavailable
  • EIP-2200 gas accounting fixes
  • EthereumJS checkpoint depth improvements






VII. HOW TO GET INVOLVED

⛏ Mine EMBR

Open the wallet, create or import a wallet, go to the Mine tab.

Your browser performs the proof-of-work.

Shares earn EMBR proportional to your contribution.

🌉 Bridge EMBR → Base

Lock EMBR via the Bridge tab and receive wEMBR on Base in approximately two minutes.

🔄 Trade on EmberSwap

Connect MetaMask to Base Mainnet.

Choose any supported token pair.

Routing happens automatically.

💧 Provide Liquidity

Add ETH + wEMBR through the Pool tab and earn Uniswap LP fees on every qualifying trade.

Swap activity is tracked for a future airdrop.

Volume and swap count are recorded on-chain under your address.

No sign-up required.



LINKS

Wallet & DEX: [Emberchain Wallet] (link in profile)

wEMBR/ETH Pair:
0xD7e6A5Dfdee7D141A036a5Af8C92Fe7ac20392a6

wEMBR Contract on Base:
0x9362587019Ea0e4ef90fbd981c615d4441D9D2c4

Bridge Contract on Emberchain:
0x9362587019ea0e4ef90fbd981c615d4441d9d2c4



Emberchain is a Proof-of-Work EVM chain with a native privacy pool, cross-chain bridge, and DeFi layer on Base.

EMBR is the native token. Mining is open to everyone.

Questions go in this thread. No DMs for support — everything public.

🔥 — The Emberchain Team 🔥
```
EmberChain (OP)
Newbie
*
Online Online

Activity: 14
Merit: 0


View Profile
July 19, 2026, 02:40:55 AM
 #5

Custom EMBR Mining Script in python

Code:
#!/usr/bin/env python3
"""
🔥 EMBERCHAIN Keccak256 Custom Header PoW Miner 🔥

Chain ID: 7773
Algorithm: Keccak256 Custom Header PoW
Block Time: 8 seconds
Wallet: configured below
"""

import json
import time
import random
import requests
import os

from Crypto.Hash import keccak
from multiprocessing import Process


# ============================
# EMBERCHAIN CONFIG
# ============================

NODE = "https://emberchain.org"

WALLET = "YOUR_WALLET_ADDRESS"

CHAIN_ID = 7773


# Mining intensity
# 4  = light
# 8  = decent
# 16 = maximum for Ryzen 7 9800X3D
WORKERS = 8



# ============================
# KECCAK256
# ============================

def keccak256(data: bytes) -> int:

    k = keccak.new(
        digest_bits=256
    )

    k.update(data)

    return int.from_bytes(
        k.digest(),
        "big"
    )



# ============================
# HEADER ENCODING
# ============================

def encode(header, nonce):

    payload = {
        **header,
        "nonce": str(nonce)
    }

    return json.dumps(
        payload,
        separators=(",", ":")
    ).encode()



# ============================
# MINING WORKER
# ============================

def miner(worker_id):

    session = requests.Session()

    print(
        f"🔥 Worker {worker_id} started"
    )


    while True:

        try:

            # Get mining template

            template = session.get(
                f"{NODE}/api/mining/template",
                params={
                    "minerAddress": WALLET
                },
                timeout=10
            ).json()



            header = template["header"]

            block_target = int(
                template["target"]
            )

            share_target = int(
                template["shareTarget"]
            )



            nonce = random.randint(
                0,
                2**48
            )


            hashes = 0
            start = time.time()



            while True:


                h = keccak256(
                    encode(
                        header,
                        nonce
                    )
                )


                # ----------------------
                # BLOCK FOUND
                # ----------------------

                if h <= block_target:


                    response = session.post(
                        f"{NODE}/api/mining/submit",

                        json={

                            "minerAddress": WALLET,

                            "header": header,

                            "nonce": str(nonce),

                            "blockHash":
                            "0x" +
                            h.to_bytes(
                                32,
                                "big"
                            ).hex(),

                            "pendingTxHashes":
                            template[
                                "pendingTxHashes"
                            ]
                        },

                        timeout=10
                    )


                    print(
                        "\n🚀🚀 BLOCK FOUND 🚀🚀"
                    )

                    print(
                        response.text
                    )


                    break



                # ----------------------
                # POOL SHARE
                # ----------------------

                if h <= share_target:


                    session.post(
                        f"{NODE}/api/mining/share",

                        json={

                            "minerAddress": WALLET,

                            "header": header,

                            "nonce": str(nonce)

                        },

                        timeout=2
                    )


                    print(
                        f"Worker {worker_id} share"
                    )



                nonce += 1

                hashes += 1



                # Report speed

                if hashes % 250000 == 0:

                    elapsed = (
                        time.time()
                        -
                        start
                    )

                    speed = (
                        hashes /
                        elapsed
                    )


                    print(
                        f"Worker {worker_id}: "
                        f"{speed:,.0f} H/s"
                    )


                # Refresh template occasionally

                if hashes >= 2000000:
                    break



        except Exception as e:

            print(
                f"Worker {worker_id} error:",
                e
            )

            time.sleep(3)



# ============================
# START MINER
# ============================

if __name__ == "__main__":


    print("""
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔥 EMBERCHAIN MINER STARTING 🔥
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Algorithm:
Keccak256 Custom Header PoW

Chain ID:
7773

Wallet:
%s

Workers:
%d

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
""" % (
        WALLET,
        WORKERS
    ))



    processes = []


    for i in range(WORKERS):

        p = Process(
            target=miner,
            args=(i,)
        )

        p.start()

        processes.append(p)



    for p in processes:

        p.join()
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!