name: midnight description: Use when working on anything Midnight Network — its ZK/privacy model, NIGHT/DUST tokens, Compact contracts, the @midnight-ntwrk SDKs, networks, or building/signing/submitting unshielded (NIGHT) transactions.
Midnight Network
Midnight is a data-protection blockchain — the first Cardano partner chain (IOG-incubated). It uses zero-knowledge proofs for selective-disclosure private smart contracts. Built on Polkadot SDK / Substrate with AURA + GRANDPA consensus — NOT Ouroboros, NOT a Cardano L2.
This skill is a reference. It carries facts verified against official docs, the midnightntwrk GitHub org, the SDK source, and the Midnight Discord (team-confirmed, mined 2026-06-08).
When to use
- Explaining Midnight (ZK model, partner-chain, consensus, roadmap phases)
- NIGHT vs DUST questions (tokenomics, fees, DUST generation/decay)
- Compact language, proof server, indexer, Lace wallet, the
@midnight-ntwrk/*SDKs - Building / signing / submitting unshielded (NIGHT) transactions
Navigation
| You need… | Read |
|---|---|
| Concept, tokens (NIGHT/DUST), networks, distribution | concepts.md |
| SDKs, Compact, proof server, tx build→sign→submit flow, dev gotchas | developing.md |
Don't read both blindly — pick by task. The tables below answer the most common questions inline.
Quick reference
NIGHT vs DUST — deliberate opposites, keep distinct:
| NIGHT | DUST | |
|---|---|---|
| Role | public utility + governance, network security | fee/gas resource |
| Visibility | unshielded / public | shielded / private |
| Supply | fixed 24,000,000,000 | regenerating, per-UTXO |
| Transferable | yes (public) | no — non-transferable |
| Origin | held asset | generated by holding NIGHT, decays if unused |
- DUST capacity ratio: 5 DUST per NIGHT, ~7-day time-to-capacity (team-confirmed: 1000 tNIGHT → 5000 DUST over 7 days from 0). Mainnet cNIGHT generation takes ≤12h to start after pairing.
- DUST is non-transferable, only pays fees, decays — not a store of value. Private payments require first minting a shielded token.
Unshielded transaction signing (load-bearing — agents get this wrong):
- Scheme: BIP-340 (Schnorr). NOT sr25519/ed25519.
- Per-segment payload: canonical
intent.signatureData(segmentId), hex 0x-prefixed. - Signer roles (complete set):
NightExternal(unshielded transfers) andZswap(shielded). Rule: intent with a guaranteed/fallible unshielded offer →NightExternal; elseZswap. New HD role index 4 = ECDSA for NIGHT. - Submission: SCALE-encode the unproven tx, then wrap in a Substrate extrinsic calling
midnight.sendMnTransaction(Vec<u8>)— NOT a directauthor_submitExtrinsicon raw tx bytes. - Unshielded path uses NO proof server / no ZK (only shielded tokens + contract circuits do).
Networks (mid-2026): Preview / Preprod / Mainnet (Testnet-02 retired Feb 2026). Mainnet genesis 2026-03-30, currently Kūkolu federated phase. RPC wss://rpc.<env>.midnight.network; indexer https://indexer.<env>.midnight.network/api/v4/graphql (+/ws).
Package/org gotcha: repos under github.com/midnightntwrk (no hyphen); npm scope @midnight-ntwrk/* (hyphen).
Confidence & freshness
Facts are tagged in the reference files: team-confirmed > likely > speculative. Roadmap dates beyond Kūkolu (Mōhalu/Hua, permissionless validation) are soft — Discord/community guesses, not committed. Version pins drift fast; re-check docs.midnight.network/relnotes and the live dev-updates channel before relying on a specific component version.