Roadmap

What's shipped, what's next, what we're kanoodling on.

This page is our kanban board. Every phase we've finished, every item we're actively building, every half-formed idea sitting in the parking lot. Updated as often as the code changes — with dev notes in between for the thinking that doesn't fit a task row.

Shipped

70+ items shipped, externals earning what they sign.

The chain is running on Aura + GRANDPA with native ase1 addresses. Community validators bond with one command and earn ASE from behind a home NAT. Explorer, CLI, Chrome extension, desktop Operator with an in-app wallet, IDE, SDK, native AMM + trade terminal, social showcase, Telegram wallet — all live today.

In progress

The current focus — reward, scale, tokenise.

The v3 consensus rebuild and external earning are out the door. What is next: the incentivised testnet rewarding real activity, fast dormancy eviction so the validator set scales without a ceiling, commission + delegation, the ARC-20 token standard, and governance v2 tiers. All on the path to mainnet.

Kanoodling

Ideas worth remembering, not ready to commit.

Dynamic fee adjustment. Bond burning on slashing. WebSocket subscriptions. DeFi primitives. On-chain token registry. The parking lot is where an idea lives until we have the evidence or the time to move it up the board.

Active build

What we're building right now.

Priority 01

Incentivised testnet.

Turn real chain activity into rewards. The airdrop dashboard awards XP for sending ASE, swapping on Auras, posting on social, and running a validator — with rotating daily quests, streak multipliers, and staking tiers. Participation you can measure and pay, not guess at.

Priority 02

Scale the validator set.

The committee cap is lifted; the next step is fast eviction of dormant validators so the set can grow without a ceiling, plus commission and delegation so small operators earn without 500 ASE of their own. The path from a handful of signers to hundreds.

Priority 03

ARC-20 token standard.

Native token interface for the chain: balanceOf, transfer, approve, allowance + Transfer/Approval events. Explorer decodes Transfers, wallet auto-detects holdings, optional on-chain TokenRegistry for verified metadata. Blocks mainnet readiness.

‣ Dev note

A chain that claims ‘anybody can validate’ can't halt when a laptop closes. So we made the committee a function of who actually showed up in the last 30 blocks.

after the 23h outage

Next Up8 items

Incentivised testnet — quests + rewards

The airdrop dashboard turns real chain activity into XP: send ASE, swap on Auras, post on social, run a validator. Rotating daily quests, streak multipliers, and staking tiers so participation is measured and paid, not guessed at.

IN PROGRESS

Fast dormancy eviction

Lifting the committee cap is safe while externals are faucet-capped to tiny stake; a large dead validator would carry real quorum weight. Quick eviction of dormant validators removes that assumption and lets the set scale without a ceiling.

IN PROGRESS

Commission + delegation

Per-validator commission (20% cap, 24h cooldown), delegator accounts with pro-rata rewards + shared slashing, redelegate helper. The rest of Staking v2 — what makes small home operators economic without 500 ASE of their own.

IN PROGRESS

ARC-20 token standard

Token interface — balanceOf, transfer, approve, allowance + Transfer/Approval events. Docs page, playground template, explorer Transfer decoding, wallet token UI. First step toward a real token ecosystem.

IN PROGRESS

Governance v2 — hard/soft tiers

Tier field on proposals, different bond + quorum + window + supermajority per tier. Hard floors stay governance-unreachable. Needed before Phase 4.

IN PROGRESS

Validator cluster expansion

More public validators, community-run. The one-liner installer made onboarding trivial; pairs with delegation and the lifted committee cap so hundreds of small operators can sign and earn.

NEXT

Governance UI in Operator

Create-proposal form and vote buttons in the Governance tab. Read-only today.

NEXT

Chrome Web Store resubmission

Get the native extension wallet back in front of reviewers. Listing copy, screenshots, privacy declarations.

NEXT

‣ Dev note

Design target is 2-second blocks. Runtime is 6. The right answer isn't a guess — it's whatever p99 vote propagation tells us when we have 50 validators instead of 5.

on block time tuning

Shipped

The work that's already running in production.

Phase by phase, oldest first. None of this is speculative — every row below is code you can run or a block you can look up on the explorer today.

Phase 1.0Chain coreJan – Feb 2026

BFT consensus engine

Tendermint-style with pre-vote / pre-commit / 2/3 finality. Tested against a 4-validator local devnet before any network code was written.

SHIPPED

Dilithium3 signatures

ML-DSA-65 (NIST FIPS 204) across every signature path: votes, transactions, block proposals. Zero classical crypto anywhere.

