← Back to Proposals

ShardKeep Roadmap ROADMAP

Where we are, what just happened, and what comes next · Updated April 7, 2026

1. Current State — What's Running

Live infrastructure

ComponentStatusDetails
Node Network LIVE 15 nodes — 1 Warden, 12 Bastions, 2 Sentries
WSS Challenge Server LIVE shardkeep-ws systemd service — Epoch 1, active phase
Shard Distribution LIVE Shamir splitting (4 tiers: Shield 3/5, Guardian 4/7, Sentinel 5/9, Fortress 7/12)
Heartbeat Pipeline LIVE PENDING → EVALUATING → AUTHENTICATED → QUALIFIED → ACTIVE
Browser Extension v0.9.0 Phantom wallet, local vault, Sentry node support
Solana Vault Program DEVNET 4hfvirYMHxW4nZSuTreWRQQD45Hfc4LKmUyy3hFYcZVP — vault CRUD, untouched
cNFT Shard Maps (Track A) DEVNET Merkle tree EQALy46B8Q7A... — mint, read, burn via Bubblegum + Helius DAS
Operator Blindness ACTIVE Server purges node_id after cNFT mint — shard locations exist only on-chain
Operator Dashboard LIVE /shardkeep/operator/ — nodes, epochs, shards, wallets, staking
User Dashboard SKELETON /shardkeep/user/ — vault overview, sentry status, settings

2. What Just Happened — The Great Rebrand (April 6, 2026)

Branding & naming

Directory restructure

Portability

Service renames

ComponentOldNew
WSS Servervault-ws.pyshard-ws.py
Systemd Unitcitadel-vault-wsshardkeep-ws
Agent Scriptxnode-agent/xnode.pysentry-agent/sentry.py
Install Scriptxnode-agent/install.shsentry-agent/install.sh
State Directory/var/lib/citadel//var/lib/shardkeep/
Extension Directorycitadel-vault-extension/shardkeep-extension/
Extension VersionSolace Citadel v0.8.2ShardKeep v0.9.0
Storage Keyscitadel_*shardkeep_* (with legacy migration)
DB ClassCitadelDBShardKeepDB

Outstanding from rebrand

All resolved. Database tables renamed citadel_*shardkeep_* (migration 004_rename_tables.sql, April 7). All 7 tables + all PHP/Python code references updated.

3. What's Next — Implementation Timeline

Development tracks

Per On-Chain Shard Map v2, two parallel tracks:

Track A: cNFT Shard Maps COMPLETE

DevNet implementation complete — April 6-7, 2026

Phase 1: Merkle Tree + Bubblegum
DevNet tree EQALy46B8Q7A... (16K leaves). Bubblegum mint/burn in ShardService.php. Helius DAS API for real asset IDs.
April 7 ✓
Phase 2: Shadow Table Migration
7 tables renamed shardkeep_*. cNFT columns added. shardkeep_shard_maps shadow table created. node_id nullable.
April 7 ✓
Phase 3: Extension Tier 2
storage.js: real shardStore(), shardRetrieve(), shardGetMap(), shardDelete(). get-shard-map API endpoint.
April 7 ✓
Phase 4: WSS In-Memory Purge
shard-ws.py: all shard queries filter node_id IS NOT NULL. Purged entries invisible to WSS.
April 7 ✓
Phase 5: E2E Testing
Full lifecycle: store → distribute → ack → mint cNFT → purge → retrieve via shard map → delete + burn. Data integrity verified.
April 7 ✓

Track D: Blind Rotation R&D

DevNet only — 4-6 weeks, parallel

Phase 1: Program Design
Design shardkeep_rotation Anchor program. SwapInstruction/SwapEvent schemas.
Week 1-3
Phase 2: Swap Handler
Implement rotation instruction. cNFT ownership verification via Bubblegum.
Week 3-5
Phase 3: P2P Transfer
Node-side WebSocket listener for swap events. Peer-to-peer blob transfer protocol.
Week 5-7
Phase 4: Integration Test
Extension → program → events → nodes → cNFT update. Full blind rotation on DevNet.
Week 7-10

Track D does not block Track A. If successful, replaces server-coordinated rotation with fully on-chain blind swaps.

4. Beyond Track A — Feature Horizon

