Magicblock
Repository viewer
Legacy docs parity surface
Back to repository viewer
Repository document

MagicBlock Operator Flow

magicblock/operator-flow.md

Boundary

This route preserves legacy markdown access inside the Next.js surface. The raw repository file remains authoritative.

Open raw file

<!-- SPDX-License-Identifier: AGPL-3.0-or-later -->

MagicBlock Operator Flow

This is the canonical operator sequence for a PrivateDAO confidential token payout that uses MagicBlock.

CLI path

  • Configure the confidential payout plan:
npm run configure:confidential-payout -- \
  --dao "$DAO_PDA" \
  --proposal "$PROPOSAL_PDA" \
  --payout-type bonus \
  --asset-type token \
  --settlement-recipient "$SETTLEMENT_WALLET" \
  --payout-total 250000000 \
  --payout-mint "$TOKEN_MINT" \
  --recipient-count 2 \
  --manifest-uri "box://privatedao/payroll/bonus-epoch-1" \
  --manifest-hash "$MANIFEST_HASH" \
  --ciphertext-hash "$CIPHERTEXT_HASH"
  • Configure the MagicBlock corridor:
npm run configure:magicblock -- \
  --dao "$DAO_PDA" \
  --proposal "$PROPOSAL_PDA" \
  --owner-wallet "$OWNER_WALLET" \
  --payout-mint "$TOKEN_MINT" \
  --deposit-amount 250000000 \
  --private-transfer-amount 250000000 \
  --withdrawal-amount 250000000
  • Run the MagicBlock payment route:
npm run magicblock:payments -- initialize-mint --mint "$TOKEN_MINT"
npm run magicblock:payments -- deposit --owner "$OWNER_WALLET" --mint "$TOKEN_MINT" --amount 250000000
npm run magicblock:payments -- transfer --from "$OWNER_WALLET" --to "$SETTLEMENT_WALLET" --mint "$TOKEN_MINT" --amount 250000000 --visibility private --to-balance ephemeral
npm run magicblock:payments -- withdraw --owner "$SETTLEMENT_WALLET" --mint "$TOKEN_MINT" --amount 250000000
  • Settle the corridor on-chain from the DAO authority wallet:
npm run settle:magicblock -- \
  --dao "$DAO_PDA" \
  --proposal "$PROPOSAL_PDA" \
  --validator "$VALIDATOR_PUBKEY" \
  --transfer-queue "$TRANSFER_QUEUE_PUBKEY" \
  --deposit-tx-signature "$DEPOSIT_SIG" \
  --transfer-tx-signature "$TRANSFER_SIG" \
  --withdraw-tx-signature "$WITHDRAW_SIG"
  • Finalize and execute:
yarn finalize -- --proposal "$PROPOSAL_PDA"
yarn execute -- --proposal "$PROPOSAL_PDA"

Frontend path

The live frontend now exposes the same lifecycle:

  • create the confidential token payout
  • bind the MagicBlock corridor
  • inspect corridor readiness in the selected proposal
  • run the MagicBlock corridor in wallet
  • execute only after corridor settlement is visible on-chain

Guardrails

  • MagicBlock only activates for confidential token payouts
  • the corridor is proposal-bound
  • the settlement wallet must match the payout plan settlement recipient
  • execution is rejected until DAO-authority settlement evidence is present
  • the PrivateDAO program records and gates on MagicBlock evidence; it does not re-verify MagicBlock transaction contents cryptographically on-chain
  • backend read infrastructure stays read-only