SHIPPED

Hardened JavaScript VM

SES Compartments for contract execution, frozen primordials, no ambient authority. Deterministic across CPU architectures.

SHIPPED

Sparse Merkle Tree state

BLAKE3-keyed over LevelDB. State root in every block header.

SHIPPED

Staking + slashing as contracts

Both modules are system contracts, not special chain code. Upgradeable via governance, inspectable like any other contract.

SHIPPED

‣ Dev note

Four validators, 200 lines of code, zero network sockets. The whole BFT engine gated on a single Promise. It just worked.

building consensus before networking

Phase 2.0Public testnetMar 2026

testnet.asentum.com live

2-second blocks, BFT finality, ML-DSA-65 everywhere. Caddy + Let's Encrypt TLS. JSON-RPC open to all origins.

SHIPPED

Block explorer (rebrand)

Dark editorial palette replacing the phosphor-green terminal look. Block / tx / address / contract detail pages, search, validator list.

SHIPPED

Faucet

Drip test ASE to any address from the explorer, via RPC, or via the wallet UI.

SHIPPED

MetaMask compatibility

Standard eth_* JSON-RPC methods work unmodified. MetaMask reads the chain; the Asentum Wallet does the Dilithium3 signing.

SHIPPED

‣ Dev note

Spent weeks fighting libp2p mesh negotiation. Then I just POSTed votes over HTTP to every peer. Less cool to say. Way more reliable in practice.

on killing libp2p

Phase 2.5Tooling & UXApr 2026

CLI + curl | sh installer

Single Node-SEA binary for macOS, Linux, Windows. One-liner drops it on $PATH and pre-configures the testnet RPC.

SHIPPED

Native Chrome extension wallet

Manifest V3 with window.asentum provider. Password-encrypted vault, per-origin permissions, per-tx approval popups, multiple accounts.

SHIPPED

Contract playground

In-browser IDE at /playground. Three templates, wallet connect, post-deploy method introspection with auto-generated forms.

SHIPPED

@asentum/sdk

TypeScript SDK — AsentumClient, AsentumWallet, AsentumContract. ~14 KB bundled, works in Node and browser.

SHIPPED

Asentum Operator desktop app

Electron app spawning a real validator as a child process. GUI onboarding, chain sync, staking form, system-tray background mode.

SHIPPED

On-chain governance v1

Single-tier proposals with bond, quorum, voting window, execution timelock. VM library injection end-to-end.

SHIPPED
Phase 2.7Validator clusterApr 2026

Five validators, three continents

Four Hetzner CX22 boxes across Germany + US East + US West, plus a local Mac. BFT surviving real network jitter.

SHIPPED

Graceful quorum transition

PENDING_BLOCKS = 10. New validators enter a pending window before being counted for consensus.

SHIPPED

Kill-one survival verified

Shut down primary, three survivors kept producing blocks, primary rejoined and synced back. Zero tombstones, zero forks.

SHIPPED
Phase 2.8Liveness + Staking v2Apr 2026

Liveness-aware committee

Committee = registered validators who proposed ≥ 1 of the last 30 blocks. Deterministic, home-validator tolerant. A closed laptop no longer halts the chain.

SHIPPED

Minimum self-bond (500 ASE)

bond() rejects totals below the floor. Applies to initial bonds and partial tops. Exiting below the floor must be a full unbond.

SHIPPED

Stake-concentration handled by the 10% per-block reward cap

No hard maximum self-bond. Concentration economics are addressed by the 10% per-block reward cap — excess emission redistributes pro-rata to non-capped validators in the active committee.

SHIPPED

14-day unbonding window

unbond() queues into pending withdraw with unlockAt = block + 604,800. Stake stays slashable during the window. Closes the slash-and-run hole.

SHIPPED

withdraw() + getWithdrawable()

Claim matured withdrawals; wallets read the pending/matured breakdown for the UI. getStakingParams() exposes the four constants for config-driven frontends.

SHIPPED
Phase 2.9One-liner validator installApr 2026

curl | bash validator installer

Single-command setup on a fresh Ubuntu box: deps, node bundle, Dilithium3 key, systemd unit, ufw, sync progress bar, balance polling, auto-bond, active-set confirmation.

SHIPPED

asentum-validator CLI wrapper

status / balance / earnings / transfer / unstake / withdraw / keys / logs / start / stop / restart. Lands on $PATH after install.

SHIPPED

msg.value coupling for bond

