Back to blog
PrivacyMAY 2026

Yield payouts
can't be public.

Every coupon payment on a public ledger is permanently indexed — readable by competitors, counterparties, and anyone with an RPC node. PRISM uses Cloak's shielded batch disbursement so LP payouts stay confidential while remaining fully auditable via viewing keys.

The problem

A public ledger is a terrible place for payouts.

Solana is a public blockchain. Every instruction, every account mutation, every token transfer is permanently recorded and indexed within seconds. That permanence is a feature — it is the source of PRISM's transparency and auditability.

It is also a problem for institutional LPs. Credit fund managers do not publish their yield. They do not disclose how much capital they have deployed in which risk layer. They do not want their competitors to know their payout schedule, their tranche allocation, or their return profile.

  • Every yield payment is permanently indexed and readable by anyone.
  • Competitors can infer a fund's position size from payout amounts.
  • Counterparties can deduce LP exposure in specific tranches.
  • Institutional credit desks face regulatory constraints on public financial disclosures.
  • No institutional LP will reveal their payout structure to the entire internet.

Without a solution to this, PRISM's LP market is limited to participants who have no privacy requirements. That is a small and uninteresting subset of the institutional credit world.

The exposure

What a tranche waterfall looks like on a public ledger.

After accrue_yield distributes yield across Prime, Core, and Alpha tranches, every LP's claim is on-chain. Anyone can read it.

  • Prime LPs receive 2.1% annualized — publicly readable.
  • Core LPs receive 5.4% — amount and identity permanently on-chain.
  • Alpha LPs receive 11.2% — risk appetite exposed to all observers.
  • Yield epoch timestamps reveal when each investor is active.

In traditional finance, yield distributions happen inside prime brokerage systems — invisible to outside observers. In on-chain credit without Cloak, the equivalent data is permanently public on an indexed ledger. The disclosure risk alone is enough for institutional credit desks to decline participation.

This is the gap that Cloak closes.

Cloak

Shielded batch disbursements for every LP.

Cloak is a privacy protocol on Solana that provides shielded batch disbursement — a primitive that fans one transaction out to many recipients with hidden individual amounts. Each recipient gets a viewing key that lets them verify and decrypt their own payout. No one else can.

Cloak's batch disbursement primitive is structurally identical to a tranche waterfall payout. One vault, many recipients, individual amounts that should stay private. The fit is not approximate — it is exact.

  • Shielded batch disbursements fan one transaction out to many recipients.
  • Individual payout amounts are hidden from all outside observers.
  • Each LP receives a viewing key — the only path to their own amount.
  • The batch receipt is committed on-chain: public confirmation, private amounts.
  • Live on Solana mainnet — not a prototype, not a promise.

The batch receipt is committed on-chain. The world knows that a disbursement happened, when it happened, and that the Cloak oracle attested to its validity. What the world cannot read is how much each LP received. That detail lives only in each LP's viewing key.

The flow

From accrue_yield to shielded payout.

PRISM's Cloak integration mirrors the Encrypt FHE pattern exactly — the shielding happens via the Cloak SDK, and the on-chain program records a signed attestation of the batch disbursement result.

01

Accrue Yield On-Chain

The standard PRISM waterfall runs on Solana. Yield flows top-down: Prime to Core to Alpha. At this point, amounts exist in on-chain account state — still public.

02

Shield via Cloak SDK

The frontend calls Cloak's batch disbursement API. Cloak fans the yield amounts out to each LP address in a shielded transaction. Individual amounts are hidden from the ledger.

03

Oracle Attestation

Cloak's oracle returns a 73-byte signed attestation: vault key, sha256 batch ID, and a confirmation byte. Each LP also receives a per-tranche viewing key.

04

On-Chain Record

PRISM submits a two-instruction transaction: the Ed25519 precompile verifies the Cloak oracle signature, then record_cloak_payout creates a CloakPayoutRecord PDA with status = Shielded.

The result: Solana has a verifiable record that yield was shielded and confirmed by the Cloak oracle. The LP has a viewing key that decrypts their exact payout amount. Everyone else sees a commitment hash and a confirmation bit.

On-chain verification

The 73-byte attestation.

Cloak's oracle produces a 73-byte signed attestation after a batch disbursement completes — the same length as PRISM's Encrypt attestation, by design. The message encodes the vault key, a sha256 commitment of the Cloak batch receipt, and a single confirmation byte.

73-byte attestation layout
0 – 78 bytesb"clk_atts"Fixed prefix
8 – 3932 bytesvault_key: [u8; 32]PRISM vault pubkey
40 – 7132 bytesbatch_id: [u8; 32]sha256(Cloak batch receipt)
721 byteresult: 0x01Batch shielded and confirmed

The transaction structure mirrors Encrypt exactly: ix[0] is Solana's native Ed25519 precompile, which validates the Cloak oracle signature at the runtime level. ix[1] is record_cloak_payout, which reads the precompile result through the instructions sysvar, checks the batch ID commitment, and creates a CloakPayoutRecord PDA with status Shielded.

Transaction structure
ix[0]Ed25519 precompileVerify Cloak oracle signature
ix[1]record_cloak_payoutRead result via instructions sysvar
Cloak vs Encrypt

Same plumbing. Different jobs.

Both Cloak and Encrypt use the same Ed25519-via-sysvar pattern. Both produce 73-byte attestations. Both verify signatures through the native precompile. But they answer completely different questions.

Encrypt

Answers "is this loan in default?" — attests a boolean FHE comparison on sealed credit data. The borrower's repayment numbers never appear on-chain.

Cloak

Answers "were LP payouts executed confidentially?" — attests a batch shielded disbursement to multiple recipients, hiding individual amounts behind viewing keys.

Together they close the two disclosure problems in on-chain institutional credit: Encrypt protects borrower data at the default event, Cloak protects LP data at the yield event. Neither is optional for an institutional credit market.

What changes

A yield market institutions can actually join.

Without Cloak
  • Every LP payout amount is permanently public on Solana.
  • Competitors read tranche allocation and infer LP strategy.
  • Institutional credit desks refuse to participate — disclosure risk is unacceptable.
  • The yield market is limited to actors with no privacy requirements.
With Cloak
  • Payout amounts are hidden from all outside observers.
  • Each LP audits their own amount via a viewing key — no one else can.
  • The on-chain record is a commitment hash — public confirmation, zero amount disclosure.
  • Institutional LPs can participate without exposing their credit book.

The waterfall logic is unchanged. Prime still gets paid first. Alpha still absorbs losses first. What changes is who can see the amounts flowing through that waterfall — and the answer, with Cloak, is: only the LP whose funds they are.

Why it matters

Privacy is what makes institutional yield possible.

PRISM's credit market is designed for institutions — capital allocators who measure positions in tens of millions, who have compliance teams, who operate in markets where revealing your book is a competitive and regulatory liability.

A public tranche payout is not just inconvenient for these participants. It is disqualifying. No credit fund manager will accept a structure where their yield schedule, their tranche allocation, and their return profile are permanently indexed on a public ledger for their LPs, competitors, and regulators to read without consent.

Cloak does not add privacy as a feature on top of PRISM. It removes the single largest barrier to institutional LP participation. The waterfall already worked. The math was already correct. The tranches were already liquid. What was missing was the ability to move money through that waterfall without every amount becoming permanently public.

That is what Cloak provides. And that is why it was never optional.