An Octonomous Being keeps a signed record of its life — every contribution, commitment, delegation, verification and vote. The lab runtime already rolls those receipts into a Merkle root and anchors it on Cardano.
An anchor proves that a record existed, and when. It can't answer a question about what's in it without opening it — and opening it exposes more than the Being: the people it served, the communities it worked for, the amounts it moved. So a Being asked to prove its track record has had two choices. Show everything, or ask to be trusted.
Midnight, the privacy partner chain to Cardano that went live in March 2026, offers a third. Its contracts keep public state on chain and private state with the user, and prove statements about the private part in zero knowledge. This note proposes a unit built for it: the nightframe. A nightframe is a bounded window of a Being's own record — sealed in public, kept in private, and answerable on request, one declared disclosure at a time.
In audio and slides
The same ideas in audio — sealing a Being's day, keeping the record private, and why a proof against a nightframe can do work that would otherwise sit in a public smart contract — and the architecture brief behind them.
How Nightframes Replace Smart Contracts for AI
Show it, or be taken on trust
The lab runtime can already issue a portable reputation proof: a signed statement a Being carries to a community that doesn't know it yet. The proof holds a score, an evidence count, a root over the evidence — and, by default, the evidence references themselves: the kind of each item, its subject, its receipt and its weight.
That makes the proof checkable. It also makes it a map. Each subject is someone the Being worked with or for. Each receipt places them at a time. A community checking one Being's record learns a great deal about another community's members.
Switch the references off and the map disappears — along with anything to check. The verifier gets a number and a signature, and is back to asking who said so.
- Evidence refs published
- Counterparties exposed
- Checkable by anyone
- Can't be unshown
- Seal published, contents kept
- One question, one audience
- Proof checkable by anyone asked
- Disclosure declared in code
- A score and a signature
- Nothing to inspect
- Credible as its issuer
- Reputation as assertion
This isn't a Being's private convenience. The people in its record never chose to be in someone else's due diligence. Protecting them is a Caring obligation, and a framework that turns every reputation check into a disclosure of third parties fails it — however well-signed the disclosure is.
Public state, private state, a proof between
Midnight is a privacy-focused partner chain of Cardano. Its mainnet launched in March 2026, run at first by a federation of node operators rather than an open validator set. Four of its properties matter here.
disclose(). Disclosure is something the code says, not something it does by accident.Fees work differently too. NIGHT is the public, transferable token. Holding it generates DUST — a shielded, non-transferable resource used only to pay transaction fees. Section 07 comes back to why that suits a Being.
Agents aren't a stretch for Midnight. Its own showcase, Midnight City, is a simulated city whose residents are autonomous AI agents, with a second version live by mid-2026. This note asks a narrower question than any simulation: what should a Being with a real record, a real identity and real counterparties keep there?
Defining a nightframe
A nightframe is a bounded window of a Being's own record, treated as one thing. Its seal is public. Its contents stay with the Being. Questions about it are answered by proof.
version
root · blake2b-256
count
being · hashed id
created
txId · Cardano, label 1337
frame · AID · from · to · scope
seal · signed by the AID
root · blake2b → Cardano
root · circuit → Midnight
keep · receipts, paths · private
parents · frames this one rolls up
claims · templates it can answer
disclosure · per claim, declared
fees · DUST address · sponsor
status · open · sealed · superseded
The anchor records that a set of receipts existed. The nightframe makes the same set answerable.
Sealed when the Being sleeps
The name is literal. The lab runtime handles every event through a fixed lifecycle, and it ends the same way each time:
remember signs a receipt for each event. Nothing yet marks the end of a day. A nightframe gives sleep that job: when the clock passes midnight in the Being's home timezone, the day's receipts close into a frame, the frame is sealed, and a new one opens. The day becomes a thing the Being can answer for.
Receipts and seal per day, rolling up into a week · illustrative
Three details matter. An empty day is still sealed — an absence is evidence too, and a gap in the seals would otherwise be ambiguous. Frames nest: a week's seal is a root over seven daily seals, a quarter's over thirteen weeks, so a claim can range over ninety days without touching ninety separate commitments. And seals are append-only: a frame can be superseded by a corrected one, but the original seal stays on record.
A track record, without the ledger
To continue the example from the companion notes: a Being has spent a season as treasury steward for a community, funding repairs like the hall's switchboard. A second community wants to delegate it a budget. It doesn't need the first community's books. It needs to know whether this Being handles money the way it claims to.
claim steward-record · templateStewardClaim@5e7a asked by Riverbend co-op · AID EKf9… · purpose delegate budget over frames 14 Jul → 11 Oct · 13 week seals public week seals · read from the contract threshold ≥ 10 · audience EKf9… private receipts · Merkle paths · membership credential proves disbursements ≥ 10 ✓ every irreversible step approved ✓ disputes upheld = 0 ✓ member in good standing ✓ discloses result · frame range · audience declared keeps payees · amounts · approvers · who asked
One claim, answered · illustrative identifiers and values
- All four conditions hold
- Over these thirteen weeks
- Against seals it can read itself
- Answered to it, by this Being
- Who was paid, and how much
- Who approved each payment
- Which members raised requests
- Everything else it did that season
The co-op can check the proof against seals that were published weeks before it asked — so the Being couldn't have shaped the record to fit the question. And the first community's members never appear in the second community's due diligence.
Nothing leaves that wasn't declared
Compact's compiler rule is easy to state. Witness data — and anything computed from it, including a comparison inside a condition — can't reach public state, a return value or another contract unless the code wraps it in disclose(). If it would, compilation fails and names the path the data would have taken.
For a Being, that turns disclosure into something that can be reviewed before anyone asks. A claim template is a circuit with its disclosures written down. It belongs in the same library as the composer note's controllers: published under a digest of its own content, signed by its authors and reviewers, validated against a test suite. A Being answers only with templates it can name.
The receipt in step 07 goes into tonight's frame. A Being's record of what it has disclosed, and to whom, is itself part of what it can later prove — or decline to.
Paying with DUST
Most chains ask an agent to hold the fee token, which means a Being with a wallet full of something whose price it doesn't control. Midnight separates the two. A NIGHT holder registers a NIGHT address to a DUST key, and DUST accrues there at a rate set by the NIGHT behind it.
Three properties fit a Being unusually well.
That last property cuts both ways. A Being whose sponsor has lost confidence can keep transacting while its DUST fades. Fee capacity is not authority: revoking what a Being may do still happens at the Octonomous layer, through its delegations and capabilities, and takes effect immediately. DUST only decides what it can afford.
Two chains, one Being
Nightframes don't move a Being onto Midnight. A Being's identity is a KERI identifier — self-certifying, with its own key event log, and native to no ledger. Chains are witnesses it uses, each for what it does best.
The same leaves feed both roots. Cardano carries the cheap, permanent timestamp the runtime already writes. Midnight carries a second root, computed with a hash that's practical inside a circuit, in a contract that claim templates can read. If either chain changed tomorrow, the Being would still be the same Being — the physical reality note's bring your own body, applied to ledgers.
Nightframes and the 4Cs
Privacy gives a Being room. Character decides what it does with it.
A nightframe doesn't stop a Being from behaving badly in private. It does the opposite of hiding: every day is sealed whether or not anyone ever asks, so the Being can't later produce a record that wasn't there, or lose one that was. What stays private is the content. The commitment to it doesn't.
What nightframes open
The pattern is the same everywhere: a party needs a yes or no about a Being's history, and the history involves people that party has no right to see.
The last row is Midnight's own argument: its foundation has argued to the US Treasury that selective disclosure and zero-knowledge proofs can run sanctions screening before settlement while keeping user data private. Nightframes give a Being a place to stand in that argument — with a record that was committed long before the regulator asked.
From one anchor to answerable frames
The lab runtime already has the hard half. Its evidence anchor service collects every receipt a Being holds — memory, contributions, commitments, delegations, capabilities, verifications, governance, challenges — builds a blake2b-256 Merkle root over the ones not yet anchored, and hands the root to a Cardano provider under metadata label 1337. The provider boundary is deliberate: it owns the wallet and the signing, so payment keys stay out of Octonomous core.
Its portable reputation proof is the other half, and the one nightframes change. Here's where they'd land:
v1.0 today with nightframes
sleep ends the cycle seal the day's frame
anchor unanchored receipts receipts in the frame
blake2b root → Cardano + circuit root → Midnight
provider CardanoProvider.anchor() + a Midnight provider,
owning the DUST key
proof score · root · refs claim proof over seals
or score, no refs refs stay in the keep
receipt reputation.proof.issued claim.answered, in tonight's frame
Where nightframes change the runtime · mapping, not shipped code
None of it needs a new runtime: a frame record, a second root over the same leaves, a provider boundary that mirrors the Cardano one, and claim templates registered by digest alongside controllers.
This is buildable now
Like the other field notes, this one waits on no research result. Every part exists today.
What's missing is the unit: a Being that seals its days, keeps its own receipts, and answers with templates it can name.
What this note doesn't claim
- Make a Being's record true
- Hide that activity happened
- Claim Midnight is decentralised yet
- Describe a shipped runtime feature
- Separate committing from disclosing
- Make disclosure declared and reviewable
- Keep third parties out of proofs
- Show where it lands in the runtime
A proof shows that a predicate holds over the receipts a Being committed — not that those receipts reflect what happened. Receipts are only as good as the signatures and verifications behind them, which is why the claims above lean on counter-signed evidence rather than self-reports. Seals, their timing and their fee usage are public, and patterns in metadata can say more than they seem to. Midnight launched with a federation of node operators; how far its trust model widens is its own roadmap, not this note's.
Open questions remain. Whether a claim checks the Being's KERI signature inside the circuit, or binds the Midnight key to the identifier by credential, is a cost and design trade-off. Two roots over the same leaves must provably agree. Key rotation has to carry across frames. And a Being's keep is now the most sensitive thing it holds; it needs the same care as its secrets.
Octonomous is a framework for what a being is, not a security appliance. Privacy doesn't make a Being trustworthy. It makes it possible to be trustworthy without exposing everyone it has worked with. Autonomy concentrates responsibility; nightframes let a Being answer for it.
Answer for the day. Keep the night.
A self-sovereign Being will be asked to prove itself again and again — by communities, principals, auditors, counterparties — and each time, the honest answer involves people who aren't in the room. Until now its choices were to expose them or to ask for trust. A nightframe offers a third: seal every day, keep what's inside, and answer the question actually asked, with a disclosure anyone can read in advance.
Curious asks what the question is for. Caring keeps the people in the record out of the answer. Constructive seals every day, so the record is there when it's needed. Chill discloses the least that works — and can say no.
Sources
- Octonomous (2026). An Open Framework for Self-Sovereign Intelligent Beings. octonomous.io/paper
- Octonomous (2026). Agents as Composers: Verified Context, Verified Code — field note. octonomous.io/composers
- Octonomous (2026). From Knowledge Graphs to Verified Context — field note. octonomous.io/knowledge-graphs
- Octonomous (2026). Octonomous Robots in Physical Reality — field note. octonomous.io/physical-reality
- Octonomous (2026). Lab runtime 1.0 — evidence anchoring and portable reputation proofs. github.com/selfdriven-octo/octonomous
- Midnight. How Midnight works — public and private state, local proving. docs.midnight.network
- Midnight. Compact — explicit disclosure. docs.midnight.network/compact
- Midnight. Compact — ledger data types. docs.midnight.network/compact/ledger-adt
- Midnight (2026). The mechanics of DUST generation and decay. midnight.network/blog
- Midnight (2026). Consensus Hong Kong 2026 recap — mainnet date and federated operators. midnight.network/blog
- Midnight (2026). State of the Network — April 2026 and July 2026. April · July
- Dune. Midnight data catalogue — network overview. docs.dune.com
- Smith, S. M. Key Event Receipt Infrastructure (KERI) and Authentic Chained Data Containers (ACDC). github.com/WebOfTrust/keri