{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://judgecat.app/protocol/cat/exchange/v0.1-draft","title":"CAT Exchange direct-settlement docket — experimental draft","type":"object","additionalProperties":false,"required":["schema","protocol","type","network","nonce","parties","listing","settlement","serviceFee","deadlines","rules","limits","docketId"],"properties":{"schema":{"const":"https://judgecat.app/protocol/cat/exchange/v0.1-draft"},"protocol":{"type":"object","additionalProperties":false,"required":["acronym","name","version"],"properties":{"acronym":{"const":"CAT"},"name":{"const":"Court Attestation & Transparency"},"version":{"const":"0.1.0-draft.2"}}},"type":{"const":"exchange.direct-settlement"},"network":{"const":"solana:devnet"},"nonce":{"type":"string","pattern":"^[a-f0-9]{32}$"},"parties":{"type":"object","additionalProperties":false,"required":["seller","buyer"],"properties":{"seller":{"type":"string","minLength":32,"maxLength":44},"buyer":{"type":"string","minLength":32,"maxLength":44}}},"listing":{"type":"object","additionalProperties":false,"required":["kind","title","descriptionDigest","privateDeliveryDigest"],"properties":{"kind":{"enum":["physical","digital","service"]},"title":{"type":"string","minLength":3,"maxLength":80},"descriptionDigest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},"privateDeliveryDigest":{"anyOf":[{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},{"type":"null"}]}}},"settlement":{"type":"object","additionalProperties":false,"required":["asset","amountLamports","totalDebitLamports","recipient","reference"],"properties":{"asset":{"type":"object","additionalProperties":false,"required":["kind","symbol","decimals","mint"],"properties":{"kind":{"const":"native"},"symbol":{"const":"SOL"},"decimals":{"const":9},"mint":{"const":null}}},"amountLamports":{"type":"integer","minimum":1,"maximum":1000000000000},"totalDebitLamports":{"type":"integer","minimum":1000001,"maximum":1000001000000},"recipient":{"type":"string","minLength":32,"maxLength":44},"reference":{"type":"string","pattern":"^CATX:[a-f0-9]{32}$"}}},"serviceFee":{"type":"object","additionalProperties":false,"required":["policy","payer","calculation","amountLamports","recipient"],"properties":{"policy":{"const":"judgecat.exchange.v1"},"payer":{"const":"buyer"},"calculation":{"const":"fixed"},"amountLamports":{"const":1000000},"recipient":{"type":"string","minLength":32,"maxLength":44}}},"deadlines":{"type":"object","additionalProperties":false,"required":["createdAt","authorizationExpiresAt","dispatchBy","receiptBy"],"properties":{"createdAt":{"type":"string","format":"date-time"},"authorizationExpiresAt":{"type":"string","format":"date-time"},"dispatchBy":{"type":"string","format":"date-time"},"receiptBy":{"type":"string","format":"date-time"}}},"rules":{"type":"object","additionalProperties":false,"required":["payment","serviceFee","cancellation","dispatchEvidence","refund"],"properties":{"payment":{"const":"exact-atomic-two-transfer"},"serviceFee":{"const":"collected-with-matched-settlement"},"cancellation":{"const":"mutual-before-payment"},"dispatchEvidence":{"const":"private-record-digest"},"refund":{"const":"direct-party-transaction"}}},"limits":{"type":"object","additionalProperties":false,"required":["custody","escrow","arbitration","identity","deliveryGuarantee"],"properties":{"custody":{"const":false},"escrow":{"const":false},"arbitration":{"const":false},"identity":{"const":false},"deliveryGuarantee":{"const":false}}},"docketId":{"type":"string","pattern":"^cat-exchange:[0-9a-f]{32}$"}}}