FeatureDependencyProposalHorizon
On-chain Node Registry & Bond Staking Track A complete Network Architecture v1 Q3 2026
Reward Distribution (Merkle proofs) Node Registry Network Architecture v1 Q3 2026
Subscription Tiers On-Chain (PDA) Track A complete Trust Anchor v3 Q3 2026
Tokenomics & Token Launch Node Registry + Rewards Tokenomics v3.1 Q3-Q4 2026
Estate Planning (Dead Man's Switch) On-chain subscriptions Network Architecture v1 Q4 2026
Auth-as-a-Service On-chain subscriptions Revenue Streams v1 2027
Dark Web Monitoring (Harbinger) Guardian tier subscribers Revenue Streams v1 2027
Governance (SPL Realms) Token launch Network Architecture v1 2027+

5. Architecture Snapshot

Directory layout (post-rebrand)

/var/www/shared/shardkeep/
├── index.php                  # Splash page
├── proposals/                 # This directory
├── assets/                    # Splash CSS/JS/images
├── operator/                  # Network admin dashboard
│   ├── includes/              # bootstrap.php, ShardKeepDB, ShardService, Shamir, EpochEngine
│   ├── api/                   # heartbeat, shards, node-control, solana bridge, version-check
│   ├── wss/                   # shard-ws.py (WebSocket challenge server)
│   ├── sentry-agent/          # sentry.py + install.sh
│   ├── templates/             # header, nav, footer
│   ├── migrations/            # SQL + test scripts
│   └── *.php                  # dashboard, nodes, epochs, shards, staking, wallets
└── user/                      # Vault user dashboard
    ├── includes/              # auth.php
    ├── templates/             # header, footer
    └── *.php                  # vault overview, sentry status, settings

/var/www/shared/shardkeep-extension/   # Browser extension (v0.9.0)
/var/lib/shardkeep/                     # Runtime state (wss-status.json, wss-notify)

Node type mapping

RoleNameBondUptimeHardware
Network backbone, challenge coordinatorsWarden$50099.5%+Dedicated VPS / bare metal
Shard storage & servingBastion$10095%+Raspberry Pi, VPS, NAS
Lightweight participationSentry$10Best-effortDesktop / laptop (browser extension)

6. Track A — Implementation Summary

Track A complete on DevNet. The core operator blindness pipeline is built and verified. ShardKeep can now store secrets where the server provably cannot see shard locations after cNFT mint.

What was built (April 6-7, 2026)

ComponentFile(s)What it does
Solana Bridge cNFT solana-bridge.js 4 new commands: create-tree, mint-shard-map, read-shard-map, burn-shard-map
DAS API Integration solana-bridge.js Helius DAS resolves real Solana asset IDs after mint (base58 addresses)
ShardService cNFT ShardService.php mintShardMap(), buildShardMap(), runBridge(). Purges node_id after on-chain confirmation.
Shard Map Retrieval ShardService.php retrieveSecret() resolves node locations from shadow table when node_id is purged
cNFT Burn on Delete ShardService.php deleteEntry() burns cNFT on-chain — confirmed via DAS burnt: true
Shard Map API api/shards.php New get-shard-map action — returns encrypted map + cNFT reference for extension
Extension Storage storage.js Tier 2: real shardStore(), shardRetrieve(), shardGetMap(), shardDelete()
WSS NULL Handling shard-ws.py 3 queries updated: node_id IS NOT NULL filter for delivery, delete, verify loops
Schema Migrations 003, 004, 005 Node type rename, table rename (7 tables), cNFT columns + shadow table + nullable node_id

E2E test results (April 7)

OperationOn-ChainDatabaseResult
Store cNFT minted, real asset ID via Helius DAS 5 shards distributed, node_id purged, shadow table populated PASS
Retrieve Read-only (free) Shard map resolved from shadow table, shards fetched from Bastions PASS
Data Integrity Shamir reconstruction: input = output byte-for-byte PASS
Delete cNFT burned, DAS confirms burnt: true burned_at set, shards marked deleted, retrieval fails correctly PASS

What's next

ShardKeep Roadmap · Updated April 7, 2026
References: On-Chain Shard Map v2, Network Architecture v1, Tokenomics v3.1, Revenue Streams v1