bond(pubKey) reads from msg.value, debits the caller, credits the staking contract. withdraw() uses the new transfer() VM primitive to send matured ASE back.

SHIPPED

SDK getReceipt false-positive fix

Chain returns 200 OK with {error,txHash} for unmined txs. SDK was treating that as a valid receipt; tx.wait() now polls correctly.

SHIPPED

Five-validator cluster live

Germany ×2, US ×2, Asia ×1. New Asia node onboarded end-to-end via the one-liner — strangers can now bring up validators without me on a call.

SHIPPED
Phase 3.0Cross-contract calls, mainnet ASE, ecosystemApr – May 2026

Cross-contract E() async calls

E(addr).method(args) with a call-stack reentrancy guard, atomic rollback on revert, and contract pre-loading from tx args. The mechanism that makes composability without reentrancy possible.

SHIPPED

$ASE live on Ethereum mainnet

ERC-20 deployed at 0x041Ff0…1D80B2 with a Uniswap V2 ETH/ASE pair. Real liquidity, real price discovery. Listed on the Uniswap interface and routed in the swap aggregator.

SHIPPED

Presale contract + ETH referrals

73 Hardhat tests covering bonus window, hardcap, wallet cap, full E2E lifecycle. Pull-based 5% ETH referral payouts. Deployed at 0x7ac5…C214; wired to the live website.

SHIPPED

Founders-round ASE distribution

On-chain distribution to founders-round contributors with claim flow at /claim. Referral earnings claimable from the same page.

SHIPPED

Standalone explorer at explorer.asentum.com

Next.js app with its own indexer. Search, address pages, block detail, validator list with proposer counts. Decoupled from the node binary so explorer ships ship independently.

SHIPPED

Social showcase at social.asentum.com

On-chain social dapp built on five contracts (Profile / Posts / Follow / Gallery / Votes). Light editorial theme, Cloudinary image uploads, live activity stream, tx-on-explorer link from every post.

SHIPPED

Social indexer service

Background indexer over the social contracts. HTTP API for activities + post lookups, WebSocket stream for live updates. Replays from genesis on cold start.

SHIPPED

Telegram wallet bot

Wallet-as-a-bot. Dilithium3 wallet bound to a Telegram ID, 6-character pairing code for dapp connections, inline-keyboard transaction approval. No app store, no extension.

SHIPPED

Operator v0.5.x + auto-updater

Signed .dmg + .exe builds with electron-updater wired to a downloads server. Recovery-phrase import for existing wallets. Snapshot-based sync. The download page is unblocked.

SHIPPED
Phase 3.5Consensus rebuild, native identity, earning externalsJun – Sep 2026

Aura + GRANDPA consensus

Retired the Tendermint-style round machinery for slot-based block production (Aura) plus stake-weighted 2/3 finality (GRANDPA). Fewer moving parts, no round runaway, finality that degrades gracefully instead of stalling.

SHIPPED

Native ase1 addresses

Bech32 addresses derived from the ML-DSA-65 key, everywhere — wallet, explorer, CLI, contracts, faucet. Asentum stopped borrowing 0x and started looking like its own chain.

SHIPPED

External validators sign and earn

The milestone chased across four testnets. A stranger runs the one-liner, bonds 500 ASE, and their votes land in the reward bitmap over an HTTP pull path — earning ASE proportional to what they actually sign, from behind a home NAT.

SHIPPED

Dynamic, stake-weighted committee

The signing committee tracks staking state per epoch — bond in, produce blocks next epoch; go quiet, get dropped. Finality quorum is weighted by stake, so the heavy baked validators secure the chain while hundreds of small externals can join, earn, and churn without ever threatening it.

SHIPPED

Committee cap lifted live, no reset

An emergency headcount cap was quietly locking newcomers out of the reward seats. Once the stake-weighted quorum math was re-derived, the ceiling went from 9 to 100 as an epoch-gated switch the whole fleet throws in lockstep — deployed one node at a time, chain never paused.

SHIPPED

ANT custom transport

A purpose-built persistent-TCP consensus transport replacing libp2p gossip. Transport failures and consensus failures are now cleanly separable — check the mesh first, and if it is clean the bug is in the engine.

SHIPPED

Native ASE AMM + trade terminal

Auras — an on-chain AMM where ASE is the native asset, no wrapper. A DexTools-style terminal at auras.finance: live candlestick charts, a real-time trade tape, one-click swaps through the extension or the Telegram wallet, and create-a-pool for any token.

SHIPPED

Ecosystem redeploy on the live chain

