Agreement surface

Signed deal terms

The seller signature is the contract's proof that the seller accepted the buyer, roles, assets, amounts, clocks and commitments used to open the deal.

Material fields

GroupSigned contentIntegration question
Partiesbuyer, seller, verifier, arbitratorAre they the intended execution wallets and role contract?
Valuetoken, amount, bond, challengerBondDo token units, allowance and worst-case allocation match the agreement?
Clocksduration, challengeWindow, rulingWindow, openByCan every party act and retrieve evidence before expiry?
CommitmentstermsHash plus four individual identity referencesCan every signer reproduce the exact preimage?
Replay and metadatasalt, metaEvidenceURI, chain, verifying contract and domain versionIs the signature unique and bound to the intended deployment?

Signing flow

  1. Resolve the intended chain, escrow address and signing-domain version.
  2. Build the exact SellerAcceptance struct and validate numeric units, duration, windows and openBy.
  3. For the current schema-validity verifier, RFC-8785-canonicalize the acceptance-criteria JSON and set termsHash to its SHA-256 digest.
  4. Set verifier and arbitrator explicitly; never substitute them after the signature.
  5. Set a unique salt and the agreed metaEvidenceURI.
  6. Show the seller a human-readable summary derived from the exact typed data.
  7. Collect the seller EIP-712 signature, recover it locally and compare every field with the transaction arguments.
  8. Open the deal once. A consumed or expired acceptance requires a new signing session.
  9. An unused acceptance can be revoked on-chain by the seller before a buyer consumes it.

Canonicalization rule

The escrow treats termsHash as opaque bytes. Integrators therefore need one versioned, byte-for-byte canonicalization rule outside the contract. Persist the original document, canonical bytes, algorithm identifier and digest together. A digest without a reproducible preimage cannot support later verification.

Seller review checklist

Negotiation stays off-chainThe contract proves acceptance of encoded terms; it does not provide offer negotiation, document hosting or a commercial reasonableness check.