Platform fee
The platform takes a fixed percentage of the sale price, set per instance via `MARKETPLACE_PLATFORM_FEE_BPS`. The rate is embedded in the on-chain Datum at lock time — you see exactly what you're paying before you sign.
A governance-first explainer. Every trust claim below is reducible to a specific piece of on-chain or open-source code.
Five states. No hidden transitions.
You chose a template. The server built an unsigned Lock transaction. Nothing is on chain yet.
Your wallet signed and submitted the Lock tx. Your ADA is now at the script address. The server has no control over it.
You spawned a workspace from the template. It seeds the documents, diagrams, and GTT nodes declared in the manifest.
As you bring GTT capabilities to `active`, the platform tracks progress. When every required slug is green, you can trigger Release.
Release: you + platform co-sign, seller is paid, platform takes its fee. Refund: after the deadline, you sign alone and reclaim every lovelace.
The full validator source ships in the repo at `contracts/validators/escrow.ak`. It is tiny and deliberately readable. Key facts:
Both conditions must hold on-chain for a Release tx to spend the lock UTxO:
The validator allows the platform to co-sign, but the platform itself imposes four guards before producing a signature. These live in `src/lib/cardano/escrow/platform-signer.ts` and are visible in the repo:
The refund path is unilateral — buyer-only. The platform cannot block, delay, or intermediate it.
If this platform vanishes tomorrow, every locked purchase can still be reclaimed by its buyer after the deadline. That's a property of the validator, not of the platform.
Templates are whitelisted exports of a workspace — every collection is filtered against a collection-sharp allow-schema, and a pattern verifier blocks PII leaks before publish. No allow-list, no publish.
The platform takes a fixed percentage of the sale price, set per instance via `MARKETPLACE_PLATFORM_FEE_BPS`. The rate is embedded in the on-chain Datum at lock time — you see exactly what you're paying before you sign.
The platform holds an Ed25519 key whose public key hash is embedded in every lock Datum. This key is held in an operator-managed secret store. It can only co-sign a Release — it cannot refund, cannot withdraw, cannot modify the Datum.
Release requires the buyer's signature. The platform cannot pay itself without your consent. Refund requires the deadline. The platform cannot delay your refund past that. These are not policies — they are on-chain invariants.