Relief operations / Live

Good evening, Amina.

Zero-knowledge session
TODAY'S MISSION

Aid that proves where it went.
Not who received it.

0 identities exposedAcross 3,424 verified claims
Unique households
3,424
100%duplicate claims blocked
Proof success rate
99.2%
2.4smedian proof time
Privacy surface
Zero PII
Protectedby Compact circuits
ACTIVE POOLS

Relief campaigns

LIVE LEDGER

Recent proofs

live
9f2a…c81eCyclone recovery$10.0018 sec ago
4bd7…19acDrought food security$10.001 min ago
a083…be42Flood recovery$10.004 min ago
RECIPIENT EXPERIENCE

Prove eligibility. Keep your dignity.

A 40-second guided flow turns a private aid credential into a verified, one-time claim—without revealing name, income, location, or family status.

PUBLIC IMPACT, PRIVATE LIVES

Accountability should reveal systems.
Not vulnerable people.

Nocturne replaces recipient spreadsheets with cryptographic evidence. Every payout is countable, every duplicate is rejected, and every private fact stays off-chain.

Verified households3,424across 3 active regions
Coastal Odisha1,842
Northern Kenya982
Central Luzon600

Counts are public. Recipient-to-region links are not.

TRADITIONAL AID DATABASENOCTURNE
Recipient identityStored centrallyNever collected
Eligibility detailsVisible to staffProven locally
Duplicate preventionCross-database matchCampaign nullifier
Donor evidencePDF reportsOn-chain receipts
PRIVACY LENS

See exactly what each participant sees.

VIEW AS · RECIPIENT

Your credential stays with you.

Name, household data, location and vulnerability score are processed locally and never uploaded.

VISIBLEPrivate credentialClaim statusPersonal receipt
HIDDEN— Other recipients— Operator identity map
THE MIDNIGHT ADVANTAGE

Private computation.
Public confidence.

Compact turns Nocturne's eligibility rules into zero-knowledge circuits. Midnight verifies the proof and updates campaign state without learning the credential behind it.

01 · LOCAL DEVICEPrivate credentialIdentity · region · vulnerability score
02 · COMPACT CIRCUITPolicy verificationEligibility · expiry · unique nullifier
03 · MIDNIGHT LEDGERAuditable receiptCampaign · amount · one-time nullifier
nocturne.compact privacy checked
export circuit claimAid(campaignId: Bytes<32>): [] 
  const sk = credentialSecret();
  const commitment = eligibleCommitment(sk);

  assert(eligible.member(commitment),
    "credential not eligible");

  const nullifier = campaignNullifier(
    sk, campaignId
  );
  assert(!claimed.member(nullifier),
    "duplicate claim");

  claimed.insert(disclose(nullifier));
  claimCount.increment(1);
Compact 0.23 privacy-first contractCampaign nullifiers stop double claimsSelective disclosure requires consentPreProd ready Lace connector included