Skip to main content

Contract model

The sole active Move package is contract/ and uses the dolphinpay address.

  • asset_registry: AdminCap controls the platform Coin allowlist. Pausing a Coin prevents new purchases and renewals, but existing escrow can still be refunded or settled.
  • merchant: a MerchantCap controls the merchant and its enabled Coin to receiving-address mapping.
  • catalog: a Product stores Coin type, amount, refund window, revision and metadata. A Plan adds a fixed service period. Term changes increment revision.
  • order: a merchant creates an optional payer-bound order and snapshots the Product revision, Coin, amount, refund rule, receiver and external reference.
  • payment: Payment<T> accepts only the exact Coin<T>. A zero refund window transfers immediately; otherwise funds remain in bounded escrow.
  • subscription: each signed purchase or renewal creates a Payment and an immutable service segment. There is no automatic debit, vault or keeper.
  • events: emits asset, catalog, order, payment and subscription changes.

Authorization remains capability-based, and payment/settlement routing is validated on chain.