Additional Context

Actors

Party A · Party B (swap counterparties) · Smart Derivatives Contract (SDC; ERC-6123) · Payment Token (ERC-20, to become confidential) · Valuation Oracle · Registrar/Compliance Operator · Regulator/Auditor · Keeper/Scheduler

Problems

Problem 1: Confidential Derivatives Trading with Daily Settlement

Visible daily cashflows and buffer levels expose risk appetites and strategies, creating opportunities for adversarial pricing and front-running. Institutions need confidential margin, deltas, and trade parameters while maintaining automation and regulatory auditability.

Requirements:

  • Must hide: internal SDC balances (margin), margin requirements, settlement amounts, payment amounts, daily valuation updates, optional ICMA XML trade data
  • Public OK: counterparty identities, contract existence
  • Regulator access: keyed per-deal view or threshold decryption for full audit trail
  • Settlement: daily cadence; atomic, single-tx margin transfers; unwind on default
  • Ops: chain finality in minutes acceptable; sustainable L2 cost; integrate with existing tech stacks

Constraints:

  • Must fit existing regulatory/KYC frameworks
  • Preserve ERC-6123 semantics (capped-deal behavior)
  • Production timeline: 1–2 years
  • Prevent side-channel leaks (gas, calldata, mempool)

Recommended Approaches

See detailed solution architecture and trade-offs in Approach: Private Derivatives.

Open Questions

  • Trust model for valuation oracle under privacy
  • How to prove min-margin privately
  • Default handling: what leaks on margin exhaustion or liveness failure
  • Which selective disclosure primitive fits best (view keys vs threshold decryption vs DV proofs)
  • Storage for ICMA XML (off-chain + hash vs encrypted blob on-chain)

Notes And Links

  • Standards: ERC-6123, ERC-7573 (optional), confidential token patterns
  • Related use cases: Private Bonds — key difference is daily cadence and oracle dependency
  • Diff vs Private Bonds: bonds = static, slow cadence; derivatives = dynamic, daily, oracle-driven