> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x402r.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Delivery Protection

> Automated quality verification for every transaction.

In the delivery protection model, the arbiter evaluates every transaction. The arbiter or a satisfied payer can capture funds. If the arbiter issues a FAIL verdict, it can trigger an immediate refund without waiting for escrow expiry. If nobody acts, funds return to the payer once escrow expires.

This differs from the [marketplace model](/sdk/overview) where the merchant releases funds and the arbiter only gets involved when a payer files a dispute.

| | Marketplace | Delivery Protection |
| - | - | - |
| Who releases funds | Merchant (after escrow) | Arbiter or payer |
| Refund during escrow | Receiver or arbiter | Escrow expiry, receiver, or arbiter |
| Dispute process | Payer files refund request | No disputes needed |
| Arbiter involvement | Only on disputes | Every transaction |
| Contracts deployed | \~8 (Operator, EscrowPeriod, RefundRequest, Evidence, Freeze, etc.) | 6 (Operator, EscrowPeriod, SAC, 2x OrCondition, HookCombinator) |
| Deploy preset | `deployMarketplaceOperator()` | `deployDeliveryProtectionOperator()` |

Use this when every response needs programmatic quality checks: AI content verification, garbage detection, schema validation.

<CardGroup cols={2}>
  <Card title="Merchant Setup" icon="store" href="/sdk/delivery-merchant">
    Deploy the operator and configure forwardToArbiter().
  </Card>

  <Card title="Arbiter Setup" icon="shield-check" href="/sdk/delivery-arbiter">
    Build the service that evaluates responses and releases funds.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.