Bid Lifecycle
Buying a contract is the bid issuance action.
Sequence
- Buyer calls
POST /api/arbitration/contracts/buywith:witness_proofencrypted_witness_secretwitness_zkp
- Contract is created in
issuedstate. - Seller explicitly accepts via
POST /api/arbitration/contracts/{id}/accept. - Accept response carries
witness_secret_encrypted_for_seller. - Seller decrypts that value locally and calls
POST /api/witness/replaceto rotate custody to a fresh seller-held secret. - Contract proceeds with deliver/settlement transitions.
Fraud resistance
- Seller cannot claim acceptance never happened: acceptance is signed and stored.
- Seller cannot truthfully claim ownership without witness replacement evidence.
- Buyer cannot fake contract custody without valid current witness secret.