clearddocs
cleard.ai ↗
Core concepts Purchase commitment
Markdown ↗

Core concepts

Purchase commitment

The record that connects an exact purchase to its terms and refund path.

Bind the terms before payment#

The intended protocol uses an immutable, versioned commitment accepted before payment. The current JSON is a schema example only; its signature is null and verification_status is unsigned_fixture.

Field reference#

FieldMeaning in the fixture
purchase_id / order_idExact purchase and merchant order references.
merchant_idFictional enrolled merchant. Not a verified identity.
amount_units / asset_decimals100 integer DEMO units with zero decimals. Do not use floating-point money.
asset / networkDEMO and simulation-only. No live token or chain.
payment_destinationDestination for the original payment.
refund_beneficiaryExplicit recipient of a refund, fixed in the terms.
collection_sourceEnrolled source allowed to fund the refund.
policy_version / maximum_refund_unitsAccepted policy version and cumulative purchase cap.
claim_window_seconds604800 seconds, starting at confirmed settlement.
delivery_due_seconds_after_settlement86400 seconds after confirmed settlement.
covered_failure / evidence_rulesCovered reason and evidence that the decision authority evaluates.
decision_authorityReviewer permitted by the accepted policy.
partial_collection_allowedWhether available funds may pay part of the award.
offer_expires_at / nonceIllustrative acceptance deadline and replay-prevention material.
guaranteeNull. No explicit funded guarantee.

Complete example#

purchase.json · unsigned fixture
{
  "schema_version": "0.1.0",
  "mode": "simulation",
  "purchase_id": "DEMO-1087",
  "merchant_id": "demo-atlas-api",
  "order_id": "export-1087",
  "asset": "DEMO",
  "network": "simulation-only",
  "amount_units": 100,
  "asset_decimals": 0,
  "payment_destination": "demo-merchant-001",
  "refund_beneficiary": "demo-buyer-001",
  "collection_source": "demo-reserve-001",
  "policy_version": "demo-v1",
  "maximum_refund_units": 100,
  "claim_window_seconds": 604800,
  "claim_window_starts_at": "confirmed_settlement",
  "delivery_due_seconds_after_settlement": 86400,
  "covered_failure": "export_not_delivered_by_deadline",
  "evidence_rules": [
    "fictional_service_receipt",
    "fictional_independent_delivery_log"
  ],
  "decision_authority": "demo-reviewer",
  "partial_collection_allowed": true,
  "guarantee": null,
  "offer_expires_at": "2026-10-31T00:00:00Z",
  "nonce": "fictional-1087",
  "signature": null,
  "verification_status": "unsigned_fixture"
}

What a verifier must establish#

  • Authentic merchant enrollment and signing/configuration authority.
  • The exact policy, purchase, amount, asset/network, beneficiary and collection-source binding.
  • Attributable acceptance before expiry and unambiguous subsequent settlement.
  • Historical policy/key versions, cumulative limits and replay protection.

These are requirements for a future implementation, not checks performed by the static example. The simulator also does not enforce the illustrative offer expiry against the wall clock.

Download the JSON Schema or raw example. Schema conformance alone cannot establish authenticity, funding or enforceability.

Cleard · Commercial relationships for open commerce.Preview / Purchase commitment

Searches these docs locally. Use Tab to choose a result.