The full social suite (Profile / Posts / Follow / Gallery / Votes / Comments / Premium) and the Auras contracts redeployed on the current chain and wired back into the dashboards and the incentivised-testnet rewards.

SHIPPED

Operator in-app wallet

The desktop validator app grew a real wallet: live ASE balance with a refresh, send ASE to any address, copy address, export key. Ships on the electron auto-updater — existing operators get it on next launch.

SHIPPED

Standalone asentum CLI + IDE

An ase1-native command-line client shipped as single-file binaries for macOS, Linux, and Windows behind a curl | sh installer. The full contract IDE went live at ide.asentum.com, replacing the in-page playground.

SHIPPED
Queued8 items — not started

Mobile PWA wallet

Web-based wallet at wallet.asentum.com. Mobile-first, installable to home screen via service worker. Reuses extension wallet logic. The fallback for users who cannot install the extension.

PLANNED

docs.asentum.com + AIPs

Move docs to a subdomain. Formal Asentum Improvement Proposal process — governance-adjacent off-chain discussion.

PLANNED

Token indexer

Background scanner that indexes Transfer events per block into a holder map. Enables token list page, top holders, holder counts, volume tracking on the explorer.

PLANNED

Native cron + ARC-21 subscriptions

Protocol-level scheduled execution. Cron registry system contract, block builder fires due jobs before mempool. Enables recurring payments, DCA, streaming payments. No other L1 has this at the protocol level.

PLANNED

Ethereum ↔ Asentum bridge

Phase 1: multisig trusted bridge for ERC-20 ↔ native ASE. Phase 2: Ethereum light client on Asentum (BLS12-381 verification). Phase 3: Solidity ML-DSA-65 verifier — first PQC-to-EVM verified bridge.

PLANNED

Website light mode

Light/dark toggle for asentum.com. Design the light palette to match the social showcase, update every page. Dark-only today.

PLANNED

Recovery phrases across all wallets

BIP-39 24-word format with Asentum-specific Dilithium3 derivation. Operator already imports; remaining is unified gen + format across extension + CLI.

PLANNED

CI pipeline for SEA builds

GitHub Actions matrix → artifacts on release tag → auto-rsync to /install/ and /downloads/. Replaces manual local cross-build.

PLANNED

‣ Dev note

No delegation? No mainnet. No hard/soft governance? No mainnet. Docs misaligned with code? No mainnet. The gate is in the list, not on a date.

on why mainnet isn't scoped

Parking Lot11 ideas

WebSocket subscriptions

eth_subscribe for newHeads, logs, pending txs. HTTP-only today. Not hard, just hasn't been needed.

PARKING LOT

Dynamic EIP-1559 base fee

Static at 1 wei today because block utilisation has been trivial. Adjustment algo ready to drop in when congestion appears.

PARKING LOT

Service-node reward pool

15% of base fees diverted before burn, routed to service nodes. Needs per-request tracking + periodic payouts.

PARKING LOT

Block time tuning

Running 2s today. Whether that stays optimal depends on real p99 vote propagation when the validator set is bigger.

BRAINSTORM

Historical balance queries

eth_getBalance(addr, blockTag) — needs state snapshots per block. Archive-mode only.

PARKING LOT

Per-opcode gas metering

Finer metering would price individual JS operations more fairly but adds real VM complexity.

BRAINSTORM

Bond burning on slashing

Today a slash tombstones but doesn't burn. Burn closes the slash-and-run loophole. Trivial once burn fraction is signed off.

PARKING LOT

Code-signing certs

Apple Developer ID + notarization for macOS. EV Authenticode for Windows to kill SmartScreen. Budget question.

PARKING LOT

On-chain TokenRegistry

System contract where deployers register tokens. Verified token list. Explorer reads the registry for authoritative metadata. Optional final phase of the ARC-20 rollout.

PARKING LOT

DeFi / AMM primitives

Reference AMM, reference lending, reference stablecoin. Not part of the protocol, but part of what needs to exist.

BRAINSTORM

Mainnet launch

Phase 4. Not dated. We ship when the spec is closed, economics finalised, and external audits come back clean.

BRAINSTORM

‣ Dev note

Every chain shows you the curated ‘we're building this’ list. The parking lot is where we also show what we're NOT building — yet.

on keeping the lot visible

Testnet live · Eight validators · 115,000+ blocks

A chain that's built in public, one row at a time.

Join the launch list and we'll send you a note whenever something significant lands — never anything else. Or read the thesis if you want the why before the what.