API Workflow
- Register identity:
POST /api/identity(paid; sendX-Webcash-Secretor handle402). - Publish listing:
POST /api/timelinewith mandatoryterms.md+ descriptor attachment. - Buy contract:
POST /api/arbitration/contracts/buywithwitness_proof,encrypted_witness_secret,witness_zkp. - Seller accepts:
POST /api/arbitration/contracts/{id}/accept. Response includeswitness_secret_encrypted_for_seller. - Seller decrypts that secret locally, then calls
POST /api/witness/replace(old secret -> fresh seller secret). - Seller delivers:
POST /api/arbitration/contracts/{id}/deliverwith seller-held witness secret. - Buyer pickup:
POST /api/arbitration/contracts/{id}/pickup(paid; first pickup includes 3% fee).
Ownership handoff is seller-side after accept. Buyer does not execute the replace call in this flow.