Confidential Creator Support
Solana devnet Printed 3 October 2026 · figures as read that day Release v0.2.0

The lead story is printed from the chain

350 people support The Marrow Dispatch this period.

How much each of them gave is printed nowhere — not on this page, not in the index, not on an explorer.

The first five of 350 on the creator's public list. Wallets and dates are public on chain; the amounts are ciphertext.
SupporterSinceUntilAmount
Aqp9…dcDh15 Sep 202614 Nov 2026
38pS…Dby515 Sep 202610 Oct 2027
92iK…UHmV15 Sep 202613 Jan 2027
6NqB…BdCx15 Sep 202614 Nov 2026
2fXq…ebJ315 Sep 202614 Dec 2026

The fact is public.

A creator's page counts the people who support them this period, and the count can be rebuilt from chain state without the platform. The program — not the index — writes a pledge only when a confidential transfer from the supporter to the creator is in the same transaction.

The amount is sealed.

Every contribution is a Token-2022 confidential transfer. The amount exists only as ciphertext, readable by the supporter, the creator and the holder of the audit key. There is no amount field in the program, the database or the api.

Support recurs, on your terms.

One payment covers 1 to 12 periods of 30 days; the expiry date is shown before you sign. Renewing before the date extends from it, so you never drop out of the count. After expiry there are 3 days of grace. Nothing renews by itself.

  1. Connect a wallet. One signature derives your confidential keys; they never leave the tab.

  2. Contribute. The app builds the transactions; your wallet only signs — once for a repeat contribution.

  3. The program checks the transfer. A pledge without a confidential transfer to the creator in the same transaction is refused.

  4. The creator decrypts in the browser. The server holds one key, and it only pays for proofs.

Eight budgets, eight measurements.

CriterionBudgetMeasured
No amount recoverable from the transaction, logs or either token account100 %152/152 (demo) + 6/6 (probes)
Page counter matches the chain after a confirmation≤ 30 s1.8 s max (index); the page polls every 10 s
Repeat contribution: click → confirmed≤ 60 s p95, ≤ 2 wallet confirmations12.0 s p95 alone (33.6 s under load), 1 confirmation
First contribution, with wallet preparation≤ 3 min, ≤ 6 confirmations18.9 s in the browser, 3 confirmations
Creator's cabinet decrypts every contribution128 in ≤ 20 s420 in 8.9 s, first amount in 0.4 s
128 supporters raised by script≤ 30 min20.0 min
A lapsed supporter leaves the count after period + grace≤ 1 hAt the read itself: one second before expiry + grace active, at it not
Renewal before expiry: reads showing “inactive”00 of 16, through the hosted api; new expiry = old + 30 days, indexed in 1.2 s

Sources: fixtures/demo-run.json, measure.json and renewal.json in the repository; measured 15 September – 2 October 2026. Nobody waited 33 days on devnet: the end of a period is shown on substituted time in the index and on a warped clock in the program tests.

Not printed on this page, because it is not true

  • It does not hide who supports. A supporter's wallet is visible on chain by design; anonymity is a different product.

    It does not hide amounts from the audit key. Its holder can read every amount; in the demo that is the operator, keeping the key offline.

  • No selective disclosure and no auditor's tool yet — that is the next release.

    No withdrawal yet: a creator's funds stay in the confidential balance.

    No reminders outside the app — no email.

  • No stablecoin. The token is a demo mint, SUPD, on devnet. No fiat, no KYC.

    The demo does not prove fee economics on mainnet or throughput at thousands of supporters.

Can anyone see that I support a creator?

Yes. Your wallet and the dates are public; only the amount is sealed.

Who can read my amount?

You, the creator and the holder of the audit key. Not the platform's server.

Does it charge me again by itself?

No. You renew yourself, up to 12 periods at once.

What if the platform goes away?

Every counter can be rebuilt from chain state. The server key only pays for proofs and cannot move tokens.