Skip to content
Permissionless Web

Generated — do not edit. Source: /Users/returniflost/abstract/svg-mint/docs/vocs/pages/architecture.mdx. Change the crate/repo, then rebuild this site.

Architecture

Permissionless SVG mint is a desk: a holder pays ZEC or native THIOL, DREGG entitles, CosmWasm mints an SVG NFT on Terp morocco-1. HashMerchant never buys the NFT. The house Zcash stack never answers the browser.

Actors

ActorDoesMust not be
HolderKeplr terp1 or passkey-bound deviceAdmin
DREGG (svg-mint-fed)Checkout, watch, entitle, mintFeegrant granter, deposit UA
HashMerchant onboardOne-time MsgAddAuthenticator feegrant after paid cMinter
svg-mint-zrtHouse ZEC seed, note ledger, recover policyPublic zec.rocks. This build does not scan or broadcast.
ztreamerCompactTxStreamer (GetLightdInfo.vendor = Ztreamer)ECC lightwalletd
ZakuraZcash full node, loopback RPCBrowser JSON-RPC
AdminADR-036 recover to the donation UADeposit wallet

Runtime graph

Loading diagram...

Trust waist

  • A note is this checkout when its address is the diversified UA, or its memo is the payment id. Empty memos still count when the address matches.
  • Unmined is receipt. The page says "Payment received. Minting after the next block." The mint runs only after that note is mined.
  • Unpaid checkouts show a countdown (pending_ttl_secs, default 10 minutes). The clock stops once the note is seen. It does not reset on refresh.
  • The desk shows one sentence per step. It does not dump /health JSON at the holder.
  • ZIP-321 memo is a blinded Pedersen commitment (memo_hex starts 6431), never a terp1.
  • checkout_ready is the Pay gate. /v1/prices ok is not Pay.
  • House ZEC tip may hide zec_uri without closing native THIOL.
  • Compact server is house ztreamer on loopback. Never zec.rocks. Never zcash.rotko.net.
  • Recover is a fresh ADR-036 over amount + donation UA + challenge. A login signature cannot spend.

Source trees

Workspace: ~/abstract/svg-mint (this documentation, the dregg library, svg-mint-fed, svg-mint-zrt). terp-core/crates/dregg/svg-mint is a leftover snapshot.

Pinned runtimes (git submodules of the product crate, see Runtimes):

  • Zakura — zakura-core/zakura tag v1.6.0
  • ztreamer — house CompactTxStreamer (vendor Ztreamer)